gpt4 book ai didi

java - 代码中使用的字符串输入?

转载 作者:行者123 更新时间:2023-11-30 03:09:00 25 4
gpt4 key购买 nike

所以我想做的是有一个类可以让我选择另一个类来运行。目前,我通过用户输入与预定数组中的字符串匹配的字符串来设置此功能。出现错误的部分是 item runThis = new item(); 我完全预计会失败,但是有没有办法做到我失败的事情?

class Class1 {
public static void main(String[] args){
String[] options = new String[] {"Class2", "Class3", "Class4", "STOP"};
String response = "";
Scanner input = new Scanner(System.in);

while (!response.equals("STOP")){
System.out.println("Which program would you like to run?\nYour options are:");

for (String item : options) {
System.out.println(item);
}

response=input.nextLine();
for (String item : options) {
if(resonse.equals(item))
item runThis = new item();
}
}
}
}

最佳答案

要从字符串变量动态执行类,您可以使用:

Class c = Class.forName("className");
c.newInstance();

就您而言,它将是:

for (String item : options){
if(response.equals(item)){
Class c;
try {
c = Class.forName(response);
c.newInstance();
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
}
}

关于java - 代码中使用的字符串输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34033634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com