嗨,我是Java的新手,对它了解不多。我刚刚编写了一个程序,不确定它是否正确。我想要用户输入以便计算答案,这是代码:
import java.util.Scanner;
class Vedant
{
public static void main(String[] args)
{
Scanner inputa=new Scanner(System.in);
int b=inputa.nextInt();
if(b<20);
int a=5;
{
System.out.println("Answer ="+a);
}
}
}
当我在cmd中运行此文件时,它什么也没做,甚至不要求输入。
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at Vedant.main(Vedant.java:8)
请帮助。是的,我只是一个初学者
最佳答案
当我在cmd中运行此文件时,它什么都不做。
那是不对的
它甚至不要求输入
您没有告诉它,您输入的命令是inputa.nextInt()
,它仅读取输入,但不输出任何内容。
如果我输入随机的东西然后按Enter,它会给我这个inputa.nextInt()
表示“将下一个输入读取为数字”。如果您输入的是随机数,则无法将其转换为数字。
您的代码还有更多问题:
if(b<20);
最后的分号表示如果
b
实际上小于20,则不执行任何操作int a=5;
{
System.out.println("Answer ="+a);
}
这里不需要括号,因为您已将变量
a
显式设置为5,所以应用程序到此为止,将始终显示Answer =5