Ler mais de uma palavra em uma String

3 respostas
java
Y
out.print("Nome: ");

String nome = sc.nextLine();

out.print("CPF: ");

String cpf = sc.next();

out.print("Telefone: ");

String telefone = sc.next();

out.print("Endereco: ");

String endereco = sc.next();

Quando coloco sc.nextLine() , ele simplesmente pula a leitura do nome e lê o CPF

3 Respostas

Murilo_Medeiros

o que voce esta lendo ? cade o resto do codigo?

K

Você provavelmente deve ter usado algum método next(), nextInt(), nextDouble() ou algo assim antes do nextLine(). O problema disso é que esses métodos como o nextInt() só irão ler o valor inteiro que você digitar, então quando você usar um nextLine() a seguir ele receberá um “\n” (Enter) que pulará para a próxima linha, que no seu caso é o CPF. Tenta adicionar um sc.nextLine() antes de String nome = sc.nextLine():

sc.nextLine();

out.print("Nome: ");

String nome = sc.nextLine();

out.print("CPF: ");

String cpf = sc.next();

out.print("Telefone: ");

String telefone = sc.next();

out.print("Endereco: ");

String endereco = sc.next();

Você também pode fazer a leitura de dados usando JOptionPane.showInputDialog(“Digite o que quiser”) para obter dados do usuário. Sendo assim seu código ficaria:

String nome = JOptionPane.showInputDialog(Digite o nome:);

String cpf = JOptionPane.showInputDialog(Digite o CPF:);

String telefone = JOptionPane.showInputDialog(Digite o telefone:);

String endereco = JOptionPane.showInputDialog(Digite o Endereço:);
Y

Vlw, resolveu aqui : )

Criado 29 de agosto de 2017
Ultima resposta 31 de ago. de 2017
Respostas 3
Participantes 3