如果一個數字以字串的形式讀取,如何統計字串中出現次數最多的數字重複出現的次數?\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-06-16

76 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告

© . All rights reserved.