I'm making an algorithm that displays the total purchase price. I enter with the product, unit price and quantity. Again I have the possibility to enter with the product and so on. When you want to display the total, simply enter enter when ordering the product. That is, I am analyzing two possibilities: 1. When the string is empty or 2. When typing = and enter enter. Both ways do not work. Let's look at the code:
import java.util.Scanner;
public class Compras {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
String nomeProduto;
float precoUnitario = 0;
int quantidadeProduto = 0;
float precoTotal = 0;
do {
System.out.println("Informe o produto");
nomeProduto = entrada.nextLine();
System.out.println("Informe o preço do " + nomeProduto);
precoUnitario = entrada.nextFloat();
System.out.println("Informe a quantidade de " + nomeProduto);
quantidadeProduto = entrada.nextInt();
//limpar buffer do teclado//
entrada.nextLine();
//multiplica quantidade com preço unitário e soma ao total.
precoTotal = +(precoUnitario * quantidadeProduto);
}
//pede os dados enquanto não digitar "="//
while (!nomeProduto.equals("="));
//ou se a string for ""
while (!nomeProduto.isEmpty());
//ao finalizar, mostra o valor total
System.out.println("O preço total é $" + precoTotal);
}
}
I do not know if the variables:
String nomeProduto;
float precoUnitario = 0;
int quantidadeProduto = 0;
must be declared inside the loop, although I tried and gave error. I think every time I enter the loop, these three variables must be restarted. Maybe that's what never gets out of the loop.