Проблема компиляции - почему Int не работает с моей переменной возраста?
Первая программа, которую я делаю после Привет, мир. Имя, фамилия и возраст. При использовании String для age все работает как положено. Мне сказали использовать Int для возраста вместо String, но когда я перешел на Int и попытался скомпилировать, я получил эту ошибку: "не могу найти символ". Я думаю, я должен сделать что-то совершенно другое, если я хочу возраст как Int. Что я делаю неправильно?
импорт java.util.Scanner;
открытый класс Oppgave2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Skriv inn fornavn: ");
String fornavn = scanner.nextLine();
System.out.println("Skriv inn etternavn: ");
String etternavn = scanner.nextLine();
System.out.println("Skriv inn alder: ");
int alder = scanner.nextLine();
System.out.println("Ditt navn er: " + fornavn + " " + etternavn);
System.out.println("Din alder er: " + alder);
}
}
3 ответа
В классе Scanner вы используете nextInt(), ожидая, что токен будет целым числом.
int alder = scanner.nextInt()
nextLine()
возвращает String
Как сказано в Javadoc Сканера. использование nextInt()
если вы хотите получить и хранить Int.
Читать строку используя nextLine
а затем преобразовать в int
String reply = sc.nextLine();
int alder = Integer.valueOf(reply).intValue;