Valore della variabile restituito incorretto

di il
3 risposte

Valore della variabile restituito incorretto

Ciao a tutti,
come ho gia spiegato in qualche post precedente sono nuovissimo del mondo della programmazione e spero mi scusiate se faccio domande "stupide".
Sto seguendo in maniera parallela due modalitá di studio di java differenti: con una utilizzo il notepad e con l'altra NetBeans. In quest' utlima ho trovo dei problemi gia nei primi passi. Mi si chiede di disegnare un programma che chieda un numero all'utente e che poi lo mostri...
Bene, il codice da me scritto è questo :
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package prova;

import java.io.IOException;

/**
 *
 * @author Mio
 */
public class Prova {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {
        int num;
        System.out.println("Scrivi un numero");
        num = System.in.read();
        System.out.println("Il numero è" + num);
    }
}
Il fatto è che quando inserisco un numero mi viene restituito un valore differente:
se inserisco 1 mi ridà 29; se inserisco 2 ottengo 50; e via di seguito.

Sono sicuro che sia una enorme stupidaggine solo che non riesco a vederla...
Scusate il disturbo e grazie anticipatamente.

3 Risposte

  • Re: Valore della variabile restituito incorretto

    Ok ho trovato la soluzione:

    il sistema System.in.read() restituisce il valore Unicode del primo byte del numero inserito. Per questo se inserisco 1 mi dice che "Il numero inserito è 49", e questo succede anche se inserisco il numero 1234 poichè legge solo la prima cifra.

  • Re: Valore della variabile restituito incorretto

    Puoi usare una scanner
    
    import java.util.Scanner;
    
    public class Prova {
    
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) throws IOException {
    Scanner scanner= new Scanner(System.in);        
    int num;
            System.out.println("Scrivi un numero");
            int num=scanner.nextInt();
            System.out.println("Il numero è" + num);
        }
    }
    
    
    Spero di essere stato chiaro
  • Re: Valore della variabile restituito incorretto

    Mille grazieeee!!!
Devi accedere o registrarti per scrivere nel forum
3 risposte