-1
At the time of data entry, I realized that when I put the product name and enter, there is always a loose line, the next question does not come on time, only after another enter. However, when I name the product, give space and then enter, the next instruction comes on time. Because this happens?
public static void main(String[] args) {
int count = 0, qtd, precoInferior = 0, qtdProdutoEntre = 0, qtdProSuperior = 0;
Scanner In = new Scanner(System.in);
System.out.println("Digite a quantidade de produtos: ");
qtd = In.nextInt();
In.nextLine();
float preco[] = new float[qtd];
float somaDosPro = 0, mediaDosPro;
String nome[] = new String[qtd];
String nomeProdutoEntre[] = new String[qtd];
for(int i = 0; i < qtd; i++)
{
System.out.printf("\nDigite o nome do %d° produto:\n", (count + 1));
nome[count] = In.nextLine();
System.out.printf("Digite o preço do %d° produto:\n", (count + 1));
preco[count] = In.nextFloat();
In.nextLine();
if(preco[count] < 40)
{precoInferior++;}
if(preco[count] >= 40 && preco[count] <= 100)
{
nomeProdutoEntre[qtdProdutoEntre] = nome[count];
qtdProdutoEntre++;
}
if(preco[count] > 100)
{
qtdProSuperior++;
somaDosPro = preco[count] + somaDosPro;
}
count++;
}
System.out.printf("\na) Há %d produto(s) com preço inferior a 40,00 R$.", precoInferior);
System.out.println("\nb) Produto(s) com preço entre 40,00 R$ e 100,00 R$: ");
if(qtdProdutoEntre == 0)
{System.out.println("Inexistentes.");}
else{
for(int j = 0; j < qtdProdutoEntre; j++)
{ System.out.println(nomeProdutoEntre[j]);
}
}
mediaDosPro = somaDosPro/qtdProSuperior;
if(qtdProSuperior == 0)
{
System.out.println("c)Não há produtos com preço superior a 100,00 R$.");
}
else
{
System.out.printf("c)Média: %.2f R$.", mediaDosPro);
}
In.close();
}
}
It is one of the properties of nextLine, try instead of using nextLine to use next()
– hinoago