4

我有 100 个名为“1.exe”、“2.exe”、“3.exe”、...、“100.exe”的文件我想将用户输入为 1,2,3,... 或100并运行对应的exe文件。例如,如果用户输入 45 ,我将运行文件“45.exe”,我不想使用 ifs 或开关。谁能帮帮我吗。

4

5 回答 5

13

如果输入总是等于你的 exes 的文件名,你可以这样做:

if( isInputNumberBetween1And100() )
    Runtime.getRuntime().exec( input + ".exe" );
于 2012-08-29T07:46:23.383 回答
2

如果它们在同一个文件夹中,您还可以使用 java.nio.file.Paths 来解决它们:

Runtime.getRuntime().exec(Paths.get(getNumberInput() + ".exe").toString());
于 2012-08-29T07:59:59.713 回答
2
Runtime.getRuntime().exec( input + ".exe" ).waitFor();

如果您想等待它,它将起作用。

于 2012-08-31T12:11:36.463 回答
1

我的 java 有点生锈,请原谅我,但这应该给你一个想法:

通过执行以下操作形成一个字符串:

String number = "45"; // or whatever user inputs
String suffix = ".exe";
String file = number + suffix;

然后,一旦你有了字符串,就用它来运行一个进程:

Runtime rt = Runtime.getRuntime();
Process p = rt.exec(file);

完成该过程后,将其销毁:

p.destroy();
于 2012-08-29T07:47:56.987 回答
1
// getInputFromUser() is your function with validation 
String processName = getInputFromUser()+".exe";  
Runtime.getRuntime().exec( processName );
于 2012-08-29T07:55:15.910 回答