在Netbeans中,我的程序运行良好。它使用Scanner获取用户输入。
但是,当我在命令提示符下运行jar文件时,它会跳过所有用户输入并运行程序。为什么会这样做?如何更正?
示例:
public static void main(String[] args)
{
System.out.print("How many teachers need an assignment (two classes will be assigned to each teacher)? ");
numTeachers = input.next();
}
它甚至从未打印出第一行
答案 0 :(得分:0)
因为第一行从不打印我认为您会发现您的问题是由您运行程序的方式引起的,因为如果它在netbeans中起作用是唯一的区别。
首先使用您的程序打开文件夹中的控制台窗口,然后像正常一样运行jar文件:
java -jar myapplication.jar
如果您只是双击您的jar文件,它将立即运行,因为没有控制台它会立即关闭。还必须从控制台/命令提示符/终端运行使用控制台的Java程序。
编辑:以防万一,值得仔细检查您如何设置扫描仪。它应该看起来像这个例子:https://stackoverflow.com/a/17691245/1270000
public static void main(String args[]){
Scanner scanner = new Scanner(System.in);
int eid,sid;
String ename;
System.out.println("Enter Employeeid:");
eid=scanner.nextInt();
scanner.nextLine(); //This is needed to pick up the new line
System.out.println("Enter EmployeeName:");
ename=scanner.nextLine();
System.out.println("Enter SupervisiorId:");
sid=(scanner.nextInt());
}