我是java新手,但不是编程,因为我知道C ++。
我只是试图从用户获得整数或字符串形式的输入,但是当我执行我的程序时,它只是静止不动,直到我按回车键。 按"输入"后我的程序和结果给出。
我的问题是" 为什么我没有收到用户输入?"
import java.util.Scanner;
class roomarea
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
int input = scanner.nextInt();
System.out.println("Enterd value is " + input);
}
}
结果是
Start Running math >Command: "C:\Program Files\Java\jdk1.6.0\bin\java.exe"
-classpath "C:\Documents and Settings\Ahmad Abdullah\My Documents\NaviCoder IDE for
Java\projects\math\output\classes";"C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar";
roomarea
Exception in thread "main" java.util.InputMismatchException at
java.util.Scanner.throwFor(Scanner.java:840) at
java.util.Scanner.next(Scanner.java:1461) at
java.util.Scanner.nextInt(Scanner.java:2091) at
java.util.Scanner.nextInt(Scanner.java:2050) at
roomarea.main(Main.java:14) >Run
流程已完成
答案 0 :(得分:2)
当你说“它只是静止不动,直到我按下回车”时,它正在按照你所说的去做 - 它正在等你输入int
。您只需按Enter即表示没有输入,您的扫描仪无法将其解释为int
,因此例外。
如果输入整数,则按回车键,程序应该有效。
答案 1 :(得分:0)
如果输入int
作为输入,您的程序应该有效。 (在“等待”程序时按Enter
,您可能会出现您正在讨论的异常。)
如果您输入一个字符,例如,您将获得InputMismatchException例外:
由扫描程序抛出,表示检索到的令牌没有 匹配预期类型的模式,或者令牌不在 预期类型的范围。