Estou com problema que quando digito Guj Galera Show, e queru armazenar isso usando um String assunto = input.next(); somente é copiado Guj, o resto não é armazenado.
Como faço para armazenar o Guj Galera Show?
Estou com problema que quando digito Guj Galera Show, e queru armazenar isso usando um String assunto = input.next(); somente é copiado Guj, o resto não é armazenado.
Como faço para armazenar o Guj Galera Show?
Sempre que for ler do console, use nextLine() e não next(), nextInt() ou qualquer outro next disponível.
Um… quando uso nextLine(); o console n pergunta o q eu queru digitar jah é tpw informado … como faço pra n informar lixo?
Agora repete sem miguxês e colocando o seu código.
O nextLine() normalmente não lê lixo.
Posterei a seguir, quando uso somente 1 nextLine(), ele pega o “buffer”, mas quando uso 2 nextLine(); da certo pq o primero pega o lixo e o seguindo realmente captura o quero, mas acho isso meio “gambiarrado”
if (opcao==1)
{
id=dataFile.idLivro();
System.out.println("Digite o titulo do livro");
titulo = input.nextLine();
//titulo = input.nextLine();
System.out.println("Escolha o assunto:\n1-Administração\n2-Biologia\n3-Computação\n4-Matemática");
int aux=input.nextInt();
if(aux==1)
assunto = "Administração";
else if(aux==2)
assunto = "Biologia";
else if(aux==3)
assunto = "Computação";
else
assunto = "Matemática";
System.out.println("Digite a edição");
ed = input.nextInt();
System.out.println("Digite os exemplares");
ex = input.nextInt();
dataFile.criarLivro(100001+id, titulo, assunto, ed, ex);
}
[quote=ViniGodoy]Agora repete sem miguxês e colocando o seu código.
[/quote]
Repete sem miguxês!!
aEHAEHueAUEAuhea
esse cara é foda…
Vou repetir o que falei:
[size=24]Sempre[/size] que for ler do console, use nextLine() [size=24]e não[/size] next(), nextInt() ou qualquer outro next disponível.
Os outros métodos é que deixam o tal lixo no buffer, afinal, a leitura do console sempre termina na quebra de linha.
Somente usar o nextLine()?
O próprio método descobre qual tipo da variavel?
Ou eu tenho que fazer um cast quando for inteiro por ex, porque se não me engano nextLine() é para string?
Sim, tem que fazer cast.
Os outros métodos são adequados para leituras em arquivos, ou caso vc queira fazer o parse de uma linha longa digitada no console (ainda assim, vc sempre terá que ter um nextLine() em algum lugar para fazer o parse correto da linha).
Shanar, uma dica, quando for postar códigos, use a tag code. Se você não sabe como, leia aqui:
[quote=Shanar]@ViniGodoy
Somente usar o nextLine()?
O próprio método descobre qual tipo da variavel?
Ou eu tenho que fazer um cast quando for inteiro por ex, porque se não me engano nextLine() é para string?[/quote]
Oi,
Claro. Faz a conversão para o tipo desejado.
Tchauzin!
vlw ae pela ajuda, malz pelo meu miguxes ;p e da próxima x q for colar código posto no pastbin ae fica de boa tambem ne? ;p
[quote=lucasgcp][quote=ViniGodoy]Agora repete sem miguxês e colocando o seu código.
[/quote]
Repete sem miguxês!!
aEHAEHueAUEAuhea
esse cara é foda…[/quote]
tb achei engraçado quando li.
concordo com vc, o cara é phoda;
Então Shanar, pelo que eu sei o input.next() apenas retorna para essa variável “assunto” os caracteres até o primeiro espaço em branco, o resto não é descartado, mas para recuperá-lo é necessário um outro procedimento que eu não sei ahahahha.
Por isso é aconselhavel utilizar o input.nextLine() que vai ler todos os caracteres, inclusive os de espaço em branco, até vc precionar enter, ou seja, até ele encontra um caracter de nova linha.
É isso mesmo que godoy disse, para ler String digitadas do teclado, use sempre nextLie() pq ele irá pegar tudo que vc digitar, se só usar next() ele não irá pegar a segunda palavra.