在java中询问用户输入的整数

时间:2015-01-30 04:52:20

标签: 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);
  }

我已经找到了其他答案,但我没有看到任何我能从他们试图解决的具体问题中辨别出来的。

3 个答案:

答案 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);
  }