0

可能有更好的方法来做到这一点,但我基本上想要一个用户输入,每次都可以在一个新变量中设置无限次。我试图弄清楚如何使用名称中的变量设置变量。

来自 DOS Batch 我会做类似的事情:

set /A num=0

set /A coins%num%=%num% & set /A num=(%num%+1)

这将根据“num”的值每次在变量“coins1,coins2,coins3”下设置一个新变量

4

2 回答 2

1

有许多基本结构可以满足您的需求,最常见的是列表和数组......

我先看看Arrays介绍。

当这有意义时,我会看看Collections

主要区别(在这种情况下)是数组往往是固定长度的,而列表可以是可变长度的

于 2012-10-11T01:43:16.480 回答
1

你不能直接做你想做的事。

最接近的方法是使用集合来存储变量名称(键)和值(值)

我会Map<String, Object>为此目的使用 a 。

因此,如果用户指定一个变量名“var1”(as variableName)和一个值“some value”作为(value),你可以做

// do this once
Map<String, Object> vars = new HashMap<String, Object>();
// every time you get a new "variable" and value do 
vars.put(variableName, value);

如果您需要输入所有“变量”,您可以使用该keySet方法获取键的集合。 文档在这里。

于 2012-10-11T01:44:32.110 回答