我有 100 个名为“1.exe”、“2.exe”、“3.exe”、...、“100.exe”的文件我想将用户输入为 1,2,3,... 或100并运行对应的exe文件。例如,如果用户输入 45 ,我将运行文件“45.exe”,我不想使用 ifs 或开关。谁能帮帮我吗。
问问题
124 次
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 回答