Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 函数获取一个martix(2d数组),并打印每行中偶数的最大数目_Java_Arrays - Fatal编程技术网

Java 函数获取一个martix(2d数组),并打印每行中偶数的最大数目

Java 函数获取一个martix(2d数组),并打印每行中偶数的最大数目,java,arrays,Java,Arrays,我正在定义一个函数来接受矩阵(2d数组),例如x[][];函数应该打印每行中最大的偶数 public static void biggestEvenNumOfEachLine(int x[][]){ int even,t=0,max; int arr[] = new int [x.length]; for(int i = 0; i < x.length;i++){ for(int j = 0; j < x[i].length;j++,t++){

我正在定义一个函数来接受矩阵(2d数组),例如
x[][]
;函数应该打印每行中最大的偶数

public static void biggestEvenNumOfEachLine(int x[][]){
    int even,t=0,max;
    int arr[] = new int [x.length];
    for(int i = 0; i < x.length;i++){
        for(int j = 0; j < x[i].length;j++,t++){
            if(x[i][j] % 2 == 0){
                even = x[i][j];
                arr[j] = even;
            }   
        }
    }
}
public static void biggestEvenNumofachline(int x[]){
整数偶数,t=0,最大值;
int arr[]=新的int[x.length];
对于(int i=0;i

我遗漏了什么?

我首先要在单行数组中找到最大的偶数。从可能的最小值开始,然后迭代数组。测试偶数,然后设置最大值(然后返回)。大概

private static int biggestEvenNum(int[] x) {
    int max = Integer.MIN_VALUE;
    for (int i = 0; i < x.length; i++) {
        if (x[i] % 2 == 0) {
            max = Math.max(max, x[i]);
        }
    }
    return max;
}
然后,您的方法非常简单,只需迭代矩阵中的
,打印结果。像

public static void biggestEvenNumOfEachLine(int[][] x) {
    for (int[] line : x) {
        System.out.println(biggestEvenNum(line));
    }
}
public static void biggestEvenNumofachline(int x[])
{
int arr[]=新的int[x.length];
对于(int i=0;iarr[i]){
arr[i]=x[i][j];
系统输出打印项数(arr[i]);
}
}

这将起作用,但如果特定行中没有偶数,则该行对应的数字将为零。

欢迎使用堆栈溢出!一般来说,我们帮助人们解决他们遇到的具体问题,但我们不告诉他们如何从头做起。所以,如果你可以编辑你的问题来解释你在哪里感到困惑或者什么不起作用,我们可以帮助你。我不应该使用像“Integer.MIN_VALUE,Math.max”这样的方法……我必须从基本上定义所有的方法。你为什么不能使用这些方法?Math.max很容易从头开始编写。是的……但是我们学习了java基础知识……这个问题来自我们的教授,而这个问题我们必须在没有方法的情况下解决
public static void biggestEvenNumOfEachLine(int[][] x) {
    for (int[] line : x) {
        System.out.println(biggestEvenNum(line));
    }
}
public static void biggestEvenNumOfEachLine(int x[][])
{
    int arr[] = new int [x.length];

    for(int i = 0; i < x.length;i++)
        for(int j = 0; j < x[i].length;j++)
            if(x[i][j] % 2 == 0 && x[i][j] > arr[i]){
                arr[i] = x[i][j];
                System.out.println(arr[i]);
            }
}