[英]Asking user input for an integer in java
我正在做一个基本的 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);
}
我一直在寻找其他答案,但我没有看到任何我可以从他们试图解决的具体问题中辨别出来的答案。
你应该使用
try{
int age = Integer.parseInt(console.readLine("Enter your age: "));
// do stuff
} catch (NumberFormatException e) {
// User did not enter a number
}
Java 不会自动在两者之间进行转换。 但是,当您不输入必须处理的数字时,上述方法将引发异常
您可以使用
Scanner input = new Scanner(System.in);
int Age = input.nextInt();
input.nextLine();
好的,我不确定回答你自己的问题是否很酷。 我设法让它起作用,以防万一其他人遇到同样的问题。 这是我使用的代码:
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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.