I'm doing a program that calculates BMI, using methods without return. Program in question:
package pct;
import java.util.Scanner;
public class Ex02Metodos {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
String sexo;
double altura, peso, valorIMC = 0;
System.out.println("Digite sua altura:");
altura = teclado.nextDouble();
System.out.println("Digite seu peso");
peso = teclado.nextDouble();
teclado.nextLine();
System.out.println("\n\nDigite seu sexo:");
sexo = teclado.nextLine();
calcularimc(altura,peso,valorIMC,sexo);
}
public static void calcularimc(double altura, double peso, double valorIMC, String sexo){
valorIMC = peso / (altura * altura);
if(sexo == "mulher"){
if(valorIMC < 19.1){
System.out.println("Abaixo do peso");
}
else if(valorIMC == 19.1 & valorIMC <= 25.8 ){
System.out.println("Peso normal");
}
else if(valorIMC == 25.8 & valorIMC <= 27.3){
System.out.println("Marginalmente acima do peso");
}
else if(valorIMC == 27.3 & valorIMC <= 31.1){
System.out.println("Acima do peso ideal");
}
else if(valorIMC > 31.1){
System.out.println("Obeso");
}
}
else if(sexo =="homem"){
if(valorIMC < 20.7){
System.out.println("Abaixo do peso");
}
else if(valorIMC == 20.7 & valorIMC <=26.4){
System.out.println("Peso normal");
}
else if(valorIMC == 26.4 & valorIMC <= 27.8){
System.out.println("Marginalmente acima do peso");
}
else if(valorIMC == 27.8 & valorIMC <= 32.3){
System.out.println("Acima do peso ideal");
}
else if(valorIMC > 32.3){
System.out.println("Obeso");
}
}
}
}
At runtime, the method is not running, it terminates.