Bom dia gujizadas…
Estava fazendo um teste por conta própria, para praticar mesmo e me deparei com um probleminha.
Com Scanner, peço para ser digitado um nome e um preço de um produto. Primeiro nome, depois produto. Depois, adiciona a uma lista de produtos.
A primeira passagem ocorre sem problemas, mas na segunda, é printado as duas mensagens, para digitar o nome do produto e o preço do produto, porém se eu digitar o nome da pau.
Alguém sabe me explicar o porque?
Segue códigos:
[code]public class ProdutosBean {
private String nome = null;
private long serie = 0;
private double preco = 0.0;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public long getSerie() {
return serie;
}
public void setSerie(long serie) {
this.serie = serie;
}
public double getPreco() {
return preco;
}
public void setPreco(double preco) {
this.preco = preco;
}
}
[/code]
[code]package Exercicios;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
public class TesteListProdutosScanner {
private List<ProdutosBean> listaProdutos = new ArrayList<ProdutosBean>();
public TesteListProdutosScanner(){
preencheLista();
imprimiListaProdutos();
}
public void preencheLista(){
Scanner scanner = new Scanner(System.in);
for(int c = 0; c < 10; c++){
ProdutosBean produtos = new ProdutosBean();
try{
System.out.println("Digite o nome do produto: ");
produtos.setNome(scanner.nextLine());
System.out.println("Digite o preço do produto: ");
produtos.setPreco(scanner.nextDouble());
produtos.setSerie(criaNumeroSerie());
listaProdutos.add(produtos);
}catch(Exception e){
System.out.println(e.getMessage());
}
}
}
public long criaNumeroSerie(){
Random rand = new Random();
long numero = rand.nextLong();
return numero;
}
public void imprimiListaProdutos(){
for(ProdutosBean produtos : listaProdutos){
System.out.println("Nome: " + produtos.getNome());
System.out.println("Serie: " + produtos.getSerie());
System.out.println("Preço R$: " + produtos.getPreco());
}
}
public static void main(String[] args) {
new TesteListProdutosScanner();
}
}
[/code]