2016-06-28 20 views
-4

は、ユーザーの数が5の入力を入力することができます私は、コードはJavaで与えられている間違っている数値やショーヒストグラムの形の配列で、ユーザからの入力を取り、ヒストグラムは、制約なしに任意の形式で表示されるはずですJavaの配列を使ってヒストグラムを取得するにはどうすればよいですか?

package p21; 
import java.util.Scanner; 

public class P21 { 
public static void main(String[] args) { 
    { 
    int count[] = new int[10]; // count array will keep elements of element 
    // in particular range; 
    int elements[]; // for example 27 15 34 22 11 11 19 
    { // in above input there is count[0]=0; 
    for (int i = 0; i < elements.length; i++) // count[1]=4 and count[2]=2 and count[3]=1; 
    { 
     if (elements[i] >= 0 && elements[i] < 50) { 
     if (elements[i] < 10) { 
     count[0]++;} 
     else if (elements[i] >= 10 && elements[i] < 20) { 
     count[1]++;} 
     else if (elements[i] >= 20 && elements[i] < 30) { 
     count[2]++;} 
     else if (elements[i] >= 30 && elements[i] < 40) { 
     count[3]++;} 
     else { 
     count[4]++; 
     }} 
     else if (elements[i] >= 50 && elements[i] <= 100) { 
     if (elements[i] < 60) { 
     count[5]++;} 
     else if (elements[i] >= 60 && elements[i] < 70) { 
     count[6]++;} 
     else if (elements[i] >= 70 && elements[i] < 80) { 
     count[7]++;} 
     else if (elements[i] >= 80 && elements[i] < 90) { 
     count[8]++;} 
     else { 
     count[9]++; 

     }}}} 

    { 
    System.out.println("Histogram of the elements:"); 
    for (int i = 0; i < count.length; i++) // this loop will print line 
    { 
     for (int j = 0; j < count[i]; j++) // this will print elements element(*) 
     { // at each line. 
     System.out.print("* "); 
     } 
     if (count[i] != 0) // if line does'nt contain zero 
     System.out.println(""); // then if will change the row; 
    } 
    } 
    } 
    /* 
    in above code if count[i]=zero means if there is elements 
    element in particular range say [0-9] then it will 
    elementst jump on next line; 
    */ 
    { 
    { 
    Histogram hg = new Histogram(); 
    System.out.println("Enter the elements of Elements want in a Histogram:"); 
    Scanner sc = new Scanner(System.in); 

    int noOfElements = sc.nextInt(); 
    int histogramElements[] = new int[noOfElements]; 

    System.out.println("Enter the Elements for Histogram:"); 
    for (int i = 0; i < noOfElements; i++) { 
     histogramElements[i] = sc.nextInt(); 
    } 

    hg.showHistogram(histogramElements); 
    } 
+0

..あなたは似たような質問をしていませんか?コードの書式を編集して、どこに問題があるのか​​を明記してください。今のように、コードは中括弧のためにコンパイルされません。 – Sid

+1

あなたの中括弧と配置はまったく変わっています – ragingasiancoder

+0

質問は似ていますがコードは違っています...... –

答えて

0

あなたのビニング手法では、10のグループのみを気にしているからです。10.入力数を10で割ります。分割した結果をバインドし、その結果を使用してカウンタ配列のインデックスを作成します。

+0

ヒストグラムアルゴリズムはありますか?私のコードを修正しようとしません。 –

関連する問題