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);}
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();
}
}