尝试运行.exe文件时启动时出现Java错误

时间:2013-06-28 18:53:33

标签: 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)
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)

我的清单文件包含:

“Main-Class: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运行不正常。对不起,我一定很困惑..><

2 个答案:

答案 0 :(得分:1)

对我来说很好。确保你以这种方式运行jar

java -jar addit.jar

输入

1 2

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

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

scanner.nextLine(); // skips '\n' causing the problem

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

z = x + y;

答案 1 :(得分:0)

错误来自第15

at addit.main(addit.java:15)

15

行查看您的代码
x = scanner.nextInt();

此时程序试图从控制台读取整数值

Scanner scanner = new Scanner(System.in);

scanner设置为从System.in读取输入,默认情况下是操作系统的控制台。但是,由于您正在运行程序,因此您的程序无法从读取输入中获取。

重写您的程序并输入硬编码值而不是从用户读取。然后做所有这些。如果有效,你会得到答案。