Pretendemos criar um pequeno programa que apresenta um menu ao utilizador e leia a escolha realizada. Em consequência da mesma deve ser realizada a correspondente operação

Qual é o erro neste código?

public static void main(String[] args){
    Scanner teclado=new Scanner (System.in);
    System.out.println("Cálculos Volumétricos");

    System.out.println("================================");
    System.out.println("Introduza a opção que pretende. ");
    System.out.println("================================");
    System.out.println("Opções: ");
    System.out.println("0 - Sair");
    System.out.println("1 - Volume da Esfera");
    System.out.println("2 - Volume da Elipse");
    System.out.println("3 - Volume da Pirâmide");
    System.out.println("4 - Volume do Cilindo");
    System.out.print("Opção escolhida: ");

    int r=teclado.nextInt();
    int r1=teclado.nextInt();
    int r2=teclado.nextInt();
    int r3=teclado.nextInt();
    int h=teclado.nextInt();
    int Ab=teclado.nextInt();
    double volesfera=0;
    volesfera=(4*Math.PI*Math.pow(r,2)*r)/3;
    double volelipse=0;
    volelipse=(4*Math.PI*r1*r2*r3)/3;
    double volpirâmide=0;
    volpirâmide=(Ab*h)/3;
    double volcilindro=0;
    volcilindro=Math.PI*Math.pow(r,2)*h;

    int opcao= teclado.nextInt();

    System.out.println();
    switch ( opcao){
        case '0': System.out.println("Sair"); break;
        case '1': System.out.println(volesfera); break;
        case '2': System.out.println(volelipse); break;
        case '3': System.out.println(volpirâmide); break;
        case '4': System.out.println(volcilindro); break;
        default : System.err.println("Essa opção não é válida!");
    }
    System.out.println();
}
1 curtida

Primeiramente, eu tenho que setar os valores de r1? r2? r3? h e Ab?

Não tem?

Achei o erro, tire as ’ ’ dos numeros.

esse não pode ser o erro…continua a não calcular as fórmulas

Aqui ele nao calculava também, eu tirei, dai ele entrou no metodo, e retornou um resultado.

o resultado de um volume?

pq vc passa pra 6 variaveis a mesma entrada de teclado??

pq são utilizadas em coisas diferentes…ou não?

Sim, um valor em double.

MAs eu tirei as ’ ’ e continua sem dar…

package teste;

import java.util.Scanner;

public class Main {
public static void main(String[] args){
Scanner teclado=new Scanner (System.in);
System.out.println(“Cálculos Volumétricos”);

    System.out.println("================================");
    System.out.println("Introduza a opção que pretende. ");
    System.out.println("================================");
	System.out.println("R = :");
    int r=teclado.nextInt();
    System.out.println("R1 = :");
    int r1=teclado.nextInt();
    System.out.println("r2 = ");
    int r2=teclado.nextInt();
    System.out.println("r3 = ");
    int r3=teclado.nextInt();
    System.out.println("h = ");
    int h=teclado.nextInt();
    System.out.println("ab = ");
    int Ab=teclado.nextInt();
    System.out.println("================================");
    System.out.println("Introduza a opção que pretende. ");
    System.out.println("================================");
    System.out.println("Opções: ");
    System.out.println("0 - Sair");
    System.out.println("1 - Volume da Esfera");
    System.out.println("2 - Volume da Elipse");
    System.out.println("3 - Volume da Pirâmide");
    System.out.println("4 - Volume do Cilindo");
    System.out.print("Opção escolhida: ");
    double volesfera=0;
    volesfera=(4*Math.PI*Math.pow(r,2)*r)/3;
    double volelipse=0;
    volelipse=(4*Math.PI*r1*r2*r3)/3;
    double volpirâmide=0;
    volpirâmide=(Ab*h)/3;
    double volcilindro=0;
    volcilindro=Math.PI*Math.pow(r,2)*h;
    
    int opcao= teclado.nextInt();

    System.out.println();
    switch ( opcao){
        case 0: System.out.println("Sair"); break;
        case 1: System.out.println(volesfera); break;
        case 2: System.out.println(volelipse); break;
        case 3: System.out.println(volpirâmide); break;
        case 4: System.out.println(volcilindro); break;
        case '3': System.out.println("teste");
        default : System.err.println("Essa opção não é válida!");
    }
    System.out.println();
}

}
Tenta isso.

o q vc fez foi atribuir a opção nas 6 variáveis e não o volume q é o esperado

então é suposto substituir o quê no código?

Boa tarde colegas.

Sou iniciante, Não me crucifiquem plz. hehe.

Acho que um problema eh o fato de ter que digitar todos estes valores sempre. EU separaria todas estas formulas em classes distintas. Dai colocaria a parte do switch no Main. e cada case chamando o metodo da classe desejada. Outro conselho eh colocar todo scan dentro de um bloco Try Catch, pq o usuário é a fonte mais comum de erro né?

Se não estivesse no celular mandava um codigo editado de como eu faria.

Outra coisa, qual mensagem de erro é apresentada?

Boa sorte guys.

1 curtida

Boa resposta