所以,我必须制作一个随机数生成器,以获得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;
}
}
我已经调用了随机类,因为方向表明了这一点。我只是不知道为什么这不起作用。它给了我错误,尤其是第一部分; class,interface或enum expected。请问有人引导我走向正确的方向吗?
答案 0 :(得分: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
。请注意arr
和a
是数组(不知怎的,我觉得它们不应该是两个独立的变量)。
在尝试这个问题之前,你应该真正了解变量定义,数组和函数。您最好的资源将是您的教科书,因为它将以有组织的,循序渐进的方式解释所有内容。您还可以尝试在线提供的许多教程。如果您有特定问题,可以随时回到StackOverflow,我相信您会在这里找到帮助。
祝你好运!答案 1 :(得分:0)
您需要在类定义
中定义此函数答案 2 :(得分:0)
即使您已指定:
public int nextInt(400)
在这个行函数中返回 int ,在你的整个身体中你没有任何return语句。
并且是的,因为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 也存在问题?