Bom eu já entendi a teoria de exceptions, mas ainda nao sei direito como usar.
Fiz um pequeno exercicio de BMI,
e tentei adicionar exceptioons mas nao deu muito certo
O programa seria:
public class BMI {public static void main(String [] args){ Scanner input = new Scanner(System.in); String nome; double idade; double peso; double altura; System.out.print("Nome: "); nome = input.next(); System.out.print("Idade: "); idade = input.nextDouble(); System.out.print("Peso (kg): "); peso = input.nextDouble(); System.out.print("Altura (cm): "); altura = input.nextDouble(); Pessoa humano; humano = new Pessoa(nome, idade, peso, altura); System.out.println("Nome: " + humano.getN() + " Idade:" + humano.getA() + " Peso (kg): " + humano.getPes() + " Altura (m): " + humano.getAlt()); System.out.println("BMI: " + humano.conta()); } }</blockquote>A classe Pessoa é:
<blockquote>class Pessoa { protected String n; protected double a; protected double pes; protected double alt;public Pessoa(String nome, double idade, double peso, double altura){ this.n = nome; this.a = idade; this.alt = altura / 100; this.pes = peso; } public String getN(){ return n; } public double getA(){ return a; } public double getPes(){ return pes; } public double getAlt(){ return alt; } double conta(){ double bmi = this.pes/(Math.pow((this.alt),2)); return bmi; }}
tentei adicionar exception da seguinte maneira
<blockquote>System.out.print("Peso: ");
try{
peso = input.nextDouble();
}
catch(java.util.InputMismatchException Ex){
System.out.println(“Invalido, tente novamente”);
peso = input.nextDouble();
}</blockquote>
mas de alguma forma nao funciona…
e outra pergunta, se quiser adicionar ainda o sexo da pessoa no exemplo, como faria para no resultado, se adicionar o nome da pessoa variar entre senh (se for homem) senhora (se for mulher)
exemplo
"Sexo (h/m): "
algum jeito mais simples q um switch/case
brigado
TintinST