java中的初学者问题

java中的初学者问题,java,eclipse,Java,Eclipse,我被困了大约一个小时,在谷歌搜索和做研究之后,我无法让我的代码运行。它没有显示一个错误,当我按run时,它只打开debug,什么也不做。我正在使用eclipse。我试图创建一个包含10个对象的列表,并给它们随机数 class test { public static void main(String[] args){ int a [] = new int[9];{ for (int i = 0; i < a.length; i++)

我被困了大约一个小时,在谷歌搜索和做研究之后,我无法让我的代码运行。它没有显示一个错误,当我按run时,它只打开debug,什么也不做。我正在使用eclipse。我试图创建一个包含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);
            };              
}}}

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

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

此处,a[]由九个元素组成,因此其最高索引为8。但是,Math.random*70+15保证生成大于8的数字。

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

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

此处,a[]由九个元素组成,因此其最高索引为8。但是,Math.random*70+15保证生成大于8的数字。

我不懂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);

我不懂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);

我建议改用随机数生成器。我还建议您在程序中使用比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 + " ");
        }

    }              
}

我建议改用随机数生成器。我还建议您在程序中使用比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 + " ");
        }

    }              
}

是的,我正要说。。。如果他没有得到一个错误,那么他就会滚得很低。对不起,我只是试图给出一个元素的值,但它不起作用。我改变了它。@Cruncher:他不可能。+15使每次都失败。@NPE:是的,我在posedit之后意识到编辑失败的代码excript以反映op的更新代码可能是值得的。只是为了不让任何人感到困惑。是的,我正要说。。。如果他没有得到一个错误,那么他就会滚得很低。对不起,我只是试图给出一个元素的值,但它不起作用。我改变了它。@Cruncher:他不可能。+15使每次都失败。@NPE:是的,我在posedit之后意识到编辑失败的代码excript以反映op的更新代码可能是值得的。缩进和没有随机大括号块使代码更易于阅读缩进和没有随机大括号块使代码更易于阅读对于java7及更高版本,最好使用ThreadLocalRandom。看看java7及以上版本,最好使用ThreadLocalRandom。看一看。