我对Java非常陌生,我试图迭代一个整数数组,得到10的所有倍数。我的代码得到的是打印100次的数组中的元素,因为这就是数组的长度。我知道这是非常基本的,但我就是想不出这个问题。这就是我所拥有的:
import java.util.Arrays;
public class ArrayThings {
public static void main(String[] args) {
int[] myFirstArray = new int[100];
for (int i = 0; i < myFirstArray.length; i++) {
myFirstArray[i] = i;
}
for (int i : myFirstArray) {
if (i % 10 == 0) {
myFirstArray[i] = i;
} else {
i++;
}
System.out.println(Arrays.toString(myFirstArray));
}
}
}
发布于 2018-05-09 18:14:05
我想这就是你想要做的:
public class ArrayThings {
public static void main(String[] args) {
int[] myFirstArray = new int[100];
// array generation
for (int i = 0; i < myFirstArray.length; i++) {
myFirstArray[i] = i;
}
// printing multiples of 10
for (int i = 0; i < myFirstArray.length; i++) {
if (i % 10 == 0 && i != 0) {
System.out.println(myFirstArray[i]);
}
}
}
}
发布于 2018-05-09 18:13:32
在Java-8中,您可以这样做:
int result[] = IntStream.range(1, 100).filter(e -> e%10==0).toArray();
System.out.println(Arrays.toString(result));
发布于 2018-05-09 18:12:36
为什么需要一个数组来打印10倍的倍数?你可以简单地做:
public class ArrayThings{
public static void main(String[]args){
for(int i=0; i<101; i++) {
if(i%10==0 && i != 0){
System.out.println(i);
}
}
}}
你打印的是整个数组,而不是那个特定的元素,这就是为什么你得到了错误的输出。
https://stackoverflow.com/questions/50259577
复制相似问题