alguém pode me ajudar com o meu problema esse é o código
Scanner scanner = new Scanner(System.in);
System.out.println(“Digite o nome do aluno”);
String nome = scanner.next();
System.out.println("Digite o sobrenome do aluno");
String sobrenome = scanner.next();
System.out.println("Digite o RGA do Aluno");
int rga = scanner.nextInt();
System.out.println("Digite o nome do curso do Aluno");
String nomeDoCurso = scanner.next();
System.out.println("Digite o ano");
int ano = scanner.nextInt();
System.out.println("Digite a média geral do aluno");
double media = scanner.nextDouble();
se eu digito por exemplo “engenharia de software” no nome do curso
ele da uma exceção java.util.InputMismatchException
A classe Scanner pega os dados digitados pelo teclado como se fossem
Strings , se você for pegar um int,double você tem que fazer a conversão.
Sobre o método que você utiliza para pegar os dados next() ele é usado para capturar
até achar um espaço ou quebra de linha . no seu caso você deve usar o método nextLine() que é usado
para pegar toda a String até achar a quebra de linha.
seu código vai ficar assim:
Scanner scanner = new Scanner(System.in);
System.out.println("Digite o sobrenome do aluno: ");
String sobrenome = scanner.nextLine();
System.out.println("Digite o RGA do Aluno: ");
int rga = Integer.parseInt(scanner.nextLine());
System.out.println("Digite o nome do curso do Aluno: ");
String nomeDoCurso = scanner.nextLine();
System.out.println("Digite o ano");
int ano = Integer.parseInt(scanner.nextLine());
System.out.print("Digite a média geral do aluno");
double media =Double.parseDouble(scanner.nextLine());