让用户命名变量

时间:2014-08-06 14:01:07

标签: java

对于我的程序,我希望拥有它,以便用户可以将变量命名为有点像游戏中的名称你的charecter / world。我查了一下,无法找到任何可能的地方,如果有可能,如果可以的话。

4 个答案:

答案 0 :(得分:3)

您可以做的是创建链接列表或您创建的某种类型对象的arraylist。然后,您的对象可以具有两个属性(或更多),其中一个是名称,另一个是值。然后,您可以根据名称在列表中搜索对象,并返回所需的值。这基本上可以实现您想要实现的目标。

答案 1 :(得分:3)

正如许多其他人所说,你无法动态命名变量。

然而,您可以制作地图

它允许您为变量创建任何名称,例如" MyTestVar"在运行时并将其用作该地图中的关键字:

Map<String, String> myMap = new HashMap<String, String>();

String varName = getVariableNameFromUser();
String value = getValueFromUser();

myMap.put(varName, value);


// ... later


String whatVariableDoYouWantTheValueOf = getVarNameFromUser();
String storedValue =  myMap.get(whatVariableDoYouWantTheValueOf);
System.out.println("The value for that is: " + storedValue);

答案 2 :(得分:2)

您无法让用户命名变量。您所能做的就是允许用户设置变量的值。

答案 3 :(得分:0)

我猜你的意思是给对象提供标签标签。 &#34;变量名称&#34;对此有一种误导性的措辞。

用户输入name对象的obj字符串后,您可以使用HashMap<String, Object>来存储用户输入:

Map<String, Object> tagToObjectStore = new HashMap<String, Object>();

String userInput = "any Tag name";
Object somethingToLabel = ... // TODO

tagToObjectStore.put(userInput, somethingToLabel); // store the user input

// later in code...

Object theStoredObject = tagToObjectStore.get(userInput); // get the stored object

这就是你要找的东西吗?