我需要从用户大小的数组中获取2个输入,然后是相同数组的元素。
我需要打印数组的每个第三个元素。
示例阵列:1,2,3,4,5,6,7,8,9
期望的输出:3,6,9
获得:9,6,3
class Demo {
public static void main(String[] args) {
int x;
int[] y;
Scanner tastatura = new Scanner(System.in);
System.out.println("Enter size of array:");
x = tastatura.nextInt();
y = new int[x];
System.out.println("Enter the elements of array:");
for (int i = 0; i < x; i++) {
y[i] = tastatura.nextInt();
}
System.out.println("\n Every third element of array is : ");
for (int i = y.length - 1; i >= 0; i = i - 3) {
System.out.println(y[i]);
}
tastatura.close();
}
答案 0 :(得分:3)
你很亲密!你只是颠倒了迭代顺序!
for (int i = y.length - 1; i >= 0; i = i - 3) {
System.out.println(y[i]);
}
应该是:
for (int i = 2; i < y.length; i += 3) {
System.out.println(y[i]);
}
请注意,如果您的数组不包含至少ArrayIndexOutOfBoundsException
元素,则可以抛出3
,因此您应该在某处处理它。
答案 1 :(得分:1)
for (int i =0 ; i < y.length - 1; i = i + 3) {
System.out.println(y[i]);
}
您打印的方式是相反的顺序。纠正
答案 2 :(得分:1)
使用模数运算符查找每个第3项。
示例
0%3 = 0
1%3 = 1
2%3 = 2
3%3 = 0
答案 3 :(得分:0)
你走在正确的轨道上我强烈建议使用模数:
\