如果将数字读取为字符串,如何计算字符串中重复的最高数字的次数?\ a.例如:2 4 3 4 2 4 0 -> (3)
java 8object oriented programmingprogramming
为此,
- 修剪给定的字符串并使用split()方法将其拆分(删除中间的空格)。
- 创建一个整数数组,并在循环中使用
方法将字符串数组的每个元素转换为整数,并将其赋值给整数数组的相应元素。 - 对获得的整数数组进行排序,由于此方法按升序对数组元素进行排序,因此最后一个元素将是数组中的最大值。
- 创建一个初始值为0的整数变量count。
- 将数组的每个元素与最大值进行比较,每次匹配时,递增计数。
- 计数的最终值将是所需的结果。
示例
import java.util.Arrays; public class CountingHighestNumber { public static void main(String args[]) { int count = 0; String str = "2 3 4 3 8 8 3 5 2 6 8"; String[] strArray = str.trim().split(" "); int size = strArray.length; int[] intArray = new int[size]; for(int i = 0; i<size; i++) { intArray[i] = Integer.parseInt(strArray[i]); } System.out.println("整数数组 ::"+Arrays.toString(intArray)); Arrays.sort(intArray); System.out.println("已排序数组 ::"+Arrays.toString(intArray)); int max = intArray[size-1]; System.out.println("最大值为 :"+max); for(int i = 0; i<size; i++) { if(intArray[i]==max) { count++; } } System.out.println("最大值重复的次数是 ::"+count); } }
输出
整数数组 ::[2, 3, 4, 3, 8, 8, 3, 5, 2, 6, 8] 排序数组 ::[2, 2, 3, 3, 3, 4, 5, 6, 8, 8, 8] 最大值为 :8 最大值重复的次数为 ::3