我是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));
}
}
}
答案 0 :(得分:1)
在Java-8中,你可以这样做:
"os"
答案 1 :(得分:1)
我认为这就是你想要做的事情:
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]);
}
}
}
}
答案 2 :(得分:0)
为什么需要一个数组来打印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);
}
}
}}
P.S。你正在打印整个数组,而不是那个特定元素,这就是你输出错误的原因。
答案 3 :(得分:0)
这应该有效
import java.util.Arrays;
public class ArrayThings {
public static void main(String[] args) {
int[] myFirstArray = new int[100];
int[] myMultiplesArray = new int[9];
for (int i = 0; i < myFirstArray.length; i++) {
myFirstArray[i] = i;
}
int j = 0;
for (int i : myFirstArray) {
if (i % 10 == 0) {
myMultiplesArray[j] = i;
j++;
}
}
System.out.println(Arrays.toString(myMultiplesArray));
}
}
答案 4 :(得分:0)
你应该将你的print语句移到for循环之外,这就是导致它打印100次的原因。
此外,您当前的代码似乎一无所获。您正在检查i的模数,然后将myFirstArray的值设置为i的值。 i的myFirstArray的当前值已经等于i,在第一个循环中初始化。