gpt4 book ai didi

java - 如何插入用户输入的字符串来直接引用?

转载 作者:行者123 更新时间:2023-11-30 04:13:18 26 4
gpt4 key购买 nike

(在java中,)这可能可能也可能不可能,我认为这是因为它似乎快捷/容易不存在。基本上我想要做的是让用户插入一个状态的名称,然后将其添加到该状态的计数器中,该计数器存储在不同的类中。我想在不创建 50 个 if/else 语句的情况下执行此操作。这是伪代码,代表我期望如何完成它。 (此代码将封装在 mainclass.java 中的 while 循环中,并且计数器和状态名称位于名为 state.java 的类中。)

Scanner userstate = new Scanner(System.in);
String statename = userstate.nextLine();

state.(statename).counter++;

在state.java中:

 public state(int counter){
}
public static state Alabama = new state(0);

为了节省时间,希望有类似上面的快捷方式。

最佳答案

在这种情况下,首选方法是将状态存储在 HashMap 中。或类似的。这允许您按名称查找状态:

import java.util.*;

class State
{
static HashMap<String, State> states = new HashMap<String, State>();

public static State Alabama = new State("Alabama", 0);

public State(String name, int counter)
{
// [ init... ]
states.put(name, this); // add this state to the collection of states
}

public static State getByName(String name)
{
return states.get(name);
}
}

那么你的代码可能如下所示:

State.getByName(statename).counter++;

您还可以使用 reflection ,但应尽可能避免这种情况。

关于java - 如何插入用户输入的字符串来直接引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19073809/

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