[RESOLVIDO] Calcular IMC - Problema Lógico

Hei gente, por favor, não sei se estou inventando demais ou é problema de lógica mesmo,
Alguém pode me ajudar a desenrolar este nó?

import java.util.Scanner;
public class Exe233 {
float peso;
float altura;
Scanner entradas = new Scanner(System.in);
public static void main(String[] arg) {
Exe233 tela = new Exe233();
tela.MontaTela();

Exe233 dados = new Exe233();
dados.Pegadados();

Exe233 conta = new Exe233();
conta.CalculaIMC(peso, altura);
}

public void Pegadados() {
System.out.println("Entre com o peso (em quilogramas): ");
peso = entradas.nextFloat();

  System.out.println("Entre com a altura (em centímetros): ");
  altura = entradas.nextFloat();

}

public void CalculaIMC(float qpeso, float qaltura) {
float imc = qpeso / (qaltura * 2);
}

public static void MontaTela() {
System.out.println(“VALORES DE IMC”);
System.out.println(“Abaixo do peso: menor que: 18,5”);
System.out.println(“Normal: entre: 18.5 e 24.9”);
System.out.println(“Excesso de peso: entre: 25 e 29.9”);
System.out.println(“Obeso: 30 ou mais.”);
}
}

Isso compila? Porque pelo que me parece não faz muito sentido.

Eu faria assim, mas não sei se é da forma que você precisa.

import java.util.Scanner;
public class Exe233
{
public static void main(String[] args)
{
MontaTela();

Scanner entradas = new Scanner(System.in);
System.out.println(“Entre com o peso (em quilogramas):”);
double peso = entradas.nextDouble();

System.out.println("Entre com a altura (em centímetros): ");
double altura = entradas.nextDouble();

System.out.println(CalculaIMC(peso,altura));

}

public static double CalculaIMC(double qpeso, double qaltura)
{
double imc = qpeso / (qaltura * 2);
return imc;
}

public static void MontaTela()
{
System.out.println(“VALORES DE IMC”);
System.out.println(“Abaixo do peso:menor que: 18,5”);
System.out.println(“Normal:entre: 18.5 e 24.9”);
System.out.println(“Excesso de peso:entre: 25 e 29.9”);
System.out.println(“Obeso:30 ou mais.\n”);
}
}

Assim também:

import java.util.Scanner;
public class Exe233 {
private static float peso;
private static float altura;
Scanner entradas = new Scanner(System.in);
public static void main(String[] arg) {
Exe233 tela = new Exe233();
tela.MontaTela();

Exe233 dados = new Exe233();
dados.Pegadados();

Exe233 conta = new Exe233();
conta.CalculaIMC(peso, altura);
}
public void Pegadados() {
System.out.println("Entre com o peso (em quilogramas): ");
peso = entradas.nextFloat();

System.out.println("Entre com a altura (em centímetros): ");
altura = entradas.nextFloat();
}

public static void CalculaIMC(float qpeso, float qaltura) {
float imc = qpeso / (qaltura * 2);
System.out.println(imc);
}

public static void MontaTela()
{
System.out.println(“VALORES DE IMC”);
System.out.println(“Abaixo do peso:menor que: 18,5”);
System.out.println(“Normal:entre: 18.5 e 24.9”);
System.out.println(“Excesso de peso:entre: 25 e 29.9”);
System.out.println(“Obeso:30 ou mais.\n”);
}
}

Hei Giovane, bom dia.
Super obrigado pela ajuda.

Eu ainda não entendo bem esses métodos e o que fez foi super fácil pra entender.

Cara, te devo uma. Obrigado mesmo. Fica com Deus.