如何使 args 函数等于 2?因为它只是抛出 File Not found 异常
How do I make the args function equal to 2? As it is just throwing File Not found exception
/**
* Compilation : javac Traversal.java
* Execution : java Traversal args0 ----- GraphicsMode
* : java Traversal args0 args1 ----- TextMode
*
* Arguments : args0 - boardfilename.txt
* args1 - movesfilename.txt
*
* Controls : h - left movement
* l - right movement
* j - down movement
* k - up movement
**/
public static void main(String[] args) throws FileNotFoundException, InterruptedException {
if (args.length == 1) {
GameBoard board = Middleware.parseArgs(args[0]);
Middleware.validateBoard(board);
GraphicsMode.play(board);
}else if (args.length == 2) {
GameBoard board = Middleware.parseArgs(args[0]);
Middleware.validateBoard(board);
String moves = Middleware.readMoves(new Scanner(new File(args[1])));
TextMode.play(board, moves);
}
exit();
}
/**
* Sleep for 4000 microseconds to allow
* the final event sound to finish
* playing and then exits.
*/
public static void exit() throws InterruptedException {
Thread.sleep(4000);
System.exit(0);
}
正如您的 JavaDoc 中已经提到的,如果您希望将两个参数传递给程序,您需要从命令提示符 (cmd window) 运行 此程序,如下所示:
java Traversal args0 args1
其中
args0 - boardfilename.txt
args1 - movesfilename.txt
换句话说,运行 它与命令提示符下的 java Traversal boardfilename.txt movesfilename.txt
一样。如果 boardfilename.txt
和 movesfilename.txt
与 Traversal.class
不在同一位置,请提及它们的完整路径,即
java Traversal path-to-boardfilename.txt path-to-movesfilename.txt
如果您运行在 Eclipse 中安装它,请右键单击 Traversal.java > 单击 运行 配置。 .. > 将值放入对话框中,如屏幕截图所示 > 单击 运行
在这种情况下(即当您尝试从 eclipse 运行 它时),请确保 boardfilename.txt
和 movesfilename.txt
位于 src
的父文件夹中.
/**
* Compilation : javac Traversal.java
* Execution : java Traversal args0 ----- GraphicsMode
* : java Traversal args0 args1 ----- TextMode
*
* Arguments : args0 - boardfilename.txt
* args1 - movesfilename.txt
*
* Controls : h - left movement
* l - right movement
* j - down movement
* k - up movement
**/
public static void main(String[] args) throws FileNotFoundException, InterruptedException {
if (args.length == 1) {
GameBoard board = Middleware.parseArgs(args[0]);
Middleware.validateBoard(board);
GraphicsMode.play(board);
}else if (args.length == 2) {
GameBoard board = Middleware.parseArgs(args[0]);
Middleware.validateBoard(board);
String moves = Middleware.readMoves(new Scanner(new File(args[1])));
TextMode.play(board, moves);
}
exit();
}
/**
* Sleep for 4000 microseconds to allow
* the final event sound to finish
* playing and then exits.
*/
public static void exit() throws InterruptedException {
Thread.sleep(4000);
System.exit(0);
}
正如您的 JavaDoc 中已经提到的,如果您希望将两个参数传递给程序,您需要从命令提示符 (cmd window) 运行 此程序,如下所示:
java Traversal args0 args1
其中
args0 - boardfilename.txt
args1 - movesfilename.txt
换句话说,运行 它与命令提示符下的 java Traversal boardfilename.txt movesfilename.txt
一样。如果 boardfilename.txt
和 movesfilename.txt
与 Traversal.class
不在同一位置,请提及它们的完整路径,即
java Traversal path-to-boardfilename.txt path-to-movesfilename.txt
如果您运行在 Eclipse 中安装它,请右键单击 Traversal.java > 单击 运行 配置。 .. > 将值放入对话框中,如屏幕截图所示 > 单击 运行
在这种情况下(即当您尝试从 eclipse 运行 它时),请确保 boardfilename.txt
和 movesfilename.txt
位于 src
的父文件夹中.