Duvida sobre Double

5 respostas
D

Estou iniciando em java e gostaria de tirar um duvida em relação ao Double, uso o netbeans e quando digito o valor do produto para testar o programa sempre da erro nao importa se digito com . ou ,
Segue o erro logo abaixo
{
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:840)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextInt(Scanner.java:2091)
at java.util.Scanner.nextInt(Scanner.java:2050)
at lista3.Main.main(Main.java:75)
Java Result: 1
}

System.out.println("Digite a quantidade de mercadorias que possui na loja");
                  int qtdMerca = sc.nextInt();
                  int qtdEstoque = 0;
                  double mediaProduto = 0;
                  for(int i = 1; i<=qtdMerca; i++)
                  {
                      System.out.println("Digite a quantidade  em estoque do " + i+"º produto");
                        int estoque = sc.nextInt();
                        qtdEstoque = qtdEstoque + estoque;
                        System.out.println("Digite o valor do " + i+"º produto ");
                        double valorProduto = sc.nextInt();
                        mediaProduto = mediaProduto + valorProduto;
                  }
                      mediaProduto = mediaProduto / qtdEstoque;

                      System.out.println("Voce tem "+ qtdEstoque + " produto em estoque com media de valor igual R$" +mediaProduto);

5 Respostas

novato25

Ao digitar o valor do produto, utilize ponto ao invés de vírgula para separar as casas decimais.

D

Eu ja fiz issu e msm assim continua dando esse erro pode ser . ou , que ele da o msm problema

novato25

ahh, sim… e substitua a linha 11 por:

double valorProduto = sc.nextDouble();
novato25

e utilize a vírgula mesmo.

D

Achei o erro o certo é : double valorProduto = sc.nextDouble(); e não double valorProduto = sc.nextInt();
Vlw

case 3:
                  System.out.println("Digite a quantidade de mercadorias que possui na loja");
                  int qtdMerca = sc.nextInt();
                  int qtdEstoque = 0;
                  double mediaProduto = 0;
                  for(int i = 1; i<=qtdMerca; i++)
                  {
                      System.out.println("Digite a quantidade  em estoque do " + i+"º produto");
                        int estoque = sc.nextInt();
                        qtdEstoque = qtdEstoque + estoque;
                        System.out.println("Digite o valor do " + i+"º produto ");
                        double valorProduto = sc.nextDouble();
                        mediaProduto = mediaProduto + valorProduto;
                  }
                      mediaProduto = mediaProduto / qtdEstoque;

                      System.out.println("Voce tem "+ qtdEstoque + " produto em estoque com media de valor igual R$" +mediaProduto);

                  break;
Criado 11 de março de 2013
Ultima resposta 11 de mar. de 2013
Respostas 5
Participantes 2