主要方法中必须包含以下内容:


声明一个大小为20的数组,其中将包含20个整数。
生成20个随机整数,范围为1到10,并将它们放入此数组中。
使用FOR循环(从1到20)填充数组。
在FOR循环中,将方法1放置在数组中时,调用方法1一次生成一个随机数。
向方法发送范围的起始值。
向方法发送范围的结束值。
显示数组的内容。
调用方法2以打印出数组。
将方法发送给数组。
发送方法数组的大小。


到目前为止,这是我的代码,出现一些错误:

Kidwell_Lab09.java:29: error: incompatible types: int[] cannot be converted to int randomNumbers = new int[SIZE];
Kidwell_Lab09.java:32: error: array required, but int found System.out.println("Number " + i + " : " + randomNumbers[i]);
Kidwell_Lab09.java:39: error: cannot find symbol x = inputReader.nextInt();
symbol: variable x location: class Kidwell_Lab09
Kidwell_Lab09.java:40: error: cannot find symbol } while (x == 1);
symbol: variable x location: class Kidwell_Lab09 4 errors


在这种品脱的情况下,我有点失落,在此先感谢:

import java.util.Scanner;
import java.util.Random;

public final class  {
    public static Random generator = new Random();

    public int createNum(int[] randomNumbers, int SIZE, int n, int i) {

        int x;
        SIZE = 20;
        randomNumbers = new int[SIZE];

        Random generator = new Random();
        for (i = 0; i < SIZE; i++) {
            n = generator.nextInt(10) + 1;
            randomNumbers[i] = n;
        }
        return n;
    }

    public void print(int i, int randomNumbers, int SIZE){
        SIZE = 20;
        randomNumbers = new int[SIZE];

        for (i = 0; i < SIZE; i++) {
            System.out.println("Number " + i + " : " + randomNumbers[i]);
        }
    }

    public static void main(String[] args){
        do{
            Scanner inputReader = new Scanner(System.in);
            System.out.print("Do you wish to restart the program, Enter 1 for YES, 2 for NO: ");
            x = inputReader.nextInt();
        } while (x == 1);
    }
}

最佳答案

您的说明对我来说似乎很清楚,让我们从method1开始;您需要传递范围的起点和终点,并在这两个值之间返回一个随机值。您有一个Random,让我们使用它。就像是,

private static Random generator = new Random();
public static int method1(int start, int end) {
    return generator.nextInt(1 + end - start) + start;
}


接下来,您需要传递一个数组,其长度为method2(用于显示数组)。这是一种这样做的方式(我希望您的讲师在这里期望使用for循环,但我将其保留为练习)

public static void method2(int[] arr, int len) {
    System.out.println(Arrays.toString(arr));
}


最后,您的main方法应调用方法method1method2填充数组并显示它。就像是

public static void main(String[] args) {
    int[] arr = new int[20];
    for (int i = 0; i < arr.length; i++) {
        arr[i] = method1(1, 10);
    }
    method2(arr, arr.length);
}

09-25 22:31
查看更多