Java 我想显示一个变量值,其中变量名与连接的字符串匹配

Java 我想显示一个变量值,其中变量名与连接的字符串匹配,java,android,android-studio,Java,Android,Android Studio,我有八个整数变量,声明和分配如下: ... int priceOneRed, priceTwoRed, priceThreeRed, priceFourRed, priceOneBlue, priceTwoBlue, priceThreeBlue, priceFourBlue; protected void onCreate(Bundle savedInstanceState) { ... priceOneRed=100; priceTwoRed=200; priceThreeRed=300;

我有八个整数变量,声明和分配如下:

...
int priceOneRed, priceTwoRed, priceThreeRed, priceFourRed, priceOneBlue, priceTwoBlue, priceThreeBlue, priceFourBlue;
protected void onCreate(Bundle savedInstanceState) { 
...
priceOneRed=100;
priceTwoRed=200;
priceThreeRed=300;
priceFourRed=400;
priceOneBlue=1000;
priceTwoBlue=2000;
priceThreeBlue=3000;
priceFourBlue=4000;

}
Map <String, Integer> items = new HashMap<>();
items.put("Red", 100);
items.put("Blue",1000);
.......
// rest of the items
我有两个纺纱机。其中一个有以下选项:“一”、“二”、“三”、“四”。 另一个有这些选项:“红色”、“蓝色”

在用户从这两个微调器中选择选项后,我将输入单词“price”和两个选项。例如价格+1+蓝色


我希望能够显示与连接字符串对应的适当价格(整数值)。我该怎么做

您可以使用simple
Map
来执行此操作:

Map<String, Integer> map = new HashMap<>();
map.put("priceOneRed", 100);
...    

Integer price = map.get(concatedString);
Map Map=newhashmap();
地图出售(“定价”,100);
...    
整数价格=map.get(concatedString);

方法是创建一个简单的
映射
,其中包含键值对,如下所示:

...
int priceOneRed, priceTwoRed, priceThreeRed, priceFourRed, priceOneBlue, priceTwoBlue, priceThreeBlue, priceFourBlue;
protected void onCreate(Bundle savedInstanceState) { 
...
priceOneRed=100;
priceTwoRed=200;
priceThreeRed=300;
priceFourRed=400;
priceOneBlue=1000;
priceTwoBlue=2000;
priceThreeBlue=3000;
priceFourBlue=4000;

}
Map <String, Integer> items = new HashMap<>();
items.put("Red", 100);
items.put("Blue",1000);
.......
// rest of the items
然后,根据用户在微调器中的选择,您可以执行以下操作:

String countChoice = parent.getItemAtPosition(pos).toString(); // from first spinner
String itemChoice = parent.getItemAtPosition(pos).toString() // from second spinner
count.get(countChoice) + " " + itemChoice +  " " + items.get(itemChoice); // change to the appropriate textual format you want

使用
Map
优于
switch
语句,因为它是可扩展的;i、 e.如果你想重新考虑你的代码并添加更多选项,你不会得到一个很长的
switch
语句。除了易于在
微调器的
阵列适配器
贴图
之间复制/更新数据之外,想象一下OP想要再添加一种颜色和一个数字。。。如果不将计数和项目颜色之间的逻辑分开,那么每次重构都将是一场噩梦。。。此外,如果您想保持原样,那么在这种情况下,
switch
语句会更简单!