2014-09-24 96 views
0

我有c1,c2,c3,c4 ...等 每個c的值爲2個字母的字符串,例如AX或BY或CZ 然後我分割該字符串,所以我有2個字符串數組的cArray。 我的問題是如何改變的字符串值轉換成A或B或C的整數值,這樣我就可以使用它的任何數量的C,而不使用if語句對每位C如何賦值給幾個字符串?

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

例如我想有值1,B具有值2,C具有價值3

回答

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

謝謝你,也許這正是我需要的,但我不確定是否需要分配String和Integer?或者它只是正則表達式? 我需要導入另一個庫嗎?因爲我的日食不認識地圖和hashmap不能解析成類型 – Karshzz 2014-09-24 06:22:52

+1

謝謝它的作品! – Karshzz 2014-09-24 06:27:47

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 
+0

謝謝,也許這是我需要的,但我不確定是否需要分配Character和Integer?或者它只是正則表達式? 我需要導入另一個庫嗎?因爲我的日食不認識地圖和hashmap不能解析成類型 – Karshzz 2014-09-24 06:20:42

+0

謝謝它的作品! – Karshzz 2014-09-24 06:28:11

+0

你們倆都有正確的答案,你們比我快,但對不起,我說這是字符串,無論如何謝謝,我不允許放棄 – Karshzz 2014-09-24 06:30:38

相關問題