我正在做一个基本的java教程,基本上是一个疯狂的libs程序。这个想法出现在教程中,试图确保用户至少为13,但该示例将年龄硬编码到程序中。我想尝试从用户那里获得年龄,但此时,我的代码给了我一个错误,因为“字符串无法转换为整数”。看着我的代码,我不明白为什么它会给我这个错误。这是我使用的:
int age = console.readLine("Enter your age: ");
if (age < 13) {
//enter exit code
console.printf("Sorry but you must be at least 13 to use this program.\n");
System.exit(0);
}
我已经找到了其他答案,但我没有看到任何我能从他们试图解决的具体问题中辨别出来的。
答案 0 :(得分:3)
你应该使用
try{
int age = Integer.parseInt(console.readLine("Enter your age: "));
// do stuff
} catch (NumberFormatException e) {
// User did not enter a number
}
Java不会自动在两者之间施放。但是,当您输入一个您必须处理的号码时,上述方法将抛出异常
答案 1 :(得分:2)
您可以使用
Scanner input = new Scanner(System.in);
int Age = input.nextInt();
input.nextLine();
答案 2 :(得分:0)
好的,我不确定回答你自己的问题是否很酷。我设法让这个工作,以防其他人遇到同样的问题。这是我使用的代码:
String ageAsString = console.readLine("Enter your age: ");
int age = Integer.parseInt(ageAsString);
if (age < 13) {
//enter exit code
console.printf("Sorry but you must be at least 13 to use this program.\n");
System.exit(0);
}