我有100个名为“1.exe”,“2.exe”,“3.exe”,...,“100.exe”的文件 我想从用户输入1,2,3,...或100并运行相应的exe文件。 例如,如果用户输入45,我将运行文件“45.exe” 我不想使用ifs或开关。 任何人都可以帮助我。
答案 0 :(得分:13)
如果输入始终等于你的exes的文件名,你可以用:
if( isInputNumberBetween1And100() )
Runtime.getRuntime().exec( input + ".exe" );
答案 1 :(得分:2)
如果它们位于同一个文件夹中,您也可以使用java.nio.file.Paths来解决它们:
Runtime.getRuntime().exec(Paths.get(getNumberInput() + ".exe").toString());
答案 2 :(得分:2)
Runtime.getRuntime().exec( input + ".exe" ).waitFor();
如果你想等待,会有效。
答案 3 :(得分: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();
答案 4 :(得分:1)
// getInputFromUser() is your function with validation
String processName = getInputFromUser()+".exe";
Runtime.getRuntime().exec( processName );