我的文件没有在cmd中打开

时间:2018-04-16 07:42:35

标签: java windows bluej

您好我是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)

请帮忙。是的,我只是一个初学者

2 个答案:

答案 0 :(得分:2)

  

当我在cmd中运行此文件时,它什么也没做。

那是不正确的

  

它甚至不会要求输入

您没有告诉它,您提供的命令是inputa.nextInt(),它只读取输入,但不输出任何内容。

  

如果我输入随机内容并按回车键,则会给我这个

inputa.nextInt()表示&#34;将下一个输入读作数字&#34;。如果您要输入随机内容,则无法将其转换为数字。

您的代码还有一些问题:

if(b<20);

末尾的分号表示如果b实际上小于20,则不执行任何操作

int a=5;
{
    System.out.println("Answer ="+a);
}

此处不需要括号,因为您明确将变量a设置为5应用程序,如果它达到这个目的,将始终说Answer =5

答案 1 :(得分:0)

如果您想要它请求号码。你必须告诉它要求一个这样的数字。

System.out.println("Enter a number.");

根据您在代码中输入的内容,您似乎正在尝试添加&#39; b&#39;和&#39; a&#39;为&#34;回答&#34;。如果是这样,您可以更轻松地制作一个新变量,即添加&#39; a&#39;和&#39; b&#39;。

int answer = a + b;
System.out.printf("Answer = %d", answer);