2014-10-09 109 views
0

,因爲這是家庭作業,我不需要一個確切的解決方案,但我有一件事情煩惱:轉換一個字符串,整數和字符

如果我有包括3 a 2 b 1 c
一個字符串,我需要獲取整數並添加它們,然後獲取字符並將其轉換爲數字等級,但我不知道該怎麼做。沒有nextChar()方法對嗎?

+1

如果你想從字符串的某個位置得到字符,那麼你可以使用它的'charAt(index)'方法。您也可以在'toCharArray()'方法的幫助下從字符串中獲取字符數組。 – Pshemo 2014-10-09 23:08:28

+0

如果你保證每個字符之間有空格,你也可以看看String的split()方法,它會給你一個String數組,每個字符在它自己的單元格中。 – MarsAtomic 2014-10-09 23:11:41

+0

你是指AAABBC? – Leo 2014-10-09 23:43:08

回答

2

這裏有一個非常簡單的選項。

我會讓你完成如何處理每種不同的類型。

String[] contents = "3 a 2 b 1 c".split(" "); 

int i = 0; 
for (String c : contents) { 
    if (i % 2 == 0) { 
     // do something to handle the characters 
    } 
    else { 
     // do something to handle the numbers 
    } 

    i++; 
} 
+0

我認爲他的意思是AAABBC – Leo 2014-10-09 23:41:59

1

是Java更容易,因爲char和短號碼意味着同樣的,你只需要強制短:字符的

int total = 0; 
for(char a : "ABCDE".toCharArray()) { 
    total += (short)a; 
} 

這將增加的ASCII值,如果你有一個任意你的字符的值然後只是添加一個地圖進行轉換:

Map<Character, Integer> charValues = new HashMap<>(); 
charValues.put('A', 5); 
charValues.put('B', 7); 
charValues.put('C', 15); 
int total = 0; 
for(char a : "ABCDE".toCharArray()) { 
    total += charValues.get(a); 
}