3 回答
TA贡献2080条经验 获得超4个赞
在您的第一个循环中,您teller3同时用作索引和值。这意味着索引 500 将具有值 500,这与您想要的相反。
您还对数组大小造成了一些混淆。
执行此操作的正确方法是直接执行循环并从 500 中减去该值
int [] aftel = new int [500];
for (int teller3 = 0; teller3 < 500; teller3++){
aftel500[teller3] = (500 - teller3) + 1;
}
或者对数组索引做同样的事情
int [] aftel = new int [500];
for (int teller3 = 500; teller3 > 0; teller3--){
aftel[500 - teller3] = teller3;
}
TA贡献1801条经验 获得超16个赞
尝试:
int[] array = IntStream
.range(0, 500) // get a stream of [0, 499]
.map(i -> 500 - i) // map it to [500, 1]
.toArray();
TA贡献1893条经验 获得超10个赞
问题是你在位置 500 上设置了 500,但你必须在位置 0 上设置 500。这应该有效:
int [] aftel = new int [501];
for (int teller3 = 500; teller3 > 0; teller3--){
aftel[500 - teller3] = teller3;
}
System.out.println(Arrays.toString(aftel));
添加回答
举报