【问题标题】:Random number generator method for linked list assignment链表赋值的随机数生成方法
【发布时间】:2012-04-19 19:40:09
【问题描述】:

所以,我必须制作一个随机数生成器来获取 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;
    }
}

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

【问题讨论】:

  • 您是否尝试过非常基础的教程,例如“hello world”示例?您似乎还不具备编写最琐碎程序的基础知识。
  • 我有,是的。我只是发布了我被赋予工作的作品。我从来没有使用过随机生成器,所以整个概念对我来说都是新的。我查过并研究过它,但它与我所得到的不符。
  • 您在代码中遇到的问题与您使用 Random 无关。暂时把这种复杂性放在一边。你还没有定义一个类,你的方法声明有错误。这两个问题都存在于引入 Random 之外。所以先解决这些问题,因为你知道怎么做。
  • 这是一个随机函数的例子javapractices.com/topic/TopicAction.do?Id=62
  • 我的错,我复制错了。这是说类型的非法开始。我从未见过用括号中的数字声明为 nextInt(400) 的东西,这对我来说是错误的。这只是作业中列出的内容,我不确定如何处理它。

标签: java arrays random generator


【解决方案1】:

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。

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

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

祝你好运!

【讨论】:

  • 谢谢!这有很大帮助。我真的很感激!
【解决方案2】:

你需要在类定义中定义这个函数

【讨论】:

  • 我做到了。我已经实现了。我遇到的主要问题是“nextInt(400)”部分。我不确定为什么。我的作业就是这样写的。
  • @Rachel:如果您已经实现了该功能,则应将问题更新为您提供的代码,并且您在问题中报告的错误消息表明您尚未在类中声明该函数.您需要给我们一个SSCCE(一段独立的代码,准确地重现您想要帮助解决的问题)。
【解决方案3】:

即使你已经指定了:

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 是从哪里来的?

【讨论】:

  • 由于 OP 正在尝试学习编程并且这是家庭作业,因此最好不要给他们代码。相反,请解释这些步骤,让他们自己解决问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-22
  • 1970-01-01
  • 1970-01-01
  • 2013-03-26
  • 2023-03-22
  • 1970-01-01
  • 2013-10-12
相关资源
最近更新 更多