2012-10-02 100 views
-1

如何使用StringTokenizer來計算String中的數字出現的次數,如果數字用"_"分隔?必須通過命令行輸入String使用StringTokenizer計數數字的頻率

例如,如果用戶輸入:

1_3_34_12_1_2_34 

輸出將是

1_2, 3_1, 34_2, 2_1, 12_1 
+0

您可以使用地圖來存儲你的電話號碼與他們對應的計.. –

+3

我會用'split'而非StringTokenizer的。 –

+0

輸出必須在那格式? – Gamb

回答

0

這裏是你可以做什麼

String input = "1_3_34_12_1_2_34"; 
String[] numbers = input.split("_"); 
Arrays.sort(numbers); 
int count = -1; 
String last = numbers[0]; 
for (String n : numbers) { 
    count++; 
    if (n.equals(last)) continue; 
    System.out.print(last + '_' + count + ','); 
    last = n; 
    count = 0; 
} 
count++; 
System.out.println(last + '_' + count); 

打印

1_2,12_1,2_1,3_1,34_2 
爲例

提示:爲了表明你應該使用一個LinkedHashMap<String, Integer>

+0

當我輸入1_1_1_1_1時,它說1_4。即使在你的代碼34出現兩次,但輸出是34_1。怎麼了? – cornerstone

+0

它忘記了算上最後一個。 –