Leitura de String e char do teclado

Gostaria de saber como posso fazer a leitura de String e char em Java. Cheguei a utlizar a classe Scanner com o método next(), mas quando digito um nome com espaço ele dá erro.

Alguém pode me ajudar ?

O método next() da classe Scanner só permite ler uma única palavra, ou seja, ele para de ler assim que encontrar um caractere de espaço. Já o método nextLine() permite ler uma sequência de caracteres completa, só terminando a leitura ao encontrar um caractere de nova linha.

A respeito do método nextLine() da classe Scanner, defini da seguinte forma do exemplo abaixo:

System.out.print("Conta: ");
cta.num_conta = input.next();

System.out.print("Titular: ");
cta.titular = input.nextLine();

Mas depois que entro com o valor da conta, ele imprimi o texto “Titular:” e pula de linha sem deixar a opção de entrar com o Titular da conta. Ele pula direto pra o próximo comando, que estaria no lugar dos três pontos acima.

Como eu poderia resolver este caso ?

Aguardo contato.

Rapha…

Talvez existam soluções melhores do que as que apresentarei aqui, mas pelo menos você pode ir tocando seu projeto, enquanto elas não aparecem. Tente uma dessas duas opções:
1ª opção - Faça primeiro a leitura do campo titular.
2ª opção - Crie uma nova instância de Scanner para leitura do campo titular.
Espero que te ajude.

[quote=“rapha”]A respeito do método nextLine() da classe Scanner, defini da seguinte forma do exemplo abaixo:

System.out.print("Conta: ");
cta.num_conta = input.next();

System.out.print("Titular: ");
cta.titular = input.nextLine();

Mas depois que entro com o valor da conta, ele imprimi o texto “Titular:” e pula de linha sem deixar a opção de entrar com o Titular da conta. Ele pula direto pra o próximo comando, que estaria no lugar dos três pontos acima.

Como eu poderia resolver este caso ?

Aguardo contato.

Rapha…[/quote]
Neste caso, uma solução simples seria simplesmente usar o método nextLine() para ler tanto o número da conta como o nome do titular.