InputMismathException

di il
1 risposte

InputMismathException

Buongiorno,

Ho un problema di lettura da Scanner.
Il seguente codice lancia una InputMismatchException. Sbaglio forse il tipo dati?

import java.util.Scanner;

public class BMI {

public static void main(String[] args) {

//Prompt user
Scanner sc = new Scanner(System.in);
System.out.println("Inserisci il peso in kg (il peso deve essere un valore intero)");
int peso = sc.nextInt();
System.out.println("Insersci l'altezza in m");
double altezza = sc.nextDouble();

double h2 = altezza*altezza;
double bmi = peso/h2;

System.out.println(bmi);

if(bmi <= 15){
System.out.println("Sei sottopeso");
}else if((bmi > 15) && (bmi <= 25) ){
System.out.println("Il tuo peso è ottimo");
}else{
System.out.println("Sei sovrappeso");
}

}

}

1 Risposte

  • Re: InputMismathException

    StefanoCas ha scritto:


    Il seguente codice lancia una InputMismatchException. Sbaglio forse il tipo dati?
    Scanner per default tratta l'input di numeri (decimali) in modo "localizzato", ovvero secondo il Locale corrente. Se hai l'italiano come default e vuoi inserire con nextDouble() un numero decimale, devi mettere es. 123,45 ... non 123.45
Devi accedere o registrarti per scrivere nel forum
1 risposte