java.util.Scanner - HELP!  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Hawk
JavaBaby

Membro desde: 29/04/2006 18:51:34
Mensagens: 91
Localização: São Paulo / SP
Offline

E aí galera...
Fiz um exercício e tá dando pau no Scanner mas apenas na segunda repetição (e talvez nas próximas) do while... alguém me ajuda please?

Valeu!!!



O erro é na execução:

Digite o nome do empregado: Luis Paiva
Digite as horas trabalhadas: 40
Digite o salario-hora: 10
Salario bruto: R$400.0
Digite o nome do empregado: Digite as horas trabalhadas: Luis
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:819)
at java.util.Scanner.next(Scanner.java:1431)
at java.util.Scanner.nextInt(Scanner.java:2040)
at java.util.Scanner.nextInt(Scanner.java:2000)
at Salarios.Salarios.main(Salarios.java:30)


----------------
Aparece os dois prompts na mesma linha e qdo digito Luis deu esse erro.
Help??
[MSN]
ASOBrasil
JavaEvangelist
[Avatar]

Membro desde: 25/06/2005 20:57:30
Mensagens: 402
Localização: São Paulo
Offline

Hawk,

Substitua o:
nomeEmpregado = input.nextLine();
por
nomeEmpregado = input.next();


Esse erro é que ele está pulando a entrada do nome na segunda vez que passa pelo loop e pedindo direto o valor, e neste valor vc está entrando com um campo alfanumérico.

Faz um teste: digita na primeira vez no campo valor um texto qualquer que vc vai ver que esse erro ocorrerá, pois no valor vc pega com input.nextInt() e input.nextDouble()


ASOBrasil

Java Examples || Useful links for web developer
[Email]
Hawk
JavaBaby

Membro desde: 29/04/2006 18:51:34
Mensagens: 91
Localização: São Paulo / SP
Offline

pô brigadão ASOBrasil!

Qual a diferença do nextLine() e do next?

Por que quando counter = 0 ele funciona normal, e apenas na próxima repetição dá esse pau??

obrigado!
[MSN]
LPJava
GUJ Hacker

Membro desde: 18/04/2006 12:50:23
Mensagens: 5681
Localização: São Paulo
Offline

Hawk wrote:pô brigadão ASOBrasil!

Qual a diferença do nextLine() e do next?

Por que quando counter = 0 ele funciona normal, e apenas na próxima repetição dá esse pau??

obrigado!


ae parceiro fiz umas mudanças basica no seu code veja ai!!
 Nome do arquivo Salarios.java [Disk] Download
 Descrição
 Tamanho 1 Kbytes
 Baixado:  462 vez(es)


Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
Autor "TDD na Prática": http://blog.camilolopes.com.br/lancamento-livro-tdd-na-pratica/
[WWW]
aurusfargnolli
Smalltalk
[Avatar]

Membro desde: 19/03/2008 14:06:44
Mensagens: 1
Offline

import java.util.Scanner;

public class AccountTest
{
// método principal inicia a execução do aplicativo Java
public static void main( String args[] )
{
Account account1 = new Account( 50.00 ); // cria o objeto Account
Account account2 = new Account( -7.53 ); // cria o objeto Account

// exibe saldo inicial de cada objeto
System.out.printf( "account1 balance: $%.2f\n",
account1.getBalance() );
System.out.printf( "account2 balance: $%.2f\n\n",
account2.getBalance() );

// cria Scanner para obter entrada a partir da janela de comando
Scanner input = new Scanner( System.in );
double depositAmount; // quantia de depósito lida a do usuário

System.out.print( "Enter deposit amount for account1: " ); // prompt
depositAmount = input.nextDouble(); // obtém a entrada do usuário
System.out.printf( "\nadding %.2f to account1 balance\n\n",
depositAmount );
account1.credit( depositAmount ); // adiciona o saldo de account1

// exibe os saldos
System.out.printf( "account1 balance: $%.2f\n",
account1.getBalance() );
System.out.printf( "account2 balance: $%.2f\n\n",
account2.getBalance() );

System.out.print( "Enter deposit amount for account2: " ); // prompt
depositAmount = input.nextDouble(); // obtém a entrada do usuário
System.out.printf( "\nadding %.2f to account2 balance\n\n",
depositAmount );
account2.credit( depositAmount ); // adiciona ao saldo de account2

// exibe os saldos
System.out.printf( "account1 balance: $%.2f\n",
account1.getBalance() );
System.out.printf( "account2 balance: $%.2f\n",
account2.getBalance() );
} // fim de main

} // fim da classe AccountTest


Estou tentando compilar este código, porém ele demonstra uma série de erros como por exemplo:
cannot resolve symbol class Scanner - line 3
cannot resolve symbol method printf (java.lang.String,double) - line 14
cannot resolve symbol method printf (java.lang.String,double) - line 16
cannot resolve symbol class Scanner - line 20
cannot resolve symbol class Scanner - line 20
cannot resolve symbol method printf (java.lang.String,double) - line 30
cannot resolve symbol method printf (java.lang.String,double) - line 32


Tentei de tudo já, mas não consigo compilar este código.
Ernesto Batista
What is classpath?

Membro desde: 02/04/2009 12:01:33
Mensagens: 6
Offline


import animais.Gato;
import animais.Passaro;
import java.util.Scanner;

public class ControleDeVenda {

public static void main(String args[]){
int opçao = 0;
Scanner c = new Scanner( System.in );

while (opçao != 1)
{
System.out.println(" Menu");
System.out.println("1 - Gato");
System.out.println("2 - Passaro");
System.out.println("3 - Sair");
System.out.println("\n");
System.out.print("Escolha a opçao do menu:");
opçao = c.nextInt();
System.out.println("\n");
}

if(opçao == 1)
{
Gato a1 = new Gato(01,"Todinho",15,420,"wiscas");

System.out.println(a1);
}
if(opçao == 2)
{
Passaro a2 = new Passaro(02,"Rock Balboa",5,1500,true);

System.out.println(a2);
}
}

}

Fiz este programa principal, e esta dando erro de "cannot resolve symbol class Scanner", não sei solucionar.Gostaria que vocês me dissessem a solução deste problema.Obrigado.
gujuser
JavaBaby

Membro desde: 26/03/2009 09:20:40
Mensagens: 75
Offline

nome da variável.

tira o Ç.

Edit:
Perae, com ou sem o "Ç", funciona de boa o programa.

flw.

This message was edited 1 time. Last update was at 02/04/2009 12:31:07


[]'s
Ernesto Batista
What is classpath?

Membro desde: 02/04/2009 12:01:33
Mensagens: 6
Offline

Resposta:

Consequiram solucionar o problema?
realmente,"ç" não é o problema.
Vlw
gujuser
JavaBaby

Membro desde: 26/03/2009 09:20:40
Mensagens: 75
Offline

Não tem problema nenhum com o Scanner cara!!
Pelo menos não nesse código que vc passou.
Olha aí:



Só uma coisa, ninguém está aqui para resolver problemas e sim para ajudar... Quem resolve o problema é quem está com o mesmo.

flw.

[]'s
Ernesto Batista
What is classpath?

Membro desde: 02/04/2009 12:01:33
Mensagens: 6
Offline

Resposta:

tudo bem,
estou no trabalho no momento e não estou com acesso ao interpretador.Chegando em casa irei rever o programa.
Obrigado pela ajuda.

Agora, resolver o problema...foi um modo de dizer, o que eu queria era uma orientação na solução do programa.
Acredito que não foi correto o modo no qual vocês me trataram.

Novamente, Obrigado.
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team