尝试运行.exefile时启动时出现Java错误

尝试运行.exefile时启动时出现Java错误,java,exe,startup,Java,Exe,Startup,我用java编写了一个简单的加法程序,并将其转换为.exe文件。但是,当我试图运行exe文件时,即使在桌面上单击它,我也会收到错误“启动时发生错误:”这个巨大的东西: java.util.NoSuchElementException at java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at java.util.Scanner.nextInt(Unknown Source)

我用java编写了一个简单的加法程序,并将其转换为.exe文件。但是,当我试图运行exe文件时,即使在桌面上单击它,我也会收到错误“启动时发生错误:”这个巨大的东西:

java.util.NoSuchElementException
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 addit.main(addit.java:15)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.exe4j.runtime.WinLauncher.main(Unknown Source)
我的清单文件包含:

“主要类别:addit

"

它有两条合适的线

addit.java程序:

import java.util.Scanner;

public class addit
{
  public static void main (String [] args)
  {
    int x;
    int y;
    int z;

System.out.println("Welcome to Addit!");

System.out.println("Please enter the first digit.");
Scanner scanner = new Scanner(System.in);
x = scanner.nextInt();

System.out.println("Please enter the second digit.");
y = scanner.nextInt();

z = x + y;

System.out.println("The sum of " + x + " and " + y + " is " + z);
  }
}
另外,顺便说一句,即使在通过cmd运行时(当我运行addit.java时),程序也能很好地编译和运行


编辑:哦,等等,对不起,原来addit.exe没有正确运行。对不起,我一定是糊涂了….> 这对我来说很好。确保您正在以这种方式运行jar

java -jar addit.jar
输入

编辑:(使用addit.exe尝试此操作)


错误来自第
15行

at addit.main(addit.java:15)
x = scanner.nextInt();
查看第15行的代码
15

at addit.main(addit.java:15)
x = scanner.nextInt();
此时,您的程序正在尝试从控制台读取一个整数值,如下所示:

Scanner scanner = new Scanner(System.in);
scanner
设置为从
系统读取输入。在
中,系统默认为操作系统的控制台。但是,由于您正在开箱即用地运行程序,因此您的程序无法读取输入


重写您的程序,并把硬编码值,而不是从用户读取。然后做这些事情。如果有效,您将得到答案。

发布清单文件内容文件末尾必须有一个空行。您可以发布addit类吗?您的代码在第15行有问题。你能给我们看看吗?您可能在一个循环中做了太多的一次迭代,是否一定要有一个空间?我刚刚按了回车键twice为什么要传递参数?输入之间需要一个空格,因为它是扫描器的默认分隔符@user1569574您能再试一次并让我知道吗?当我在cmd的同一行输入“12”时,它要求输入第二位数字,但随后报告了总数。但是没关系,jar文件工作了。我用这段代码创建了.exe文件,但是我仍然得到了和我第一篇文章中相同的错误