Desenvolvi este código para calcular o volume de sólidos de revolução, porem ao executar ele não aprece os outputs e termina logo em no BUILD SUCCESSFUL.
A entrada deveria ser:
cone
2.5
3
esfera
3.1
fim
e a saida: 19.63
124.79
Segue o código:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String tipo;
double raio;
double altura;
double volume;
Scanner scanner = new Scanner(System.in);
System.out.println("Qual é o tipo de sólido?");
tipo = scanner.next();
tipo = tipo.toLowerCase();
if (tipo.equals("esfera")) {
System.out.println("Qual é o raio?");
raio = scanner.nextInt();
volume = calcularVolume(tipo, raio, 0);
System.out.println("----------");
System.out.println("Volume: " + volume);
System.out.println("----------");
} else if (tipo.equals("cilindro") || tipo.equals("cone")) {
System.out.println("Qual é o raio?");
raio = scanner.nextInt();
System.out.println("Qual é a altura?");
altura = scanner.nextInt();
volume = calcularVolume(tipo, raio, altura);
} else if (tipo.equals("fim")) {
}
}
public static double calcularVolume(String tipoDeSolido, double raio, double altura) {
double volume = 0;
tipoDeSolido = tipoDeSolido.toLowerCase();
if (tipoDeSolido.equals("esfera")) {
volume = (4 / 3) * Math.PI * Math.pow(raio, 3);
} else if (tipoDeSolido.equals("cilindro")) {
volume = Math.PI * Math.pow(raio, 2) * altura;
} else if (tipoDeSolido.equals("cone")) {
volume = (1 / 3) * Math.PI * Math.pow(raio, 2) * altura;
} else {
}
return volume;
}
}