如何为多个字符串赋值?

时间:2014-09-24 05:47:58

标签: java string

我有c1,c2,c3,c4等 每个c都有2个字母的字符串值,例如AX或BY或CZ 然后我拆分该字符串,所以我有cArray与2个字符串的数组。 我的问题是如何将字符串值更改为A或B或C的整数值,因此我可以将它用于任意数量的c,而不使用每个c的if语句

String c1 = args[0];
String c2 = args[1];
String[] c1Array = c1.split("(?!^)");
String[] c2Array = c2.split("(?!^)");
int total = c1Array[0] + c2Array[0];

例如我希望A的值为1,B的值为2,C的值为3

2 个答案:

答案 0 :(得分:0)

您可以使用Map

    String cArray[]={"AX","BY","CZ"};
    Map<String, Integer> map=new HashMap<String, Integer>();
    map.put("A", 1);
    map.put("B", 2);
    map.put("C", 3);
    String[] c1Array = cArray[0].split("(?!^)");//Will give you A
    String[] c2Array = cArray[1].split("(?!^)");//Will give you B
    int total = map.get(c1Array[0]) +  map.get(c2Array[0]);
    System.out.println(total);//Output: 3

答案 1 :(得分:0)

我想你需要一张地图。像

这样的东西
Map<Character, Integer> charValue = new HashMap<Character, Integer>();

然后您需要将所有包机值组合放在此地图中。

charValue.put('A', 1);
charValue.put('B', 1);

然后,一旦你完成了在地图中输入所有这些值,就可以获取它们

System.out.println(charValue.get('A'));
System.out.println(c1Array[0]);    //in your case

此外,

charValue.put('A', 1);     //and
charValue.put('a', 1);     //two different things