簡體   English   中英

在二維數組的列中打印偶數

[英]Printing the even numbers in the columns of 2D array

大家好,我正在努力尋找僅打印數組偶數的正確方法。

我創建了一個一維數組來保存列的元素,然后確保col%2==0的索引是否將該數字放入 output 中。

import java.util.Scanner;
public class Matrix {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        //array with 3 row in 5 col
        int[][] matrix = new int[3][5];
        //int []y = new int[5];
        // to impalement th array
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 5; j++) {
                System.out.print("Enter matrix[" + i + "][" + j + "]: ");
                matrix[i][j] = input.nextInt();
            }
            System.out.print("\n");
        }
        System.out.print("matrix values \n");
        // to show up  the originally array
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 5; j++) {
                System.out.print(matrix[i][j] + "\t");
            }
            System.out.print("\n");
        }
        //////the new array to display only the even numbers in the col
        System.out.print("\n");
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 5; j++) {
                int[] y = matrix[j];
                for (int k = 0; i < y.length; i++) {
                    if (y[k] % 2 == 0)
                        System.out.println(y[k]);
                }
            }
        }
    }
}

output 不打印新數組

    matrix values 
1   2   3   4   5   
6   7   8   9   10  
3   2   4   5   9   
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
    at Matrix.main(Matrix.java:43)

在此處將i替換為k

for (int j = 0; j < 5; j++) {
    int[] y = matrix[j];
    for (int k = 0; i < y.length; i++) {
        if (y[k] % 2 == 0)
            System.out.println(y[k]);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM