如果一个数字被读取为字符串,如何计算字符串中出现次数最多的数字出现的次数?\n a. 例如:2 4 3 4 2 4 0 -> (3)


要做到这一点,

  • 修剪给定的字符串并使用 **split()** 方法将其分割(去除中间的空格)。
  • 创建一个整数数组,并在循环中使用 **Integer.parseInt()** 方法将字符串数组的每个元素转换为整数,并将其分配给整数数组的相应元素。
  • 对获得的整数数组进行排序,由于此方法按升序对数组的元素进行排序,因此最后一个元素将是数组中的最大值。
  • 创建一个初始值为 0 的整数变量 count。
  • 将数组的每个元素与最大值进行比较,每次匹配发生时,递增 count。
  • 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("Integer Array ::"+Arrays.toString(intArray));
      Arrays.sort(intArray);
      System.out.println("sorted Array ::"+Arrays.toString(intArray));
      int max = intArray[size-1];
      System.out.println("Max value is :"+max);
     
      for(int i = 0; i<size; i++) {
         if(intArray[i]==max) {
            count++;
         }
      }
      System.out.println("Number of times the largest value repeated is ::"+count);
   }
}

输出

Integer Array ::[2, 3, 4, 3, 8, 8, 3, 5, 2, 6, 8]
sorted Array ::[2, 2, 3, 3, 3, 4, 5, 6, 8, 8, 8]
Max value is :8
Number of times the largest value repeated is ::3

更新于: 2020年6月16日

76 次浏览

开启你的 职业生涯

完成课程获得认证

开始学习
广告