gpt4 book ai didi

java - 随机数测试(直方图)

转载 作者:行者123 更新时间:2023-12-01 13:53:28 33 4
gpt4 key购买 nike

我是 Java 编码新手,我正在尝试使用提供给我的以下方法创建直方图。这些注释是对每个方法的说明,稍后我们将使用它们来创建主方法并打印直方图。我已经达到了方法 3,并且能够很好地编译所有内容,但我不确定我是否做对了,我只知道它们正在正确编译到方法 4。我只是不知道该怎么做对于方法 5。 /* 方法一: 查找数组中的最大值 */

public static int max(int[]arr){
int maxValue = arr[0];
for ( int i=1; i < arr.length; i++ ){
if (arr[i] > maxValue){
maxValue = arr[i];
}
}
return maxValue;
}

/*
Method 2:
Compute a random integer in the range [a..b)
*/

public static int randomInteger(int a, int b){;
int randomNum;

randomNum = a+(int)(Math.random() * ((b-a)+1));
return randomNum;
}

/*
Method 3:
Draw a Simple histogram of the array arr.
*/

public static void drawHistogram(int[] arr){
for ( int i=0; i<arr.length; i++ ){
System.out.print((i*10+1)+"-"+(i*10+10)+":"+"\t");

for (int j=0; j<arr[i]; j++)
System.out.print("*");

System.out.println();
}
}

/*
Method 4:
Compute num random integers in the range [0..range) and put the frequency in arr[]
*/

public static void doSingleTest(int[] arr, int num, int range){
for (int i=1; i<=num; i++){
int random = randomInteger(0,range);
arr[random]++;
}
}

/*
Method 5:
Compute num pairs of random integers in the range [0..range) and put the frequency in arr[]
*/

public static void doPairsTesting(int[] arr, int num, int range){

}

public static void main(String[] args) {
int test[] = new int[]{1,2,3,4,6,11,7};
System.out.println("method1 = "+ max(test));
System.out.println("method2 = "+randomInteger(1,20));
drawHistogram(test);
doSingleTest(test,1,5);
System.out.println("method4 = "+Arrays.toString(test));

}

最佳答案

这是设计错误int random = int randomInteger(range);我认为你需要阅读docs abot java basics .

我用下面的方式修复了方法4:

public static void doSingleTest(int[] arr, int num, int range){
for (int i=1; i<=num; i++){
int random = randomInteger(0,range);
arr[random]++;
}
}

要测试您的方法,请使用下一个主要方法,它将结果打印到控制台,或者您可以在 IDE 中使用调试器:

public static void main(String[] args) {
int test[] = new int[]{1,2,3,4,6,11,7};
System.out.println("mathod1 = "+ max(test));
System.out.println("mathod2 = "+randomInteger(1,20));
drawHistogram(test);
doSingleTest(test,1,5);
System.out.println("mathod4 = "+Arrays.toString(test));

}

最后你的方法 5 必须返回所需类型的值或者是 void:

public static void doPairsTest(int[] arr, int num, int range){

}

关于java - 随机数测试(直方图),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19783236/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com