使用Java创建条形图

使用Java创建条形图,java,histogram,bar-chart,Java,Histogram,Bar Chart,我正在做一个作业,用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;

我正在做一个作业,用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);
        }
    }                                           
}
公共类BinSort{
final int N_bin=0;//bin的数量
final int N_SAMPLES=0;//总随机整数
最终浮箱_WIDTH=0;//浮箱的宽度
int[]nums;//生成并存储随机数
int[]binCount;//数组
int max=0;//最大随机数=(max-1)
公共void main(字符串[]参数){
int nBins,nSamples;//初始值设定项
仓位宽度=(浮动)(最大/N仓位);//计算仓位宽度
nums=newint[]{};//初始化nums数组
对于(int i=0;i
此代码不完整,但我不知道下一步要做什么。所以,我被卡住了。 有人能帮我吗


编辑:程序在eclipse中运行后不会编译。它表示执行在控制台中终止。

静态方法中只能使用静态变量。下面的代码很好:

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);
        }
    }
}
公共类BinSort{
静态final int N_bin=0;//bin数
静态final int N_SAMPLES=0;//总随机整数
静态浮点存储单元\u WIDTH=0;//存储单元的宽度
静态int[]nums;//生成并存储随机数
int[]binCount;//数组
静态int max=0;//最大随机数=(max-1)
公共静态void main(字符串[]args){
int nBins,nSamples;//初始值设定项
仓位宽度=(浮动)(最大/N仓位);//计算仓位宽度
nums=newint[]{};//初始化nums数组
对于(int i=0;i
请将您的问题分解并提出一个具体问题。1)“它总是出错”什么错误?将它们复制/粘贴为问题的答案。2) 为了更快地获得更好的帮助,请发布一个or。