1

我被困了大约一个小时,在谷歌搜索和研究之后,我无法让我的代码运行。它没有显示一个错误,当我按下运行它只是打开调试并且什么都不做。我正在使用日食。我正在尝试创建一个包含 10 个对象的列表并为它们提供随机数。

class test {
public static void main(String[] args){
    int a [] = new int[9];{
            for (int i = 0; i < a.length; i++)
                a[i] = a[(int)(Math.random()*70+15)];
            for (int elem : a){
                System.out.println(elem);
            };              
}}}
4

3 回答 3

6

如果您实际上是在启动应用程序,它应该会失败,并在以下行出现异常:

                a[i] = a[(int)(Math.random()*70+15)];

这里,a[]由九个元素组成,所以它的最高索引是 8。但是,Math.random()*70+15保证生成大于 8 的数字。

于 2013-03-19T16:13:10.627 回答
2

我不知道任何Java,但我会说:

for (int i = 0; i < a.length; i++)
a[2] = a[(int)(Math.random()*70+15)];

应该

for (int i = 0; i < a.length; i++)
a[i] = (int)(Math.random()*70+15);
于 2013-03-19T16:14:06.570 回答
1

我建议改用随机数生成器。我还建议i为您的程序使用比或 a 更好的名称。

import java.util.Random;

class test {
    public static void main(String[] args){
        Random object = new Random ();//declare for your object
        int a;    //declare your integer type (I would suggest   
                  // changing that to be more descriptive)
        for (int i = 1; i <=10; i++) 
        {
            a = object.nextInt(100); // change 100 to however large   
                                     // parameter you want
            System.out.println(a + " ");
        }

    }              
}
于 2016-12-17T19:46:28.910 回答