【问题标题】:My file isn't opening in cmd我的文件没有在 cmd 中打开
【发布时间】:2018-04-16 07:42:35
【问题描述】:

您好,我是 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 中运行这个文件时,它什么也不做。它甚至不要求输入。如果我输入随机的东西并按 Enter,它会给我这个

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)

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

【问题讨论】:

  • 你不要求输入,添加System.out.println("Please enter a Number:");显示输出..

标签: java windows bluej


【解决方案1】:

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

不正确

它甚至不要求输入

你没有告诉它,你给的命令是inputa.nextInt(),它只读取输入,但不输出任何东西。

如果我输入随机的东西并按回车,它会给我这个

inputa.nextInt() 表示“将下一个输入读取为数字”。如果您输入的是随机内容,它无法将其转换为数字。

您的代码还有一些问题:

if(b<20);

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

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

这里不需要括号,因为您将变量 a 显式设置为 5 您的应用程序,如果它走到这一步,总是会说 Answer =5

【讨论】:

  • 是的。谢谢你解决了这个问题。但是我如何在 if..Like if 0
  • 一般写成b &gt; 0 &amp;&amp; b &lt; 20
  • 非常感谢。修复它。现在我只需要一个想法。假设输入在 1-20 之间,答案将是 5 对..我会做更多这些范围,比如 20- 40=10...这是我想做的一个例子:假设今天我输入了一个像7这样的数字,答案应该是5。第二天我将输入另一个数字。像 10 输入也将是 5。我希望它自动保存并添加数字。我将每天这样做到六月,这样输入是 15。如果我在第二天再次输入并且输入是8 输出应加起来为 15,如 5+5+5
【解决方案2】:

如果您希望它询问号码。你必须告诉它要一个这样的数字。

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

根据您在代码中键入的内容,您似乎正在尝试为“答案”添加“b”和“a”。如果是这样,您将更容易创建一个添加“a”和“b”的新变量。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-13
    • 2017-01-25
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    相关资源
    最近更新 更多