可能有更好的方法来做到这一点,但我基本上想要一个用户输入,每次都可以在一个新变量中设置无限次。我试图弄清楚如何使用名称中的变量设置变量。
来自 DOS Batch 我会做类似的事情:
set /A num=0
set /A coins%num%=%num% & set /A num=(%num%+1)
这将根据“num”的值每次在变量“coins1,coins2,coins3”下设置一个新变量
可能有更好的方法来做到这一点,但我基本上想要一个用户输入,每次都可以在一个新变量中设置无限次。我试图弄清楚如何使用名称中的变量设置变量。
来自 DOS Batch 我会做类似的事情:
set /A num=0
set /A coins%num%=%num% & set /A num=(%num%+1)
这将根据“num”的值每次在变量“coins1,coins2,coins3”下设置一个新变量
有许多基本结构可以满足您的需求,最常见的是列表和数组......
我先看看Arrays
介绍。
当这有意义时,我会看看Collections
主要区别(在这种情况下)是数组往往是固定长度的,而列表可以是可变长度的
你不能直接做你想做的事。
最接近的方法是使用集合来存储变量名称(键)和值(值)
我会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
方法获取键的集合。 文档在这里。