Java 长度可变的数组
我想创建一个长度可变的数组。 我的想法(行不通,而且很难看): 我想你到目前为止理解了我的代码。肯定有一种方法更容易,更短,更漂亮,但我就是不能得到它。。。 (欢迎使用代码)。这是(IMO)在Java 长度可变的数组,java,arrays,Java,Arrays,我想创建一个长度可变的数组。 我的想法(行不通,而且很难看): 我想你到目前为止理解了我的代码。肯定有一种方法更容易,更短,更漂亮,但我就是不能得到它。。。 (欢迎使用代码)。这是(IMO)在switch语句中非常有用的“经典”示例(另请参见) 或者,使用列表您所说的“数组长度是变量的位置”是什么意思?数组的长度是一个数字,但如果您愿意,可以将此数字存储在变量中。通常没有必要,因为您可以编写punkte.length来获取长度。这是创建动态大小数组的家庭作业吗?您必须自己实现吗?如果没有,只需使
switch
语句中非常有用的“经典”示例(另请参见)
或者,使用
列表
您所说的“数组长度是变量的位置”是什么意思?数组的长度是一个数字,但如果您愿意,可以将此数字存储在变量中。通常没有必要,因为您可以编写punkte.length
来获取长度。这是创建动态大小数组的家庭作业吗?您必须自己实现吗?如果没有,只需使用ArrayList
,这正是ArrayList
所做的。我不知道您到底想要实现什么,但您正在反复重新分配punkte[0]
。当然,这是没有道理的。
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 = new Point[y];
Point punkt = new Point(getX(), getY() + y);
// ...
switch(y) {
case 7: punkte[6] = punkt7;
case 6: punkte[5] = punkt6;
case 5: punkte[4] = punkt5;
case 4: punkte[3] = punkt4;
case 3: punkte[2] = punkt3;
case 2: punkte[1] = punkt2;
case 1: punkte[0] = punkt;
}
return punkte;