【发布时间】:2020-10-03 19:16:41
【问题描述】:
所以,我应该使用随机数生成器创建 3 个随机大小为 1 到 5 个元素的数组。我创建了一个名为 getRandomArraySize() 的方法。
import java.util.Random;
public class TemperatureDemoWithArrays
{
public static int getRandomArraySize()
{
Random randomArray = new Random();
int arraySize = randomArray.nextInt() % 5 + 1;
int[] temperatureArray = new int[arraySize];
for(int i = 0; i < temperatureArray.length; i++)
{
temperatureArray[i] = randomArray.nextInt();
}
return arraySize;
}
My professor gave us a demo program to use. We're not supposed to alter it at all. Everything is under the main method.
public static void main(String[] args)
{
int x;
Temperature average;
System.out.println("You will be asked to fill 3 randomly sized arrays.");
Temperature[] temperatureArrayOne;
Temperature[] temperatureArrayTwo;
Temperature[] temperatureArrayThree;
temperatureArrayOne = new Temperature[getRandomArraySize()];
readTemperatureArray(temperatureArrayOne);
System.out.println("The values of temperature array one are ");
printTemperatureArray(temperatureArrayOne);
average = getAverage(temperatureArrayOne);
System.out.println("The average of temperature array one is " + average);
temperatureArrayTwo = new Temperature[getRandomArraySize()];
readTemperatureArray(temperatureArrayTwo);
System.out.println("The values of temperature array two are ");
printTemperatureArray(temperatureArrayTwo);
average = getAverage(temperatureArrayTwo);
System.out.println("The average of temperature array two is " + average);
temperatureArrayThree = new Temperature[getRandomArraySize()];
readTemperatureArray(temperatureArrayThree);
System.out.println("The values of temperature array three are ");
printTemperatureArray(temperatureArrayThree);
average = getAverage(temperatureArrayThree);
System.out.println("The average of temperature array three is " + average);
我正在尝试使用这行代码调用 getRandomArraySize() Temperature[] temperatureArrayOne = new Temperature[getRandomArraySize()]; 我得到一个此行上的错误是 Type mismatch: cannot convert from int[] to int。我尝试将 getRandomArraySize() 方法放在 main 方法的内部和外部。我不断收到同样的错误。请帮忙!
【问题讨论】:
-
getRandomArraySize() 返回一个数组
int[],而不是int。给定函数的名称,我认为它应该返回一个数字而不是一个数字数组。目前它总是返回一个由 5 个整数组成的数组,其中整数是随机的,我认为这不是你的意思。 -
你是对的,但我不应该知道它会输出多少个数字。这就是为什么它是随机的。我所知道的是它应该输出至少一个数字或最多 5 个数字。你能给我一些提示或指出正确的方向吗?
-
好吧,你可以用
new int[arraySize];初始化它而不是new int[5];,之前你将arraySize设置为随机数模5。数字模5 将给出一个从0 到4 的数字,所以你可以添加一个,例如int arraySize = randomArray.nextInt() % 5 + 1; -
那么,我是否仍然返回 temperatureArray,因为我仍然遇到同样的错误?
-
如果您忽略我的第一条评论,并按照我在第二条中的建议进行操作,那么您将有一个函数返回一个包含 1 到 5 个条目的数组,所有条目都是随机的。所以你完成了。只需在主线中打印数组即可。