Estou começando a estudar Java agora, e em um exercício me deparei com este erro que vou descrever logo abaixo de parte do código onde acontece o erro.
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Curso curso = new Curso("Introdução", "18");
Aluno aluno = new Aluno("Paulo Rogério Costa Seixas", "222.256.887-00", 56, curso);
System.out.println("Dados do aluno: " + aluno.getNome());
System.out.println("CPF: " + aluno.getCpf());
System.out.println("Idade: " + aluno.getIdade());
System.out.println("Curso: " + curso.getNome() + " " + curso.getCodigo());
System.out.println("Digite o novo nome do aluno: ");
String novonomea = in.nextLine();
System.out.println("Digite o novo CPF do aluno: ");
String novocpf = in.nextLine();
System.out.println("Digite o nova idade do aluno: ");
int novaidade = in.nextInt();
System.out.println("Digite o novo nome do curso: ");
//String novonomec1 = in.nextLine();
String novonomec = in.nextLine();
System.out.println("Digite o novo código do curso: ");
String novocodigo = in.nextLine();
curso = new Curso(novonomec, novocodigo);
aluno.setNome(novonomea);
aluno.setCpf(novocpf);
aluno.setIdade(novaidade);
curso.setNome(novonomec);
curso.setCodigo(novocodigo);
System.out.println("Novos dados do aluno: " + aluno.getNome());
System.out.println("CPF: " + aluno.getCpf());
System.out.println("Idade: " + aluno.getIdade());
System.out.println("Curso: " + curso.getNome() + " " + curso.getCodigo());
}
Notem que na linha em que crio a variável novonomec1 (//String novonomec1 = in.nextLine();), coloquei como nota, pois foi a melhor solução para contornar o problema, a criação desta variável que não tem a menor serventia. Do jeito que está o código, o programa não espera a inserção da variável novonomec pelo teclado, pulando para a próxima instrução que é String novocodigo = in.nextLine();. Porem se tirarmos o símbolo de nota // e criarmos a variável novonomec1 não dá o erro.
obs.: Existem as classes Curso e Aluno com seus devidos construtores e comandos get e set.
Alguém pode me esclarecer sobre isso?