Создать гистограмму с помощью Java - PullRequest
0 голосов
/ 30 сентября 2018

Я работаю над заданием по созданию гистограммы с использованием Java с использованием случайных чисел, но я не знаю, как правильно ее кодировать, оно продолжает выдавать ошибки при переходе к следующему шагу.

public class BinSort {
    final int N_BINS = 0;                   //number of bins
    final int N_SAMPLES = 0;                //total random integers
    final float BIN_WIDTH = 0;              //width of the bin 
    int [] nums;                            //generate and store random numbers
    int [] binCount;                        //array
    int max = 0;                            //largest random number = (max-1)


    public void main(String[] args) {
        int nBins, nSamples;                    //initializers
        BIN_WIDTH = (float) (max/N_BINS);       //calculate BIN_WIDTH
        nums = new int[] {};                    //initialize nums array

        for (int i = 0; i < max; i++) {         
            int array = nums[i];       
        }                                       
    }

    public void generateBins() {
        int bin;
        int [] binCount = new int [N_BINS];     //set binCount array with N_BINS elements
        for (int i = 0; i < N_SAMPLES; i++) {
            int array = binCount[i];
            bin = (int) Math.floor(nums[i]/BIN_WIDTH);
        }   
    }                                           

    public void printBins() {
        float freq;

        for(int i = 0; i < binCount.length; i++) {
            freq = (binCount[i]/N_SAMPLES);
            System.out.print(N_SAMPLES + " random integers in " + binCount + " sorted into " + N_BINS + " bins:");
            float binMin  = i * BIN_WIDTH;
            float binMax  = binMin + BIN_WIDTH;
            System.out.println(binCount[i] + freq + binMin + binMax);
        }
    }                                           
}

Этот код неполон, но я не знаю, что делать дальше.Итак, я застрял.Может кто-нибудь помочь мне?

Редактировать: Программа не компилируется после запуска в Eclipse.В нем говорится, что выполнение прекращается в консоли.

1 Ответ

0 голосов
/ 30 сентября 2018

В статическом методе могут использоваться только статические переменные.Ниже код компилируется нормально:

public class BinSort {
    static final int N_BINS = 0;                   //number of bins
    static final int N_SAMPLES = 0;                //total random integers
    static float BIN_WIDTH = 0;              //width of the bin
    static int [] nums;                            //generate and store random numbers
    int [] binCount;                        //array
    static int max = 0;                            //largest random number = (max-1)


    public static void main(String[] args) {
        int nBins, nSamples;                    //initializers
        BIN_WIDTH = (float) (max/N_BINS);       //calculate BIN_WIDTH
        nums = new int[] {};                    //initialize nums array

        for (int i = 0; i < max; i++) {
            int array = nums[i];
        }
    }

    public void generateBins() {
        int bin;
        int [] binCount = new int [N_BINS];     //set binCount array with N_BINS elements
        for (int i = 0; i < N_SAMPLES; i++) {
            int array = binCount[i];
            bin = (int) Math.floor(nums[i]/BIN_WIDTH);
        }
    }

    public void printBins() {
        float freq;

        for(int i = 0; i < binCount.length; i++) {
            freq = (binCount[i]/N_SAMPLES);
            System.out.print(N_SAMPLES + " random integers in " + binCount + " sorted into " + N_BINS + " bins:");
            float binMin  = i * BIN_WIDTH;
            float binMax  = binMin + BIN_WIDTH;
            System.out.println(binCount[i] + freq + binMin + binMax);
        }
    }
}
...