如何使用StringTokenizer
來計算String
中的數字出現的次數,如果數字用"_"
分隔?必須通過命令行輸入String
。使用StringTokenizer計數數字的頻率
例如,如果用戶輸入:
1_3_34_12_1_2_34
輸出將是
1_2, 3_1, 34_2, 2_1, 12_1
如何使用StringTokenizer
來計算String
中的數字出現的次數,如果數字用"_"
分隔?必須通過命令行輸入String
。使用StringTokenizer計數數字的頻率
例如,如果用戶輸入:
1_3_34_12_1_2_34
輸出將是
1_2, 3_1, 34_2, 2_1, 12_1
這裏是你可以做什麼
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>
當我輸入1_1_1_1_1時,它說1_4。即使在你的代碼34出現兩次,但輸出是34_1。怎麼了? – cornerstone
它忘記了算上最後一個。 –
您可以使用地圖來存儲你的電話號碼與他們對應的計.. –
我會用'split'而非StringTokenizer的。 –
輸出必須在那格式? –
Gamb