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
语句会更简单!