如何使用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