gpt4 book ai didi

java - COMP SCI 101/JAVA 创建一个包含 1000 个随机整数的数组,然后执行频率计数并计算平均值

转载 作者:行者123 更新时间:2023-12-02 06:37:28 26 4
gpt4 key购买 nike

这是一项编程作业,我遇到了一些麻烦。我不能使用类里面没有教过的任何东西。我相信我的代码可能是多余的(我认为我有太多计数控制循环)。

问题是:

创建一个应用程序,用 1,000 个随机整数填充数组,每个整数在 1 到 10 之间。然后,您的程序应该执行频率计数 – 对于所有 10 个元素,有多少个元素等于 1,有多少个元素等于 2,等等可能的值。您的程序还应该计算这些值的平均值。您的应用程序应将格式整齐的摘要报告输出到包含摘要结果的文本文件,而不是整个数组。

我相信我已经创建了一个数组,其中正确填充了 1000 个 1 到 10 之间的随机整数。当我处理问题的频率计数部分时,我需要它输出等于 1、等于 2 等的整数的确切数量。目前我的输出是打印每个等于 1 的随机值,而不是打印等于 1 的值的确切数量。

这是我的代码:任何帮助将不胜感激。另外,我认为我可能有太多计数控制循环。也许这是我的问题?

/**
* This method fills an array with 1,000 random integers, each between
* 1 and 10.
*/
public static void main(String[] args) {
int [] num = new int[1000]; //an array of 1000 integers
int i; //used as an array index

for( i= 0; i < 1000; i++)
num[i] = 1+(int) (Math.random()*((10-1)+1));
//math.Random generates a number between 0 and 1, this method calls for numbers
//to be between 1 and 10. To make this possible, I need to multiply
//the math.random by the max-min and add 1 to make sure it generates
//1,000 random integers between 1 and 10.

int count1; //used to count how many integers are equal to 1
System.out.println ("Integers equal to 1");
//this loop prints the values in the array
for(i=0; i<1000; i++)
if (num[i] == 1)
{
i++;
System.out.println(i + "of the random 1000 integers are equal to 1.");
}

这是我教科书中用于创建代码的信息。

变量 countEven 首先初始化为零,然后,当我们迭代数组时,我们将为每个偶数斐波那契数增加计数。为了测试偶数,我们将使用 Java 的余数运算 (%),它返回整数除法运算的余数。如果除以二时余数为零,则该数字是偶数。

int[] fib = {0,1,1,2,3,5,8,13,21,34} // an array initialized with Fibonacci numbers
int i;// used as an array index
int countEven; used to count how many of the first 10 Fibonacci numbers are even
System.out.println(“Even Fibonacci numbers” );
// this loop prints the values in the array
for( i= 0; i < fib.length; i++)
if (fib[i] % 2 == 0)
{
count++;
System.out.println( fib[i] + “ is even”);
}
system.out.println ( count + “ of the first 10 Fibonacci numbers are even”);

输出如下所示:甚至斐波那契数列0 是偶数2 是偶数8是偶数34是偶数前 10 个斐波那契数中有 4 个是偶数。

最佳答案

您有几个问题。在区 block 中

if ( num[i] == 1 ) {
i++;
System.out.println(i + "of the random 1000 integers are equal to 1.");
}

您正在递增 i,而不是 count1

此外,每次 if ( num[i] == 1 ) 为 true 时,您都会打印结果,而不仅仅是最后一次。

关于java - COMP SCI 101/JAVA 创建一个包含 1000 个随机整数的数组,然后执行频率计数并计算平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19484634/

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