试图在循环中实例化,获得意外类型(预期变量)

时间:2018-06-01 13:41:47

标签: java loops instantiation code-reuse

我试图在循环中实例化三个对象,这样我就不会重用构造函数文本。这是因为,对于Uni,如果我们重复使用相同的代码行(它会自动标记),我们就会被标记下来。

我的代码如下:

EnemyShip enemy1;
EnemyShip enemy2;
EnemyShip enemy3;

public Game()
{
    for (int i = 1; i <= 3; i++) {
        getEnemyRef(i) = new EnemyShip(); //getEnemyRef unexpected type - required:variable found:value
        //enemy1 = new EnemyShip(); works normally
    }
}

我有下划线,我被告知这是一个不可变的值。

请注意,我使用以下代码而不是列表或数组,因为我们不允许将它们用于此任务。

public EnemyShip getEnemyRef(int enemy) {
    switch (enemy) 
    {
        case 1:
        return enemy1;

        case 2:
        return enemy2;

        case 3:
        return enemy3;
    }
    return null;
}

标记系统根据源代码中编写的次数重复使用次数,而不是执行次数

2 个答案:

答案 0 :(得分:0)

这个片段应该可以解决问题:

public void setEnemyRef(int enemyFlag, EnemyShip enemy){
    switch (enemyFlag){
        case 1:
            enemy1 = enemy;
            break;
        case 2:
            enemy2 = enemy;
            break;
        case 3:
            enemy3 = enemy;
            break;
    }
}

然后在for-loop

for (int i = 1; i <= 3; i++) {
    setEnemyRef(i, new EnemyShip());
}

答案 1 :(得分:-1)

您未正确实例化,请尝试例如

customers

https://docs.oracle.com/javase/tutorial/java/javaOO/objectcreation.html