Como armazernar espaço em String?

14 respostas
S

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?

14 Respostas

ViniGodoy

Sempre que for ler do console, use nextLine() e não next(), nextInt() ou qualquer outro next disponível.

S

Um… quando uso nextLine(); o console n pergunta o q eu queru digitar jah é tpw informado … como faço pra n informar lixo?

ViniGodoy

Agora repete sem miguxês e colocando o seu código.

O nextLine() normalmente não lê lixo.

S

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);	
			
		}
L

ViniGodoy:
Agora repete sem miguxês e colocando o seu código.

Repete sem miguxês!!

aEHAEHueAUEAuhea

esse cara é foda…

ViniGodoy

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.

S

@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?

ViniGodoy

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).

ViniGodoy

Shanar, uma dica, quando for postar códigos, use a tag code. Se você não sabe como, leia aqui:

lina

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?

Oi,

Claro. Faz a conversão para o tipo desejado.

Tchauzin!

S

@ViniGodoy

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

xandevieira

lucasgcp:
ViniGodoy:
Agora repete sem miguxês e colocando o seu código.

Repete sem miguxês!!

aEHAEHueAUEAuhea

esse cara é foda…

tb achei engraçado quando li.
concordo com vc, o cara é phoda;

M

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.

F

É 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.

Criado 28 de junho de 2011
Ultima resposta 29 de jun. de 2011
Respostas 14
Participantes 7