Algorítimo não apresenta resultado no final

Bom pessoal, sou iniciante no mundo de programação, e recentemente comecei fazer um curso técnico. O professor pediu um trabalho com o tema de restaurante. Elaborei o código, de acorodo com as informações que ele passou (tentei) Porém ao chegar no final ele simplesmente não faz a somatoria e me retorna um valor “0”

Segue o código:

public class Exercicio7 {
public Exercicio7(){
String nome, entrada, principal, sobremesa, gorjeta;
double ve = 0, vp = 0, vs = 0, total = 0;
Scanner leia = new Scanner(System.in);
System.out.println(“Digite o seu nome”);
nome = leia.nextLine();
System.out.println(“Digite a entrada”);
entrada = leia.next();
{if (entrada == “salada”)
ve = 15;}
{if (entrada == “sopa”)
ve = 20;}
{if (entrada == “antipasto”)
ve = 25;}
System.out.println(“Digite o prato principal”);
principal = leia.next();
{if (principal == “peixe”)
vp = 45;}
{if (principal == “carne”)
vp = 50;}
{if (principal == “massa”)
vp = 40;}
System.out.println(“Digite a sobremesa”);
sobremesa = leia.next();
{if (sobremesa == “sorvete”)
vs = 12;}
{if (sobremesa == “pudim”)
vs = 8;}
{if (sobremesa == “rapadura”)
vs = 16;}
System.out.println(“Deseja adicionar a gorjeta?”);
gorjeta = leia.next();
{if (gorjeta == “sim”)
total = ((ve+vp+vs)*0.10);
else
total = (ve+vp+vs);
System.out.println("Sr(a): “+nome+”, a facada ficou em: "+total);}

        }
        }

não seria assim?

if(entrada.equals("salada"){
      //Faz algo
}

Obs: Quando se compara Strings é melhor usar .equals

2 curtidas

Bom, aí está! Mas vale lembrar que multiplicando tudo por 0.1 você vai estar recebendo na variavel total somente 10% do valor total. Para adicionar corretamente 10% do valor como gojeta revise a conta de porcentagem.

public class TestGUJ {
    private String nome, entrada, principal, sobremesa, gorjeta;
    private float ve, vp, vs, total;
    private Scanner scanner;

    public TestGUJ() {
        ve = 0;
        vp = 0;
        vs = 0;
        total = 0;

        scanner = new Scanner(System.in);
        System.out.print("Digite o seu nome: ");
        nome = scanner.nextLine();

        registraPratoDeEntrada();
        registraPratoPrincipal();
        registraSobremesa();
        checarAGorjeta();

        System.out.println("Sr(a). " + nome + ", a facada ficou em: " + total + " R$.");
    }

    private void registraPratoDeEntrada() {
        System.out.print("\nDigite a entrada: ");
        entrada = scanner.nextLine();

        switch (entrada) {
            case "salada":
                ve = 15;
                break;

            case "sopa":
                ve = 20;
                break;

            case "antipasto":
                ve = 25;
                break;

            default:
                System.err.println("Prato de entrada inválido!");
                registraPratoDeEntrada();
                //Caso a entrada for inválida ele chama o método denovo infinitamente até
                //uma entrada valida ser colocada.
        }
    }

    private void registraPratoPrincipal() {
        System.out.print("\nDigite o prato principal: ");
        principal = scanner.nextLine();

        switch (principal) {
            case "peixe":
                vp = 45;
                break;

            case "carne":
                vp = 50;
                break;

            case "massa":
                vp = 40;
                break;

            default:
                System.err.println("Prato principal inválido!");
                registraPratoDeEntrada();
                //Caso a entrada for inválida ele chama o método denovo infinitamente até
                //uma entrada valida ser colocada.
        }
    }

    private void registraSobremesa() {
        System.out.print("\nDigite a sobremesa: ");
        sobremesa = scanner.nextLine();

        switch (sobremesa) {
            case "sorvete":
                vs = 12;
                break;

            case "pudim":
                vs = 8;
                break;

            case "rapadura":
                vs = 16;
                break;

            default:
                System.err.println("Prato de sobremesa inválido!");
                registraPratoDeEntrada();
                //Caso a entrada for inválida ele chama o método denovo infinitamente até
                //uma entrada valida ser colocada.
        }
    }

    private void checarAGorjeta() {
        System.out.print("\nDeseja dar uma gorjeta? ");
        gorjeta = scanner.nextLine();
        if(gorjeta.equals("sim") || gorjeta.equals("Sim")) {
            total = (float) ((ve + vp + vs) * 0.1);
        } else {
            total = (float) ((ve + vp + vs) * 0.1);
        }
    }

    public static void main(String[] args) {
        new TestGUJ();
    }
}

Comprovovação:

1 curtida

Era isso mesmo!, Muito obrigado pela ajuda.

Obrigado pela sugestão Mint, acabei aproveitando algumas partes do seu código e corrigi aonde fazia a soma.

1 curtida

Hehe de nada amigo! Bons códigos.