Informe o seu Peso:
80
Informe a sua Altura:
1.76
[color=red]Exception in thread "main"[/color] [color=blue]java.util.InputMismatchException[/color]
[color=red]at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at Execucao.main[/color][color=blue](Execucao.java:19) [/color]
public class Imc {
double massa;
double altura;
public Imc(){
}
public Imc(double pMassa, double pAltura){
setMassa(pMassa);
setAltura(pAltura);
}
public void setMassa(double massa){
this.massa = massa;
}
public void setAltura(double altura){
this.altura = altura;
}
public double getMassa(){
return massa;
}
public double getAltura(){
return altura;
}
public double getIMC(){
return (massa/(altura*altura));
}
}
importjava.util.Scanner;publicclassExecucao{/** * @param args */publicstaticvoidmain(String[]args){// TODO Auto-generated method stubScannersc=newScanner(System.in);ImcobjImc=newImc();System.out.println("Informe o seu Peso: ");objImc.setMassa(sc.nextDouble());System.out.println("Informe a sua Altura: ");objImc.setAltura(sc.nextDouble());System.out.println("Seu IMC é: "+objImc.getIMC());}}
Informe o seu Peso:
80
Informe a sua Altura:
1.76
[color=red]Exception in thread "main"[/color] [color=blue]java.util.InputMismatchException[/color]
[color=red]at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at Execucao.main[/color][color=blue](Execucao.java:19) [/color]
public class Imc {
double massa;
double altura;
public Imc(){
}
public Imc(double pMassa, double pAltura){
setMassa(pMassa);
setAltura(pAltura);
}
public void setMassa(double massa){
this.massa = massa;
}
public void setAltura(double altura){
this.altura = altura;
}
public double getMassa(){
return massa;
}
public double getAltura(){
return altura;
}
public double getIMC(){
return (massa/(altura*altura));
}
}
importjava.util.Scanner;publicclassExecucao{/** * @param args */publicstaticvoidmain(String[]args){// TODO Auto-generated method stubScannersc=newScanner(System.in);ImcobjImc=newImc();System.out.println("Informe o seu Peso: ");objImc.setMassa(sc.nextDouble());System.out.println("Informe a sua Altura: ");objImc.setAltura(sc.nextDouble());System.out.println("Seu IMC é: "+objImc.getIMC());}}
Por que com certeza na hora de informar o peso e á altura vc esta utilizando ("." ponto), ao invés de ("," virgula).
altura = 1,75
peso = 74,6
Não utilize ponto.
evertonsilvagomesjav
rs agora q eu vi que vc postou la em cima o peso e a altura, no peso vc colocou ponto mesmo, coloque virgula.
BinhoAraujo
era isso msm =)
so mais uma coisinha, como posso reduzir o resultado?
no caso de 25.826446280991735 para 25.82?
Muito Obrigado!
evertonsilvagomesjav
BinhoAraujo:
era isso msm =)
so mais uma coisinha, como posso reduzir o resultado?
no caso de 25.826446280991735 para 25.82?
Muito Obrigado!
ai vc pode usar um objeto DecimalFormat, por exemplo:
DecimalFormatformatador=newDecimalFormat("#.##");// aqui vc especifica que vao haver duas casas decimais.doubleresultado=objImc.getIMC();StringresultadoFormatado=formatador.format(resultado);// o método format retorna uma String e o parametro do método recebe um double.System.out.println(resultadoFormatado);// imprime o resultado com duas casas depois da virgula.
BinhoAraujo
Nao entendi direito nao!
evertonsilvagomesjav
BinhoAraujo:
Nao entendi direito nao!
Seu codigo vai ficar assim:
publicstaticvoidmain(String[]args){// TODO Auto-generated method stub DecimalFormatf=newDecimalFormat("#.##");// duas cadas depois da virgula.Scannersc=newScanner(System.in);ImcobjImc=newImc();System.out.println("Informe o seu Peso: ");objImc.setMassa(sc.nextDouble());System.out.println("Informe a sua Altura: ");objImc.setAltura(sc.nextDouble());doubleresultado=objImc.getIMC();// resultado recebe o valorStringresultadoFormatado=f.format(resultado);// formata resultado onde ira ficar no formatado (25.00 ou 2.72) duas casas depois da virgula e retorna uma string System.out.println(resultadoFormatado);// aqui exibi seu resultado formatado com duas casas depois da virgula.}