使用外部方法在同一个类中设置构造函数变量

时间:2017-02-25 04:11:44

标签: java class methods constructor

我尝试将asteroid1 - asteroid10发送到AsteroidField()构造函数内的沙箱。我无法在sandbox.addBlob(asteroid1);中简单地写generate(),因为我现在不在构造函数中。我该如何解决这个问题?

public class AsteroidField implements BlobGUI {
    private static Random random = new Random();

    public AsteroidField() {
        SandBox sandbox = new SandBox();
        sandbox.setSandBoxMode(FLOW);
        sandbox.setFrameRate(15);
        sandbox.init(this);
    }

    public void generate() {
        int z;
        int i;
        int[] x = new int[10];
        int[] y = new int[10];
        double[] r = new double[10];

        for( i = 0; i < 10; i++ ) {
            x[i] = 0;
            while( x[i] == 0 )
                x[i] = random.nextInt(7) - 3;
            y[i] = 0;
            while( y[i] == 0 )
                y[i] = random.nextInt(7) - 3;
            r[i] = 0;
            while( r[i] == 0 ) {
                z = random.nextInt();
                if( z % 2 == 0 )
                    r[i] = -0.1;
                else
                    r[i] = 0.1;   
            }
        }

        i = 0;
        Asteroid asteroid1 = new Asteroid( x[i], y[i], r[i] );

        i++;
        Asteroid asteroid2 = new Asteroid( x[i], y[i], r[i] );
        i++;
        Asteroid asteroid3 = new Asteroid( x[i], y[i], r[i] );
        i++;
        Asteroid asteroid4 = new Asteroid( x[i], y[i], r[i] );
        i++;
        Asteroid asteroid5 = new Asteroid( x[i], y[i], r[i] );
        i++;
        Asteroid asteroid6 = new Asteroid( x[i], y[i], r[i] );
        i++;
        Asteroid asteroid7 = new Asteroid( x[i], y[i], r[i] );
        i++;
        Asteroid asteroid8 = new Asteroid( x[i], y[i], r[i] );
        i++;
        Asteroid asteroid9 = new Asteroid( x[i], y[i], r[i] );
        i++;
        Asteroid asteroid10 = new Asteroid( x[i], y[i], r[i] );
    }
}

1 个答案:

答案 0 :(得分:1)

在课堂上保留identified_by :current_user个对象。

[NameError - undefined local variable or method `current_user' for #<MessageChannel:0x7ace398>]