2016-03-24 17 views
-1

printFrequencyというメソッドを作成して、可能な各値(0、1、...、9)の出現回数を合計して出力します。コード。あれば、私はそれを起動する方法を正確に知らない私はJavaでprintFrequencyメソッドを実行したいと思っている

Frequencies: 
There are 2, 0's 
There are 0, 1's 
There are 0, 2's 
There are 0, 3's 
There are 3, 4's 
There are 0, 5's 
There are 2, 6's 
There are 1, 7's 
There are 0, 8's 
There are 2, 9's 

をし、それのためにどのようなループを使用するか:

import java.util.Random; 

public class Array { 

    int[] array; 
    int size = 0; 

    public Array(int s) { 
     size = s; 
     array = new int[size]; 
    } 

    public void print() { 
     for (int i = 0; i < size; i++) 
      System.out.printf("%d,", array[i]); 
     System.out.println(); 
    } 

    public void fill() { 
     Random rand = new Random(); 
     for (int i = 0; i < size; i++) 
      array[i] = rand.nextInt(10); 

    } 

    public void sort() { 
     for (int i = 0; i < size; i++) { 
      int tmp = array[i]; 
      int j = i; 

      for (; j > 0 && (tmp < array[j - 1]); j--) 
       array[j] = array[j - 1]; 
      array[j] = tmp; 
     } 
    } 

    public void printFrequency() { 

    } 
} 

私はこのようなことをprintFrequencyメソッドの出力をしたいと思いますそれを簡単に行う方法。

+0

クラスに「Array」という名前を付けないでください。 APIの既存のクラス名を使用すると、読みやすさが低下し、実際に 'Array'クラスをインポートするときに問題が発生する可能性があります。 – Ram

答えて

0

Iメソッドと呼ばれる加算printFrequency、及び印刷、(0、1、...、9)

と仮定すると、可能な各値の発生回数の合計を作成したいですarrayにある数字の頻度を計算したい場合は、固定長配列を使用する1つの解決方法があります。これは0から9までの数字のそれぞれのカウントバケットとして機能します。

コードスニペットは

です
private static void printFrequency() { 
    int[] countArray = new int[10]; 
    for(int x : array) { 
     countArray[x]++; 
    } 

    System.out.print("Frequencies: "); 
    for(int i = 0; i < 10; i++) { 
     System.out.print("There are " + countArray[i] + ", " + i + "'s "); 
    } 
} 
関連する問題