长度可变的数组

问题描述 投票:-1回答:1

我想创建一个长度可变的数组。我的想法(这行不通,而且很丑):

    int y = 7-getY();   
    Point[] punkte = new Point[y];              
    Point punkt = new Point(getX(), getY()+y);

         if(y==1){
            punkte[0]=punkt;                            
            return punkte;
            }

        if(y==2) {
            punkte[0]=punkt;
            punkte[0]=punkt2;
            return punkte;
        }

        if(y==3) {
            punkte[0]=punkt;
            punkte[0]=punkt2;
            punkte[0]=punkt3;
            return punkte;
        }
        if(y==4) {
        punkte[0]=punkt;
        punkte[0]=punkt2;
        punkte[0]=punkt3;
        punkte[0]=punkt4;
        return punkte;
    }

    if(y==5) {
        punkte[0]=punkt;
        punkte[0]=punkt2;
        punkte[0]=punkt3;
        punkte[0]=punkt4;
        punkte[0]=punkt5;
        return punkte;
    }

    if(y==6) {
        punkte[0]=punkt;
        punkte[0]=punkt2;
        punkte[0]=punkt3;
        punkte[0]=punkt4;
        punkte[0]=punkt5;
        punkte[0]=punkt6;
        return punkte;
    }

    if(y==7) {
        punkte[0]=punkt;
        punkte[0]=punkt2;
        punkte[0]=punkt3;
        punkte[0]=punkt4;
        punkte[0]=punkt5;
        punkte[0]=punkt6;
        punkte[0]=punkt7;
        return punkte;
    }

我认为您到目前为止已经了解了我的代码。绝对有一种写起来更容易,更短,更漂亮的方法,但我实在无法理解……(欢迎使用代码。)>

我想创建一个长度可变的数组。我的想法(这行不通,而且很丑):int y = 7-getY(); Point [] punkte =新Point [y];点punkt =新Point(...

java arrays
1个回答
0
投票

这是(IMO)失败的“经典”示例,在switch语句中很有用(另请参见Duff's device)。

© www.soinside.com 2019 - 2024. All rights reserved.