2016-06-28 19 views
-4

以從用戶輸入在數字和顯示直方圖其中i是錯的代碼在Java中給出的形式的陣列,用戶可以在數字輸入5輸入和直方圖應該以任何形式示出了具有沒有約束如何使用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.綁定分隔結果,然後使用結果爲您的計數器數組編制索引。

+0

你有沒有任何直方圖算法?爲什麼你不試圖糾正我的代碼。 –