0

所以,我必须制作一个随机数生成器来获取 0 到 400 之间的数字。我将它们放入一个数组中,然后稍后对它们进行排序。我只是不知道该怎么做。我得到了一些类似的东西;

public int nextInt(400) //gives me errors
{
    random.setSeed(12345L);
    for (int i = 0; i < arr.size; i++)
    {
         val = random.nextInt(400);
         a[i] = val;
    }
}

我已经调用了随机类,因为方向表明了这一点。我只是不知道为什么这不起作用。它给了我错误,尤其是第一部分;需要类、接口或枚举。有人可以引导我朝着正确的方向前进吗?

4

3 回答 3

2

Java(所有编程语言)中的函数在其定义中都有“变量”。

你有:

public int nextInt(400)

在这里,您希望 400 成为传递给函数的值。

把它想象成数学。我相信你已经处理过类似的事情f(x) = 2 * x。这里,x 是变量,你用 x 的值“评估”f(x)。同样,在编程中,我们会有类似的东西:

public int nextInt(int x)

如您所见,我们的函数将 x 定义为 int 类型。这在像 Java 这样的语言中是必需的,因为您告诉编译器此函数将只接受 x 的整数。

现在你已经完成了,你可以在你的函数体中使用 x 作为一个变量。

请注意,无论何时使用变量,都必须首先对其进行定义。一行如:

int variable;

将变量定义为 int。

您的程序缺少random, val,arr和的这些a。请注意,arranda是数组(不知何故,我觉得它们不应该是两个单独的变量)。

在尝试这个问题之前,你真的应该复习一下变量定义、数组和函数。你最好的资源是你的教科书,因为它会以一种有条理、循序渐进的方式解释一切。您还可以尝试在线提供的许多教程。如果您有具体问题,可以随时返回 StackOverflow,我相信您会在这里找到帮助。

祝你好运!

于 2012-04-06T04:53:14.587 回答
0

您需要在类定义中定义此函数

于 2012-04-06T04:51:23.650 回答
0

即使您已指定:

public int nextInt(400)

在这一行函数中返回int并且在你的整个身体中你没有任何返回语句。

是的,因为 Kshitij Mehata 建议不要直接使用 400 作为那里的值使用变量。

这应该是你的功能:

public int[] nextInt(int x) //gives me errors
    {
        random.setSeed(12345L);
        int[] a=new int[arr.size];
        for (int i = 0; i < arr.size; i++)
        {
             val = random.nextInt(400);
             a[i] = val;
        }
        return a;
    }

即使这个arr来自哪里, arr也有一些问题?

于 2012-04-06T05:03:22.783 回答