Boa noite pessoal do Forum GUJ.
Antes de nada gostaria de agradecer a comunidade por fornecer um excelente material para pessoas que estão interessadas em aprender Java. Com méritos é a maior e melhor comunidade de Java do Brasil.
Bom, pra começar estou com duvida.
É coisa bem simples creio eu.
O codigo abaixo funciona perfeitamente, só que estou com uma duvida na classe InvoiceTest, linha 31.
Eu tento usar o método nextLine() da classe Scanner, mas… o aplicativo da um erro de tempo de execução não fatal, termina e acabo não conseguindo inserir a String.
A pergunta é:
Porque não consigo usar o método nextLine() na linha 31 (class InvoiceTest)
Invoice.java
// Invoice.java
public class Invoice
{
int numero, qtdItens;
String descricao;
double preco;
public Invoice()
{
this.numero = 0;
this.qtdItens = 0;
this.preco = 0.0;
this.descricao = null;
System.out.printf("Numero do invoice: %d\nQuantidade de itens: %d\nPreco: %.2f\nDescricao: %s"
, this.numero, this.qtdItens, this.preco, this.descricao);
};//fim do construtor
//set e get numero
public void setNumero( int numero )
{
this.numero = numero;
};
public int getNumero()
{
return this.numero;
};
// set e get qtdItens
public void setQtdItens(int qtdItens)
{
this.qtdItens = qtdItens;
};
public int getQtdItens()
{
return this.qtdItens;
};
//set e get preco
public void setPreco(double preco)
{
this.preco = preco;
};
public double getPreco()
{
return this.preco;
};
//set e get descricao
public void setDescricao(String descricao)
{
this.descricao = descricao;
};
public String getDescricao()
{
return this.descricao;
};
//metodo getInvoiceAmount
public double getInvoiceAmount()
{
if(this.qtdItens < 0)
this.qtdItens = 0;
if(this.preco < 0.0)
this.preco = 0.0;
double invoiceAmount = qtdItens * preco;
return invoiceAmount;
};//fim do metodo InvoiceAmount
};// fim da classe Invoice
InvoiceTest.java
[code]//InvoiceTest.java
import java.util.Scanner;
public class InvoiceTest
{
public static void main (String args[])
{
Scanner input = new Scanner( System.in );
System.out.println("***Modelo de Invoice***");
Invoice invoice = new Invoice();
System.out.println("\n\n\n*** Invoice ***");
System.out.print("\n\nInsira o numero do Invoice: ");
int numero = input.nextInt();
invoice.setNumero( numero );
System.out.print("\nInsira o preco do produto: ");
double preco = input.nextDouble();
invoice.setPreco( preco );
System.out.print("\nInsira a quantidade: ");
int quantidade = input.nextInt();
invoice.setQtdItens( quantidade );
System.out.print("\nInsira a descricao do produto: ");
String descricao = input.next();//***AQUI***
invoice.setDescricao( descricao );
System.out.println("\n\n***Detalhes da Fatura***");
System.out.printf("Numero do invoice: %d\nQuantidade de itens: %d\nPreco: %.2f\nDescricao: %s\n\n\n"
, invoice.getNumero(), invoice.getQtdItens(), invoice.getPreco(), invoice.getDescricao() );
System.out.printf("Total da Fatura: %.2f\n\n",invoice.getInvoiceAmount() );
};// fim do metodo principal
}; // fim da classe InvoiceTest[/code]