Java 如何获得每行的总和?

Java 如何获得每行的总和?,java,arrays,for-loop,row,checksum,Java,Arrays,For Loop,Row,Checksum,我想找到并显示具有最大和的行号,并显示行值,这是示例输入/输出: 问题是每次的最大总和是第三排如何解决这些问题 int [][] scores = new int[4][3]; for (int i=0; i<scores.length; i++) { System.out.print("Enter values for row "+i+": "); for (int j=0; j<sc

我想找到并显示具有最大和的行号,并显示行值,这是示例输入/输出:

问题是每次的最大总和是第三排如何解决这些问题

   int [][] scores = new int[4][3];

    for (int i=0; i<scores.length; i++)
    {
        System.out.print("Enter values for row "+i+": ");
        for (int j=0; j<scores[i].length;j++)
            scores[i][j] = kbd.nextInt();
    }
    
    int sum, sumMax, ii=0;
    for (int i=0; i<scores.length; i++)
    {
        sum =0; sumMax = 0; ii=0;
        for (int j=0; j<scores[i].length;j++)
        {
            sum += scores[i][j];
            if (sum>sumMax)
            {
                sumMax = sum;
                ii = i;
            }
        }
    }

    System.out.println("Row "+ii+" has the maximum sum");
    System.out.print("Row "+ii+" has the following values: ");
    for (int j = 0; j < 3; j++)
           System.out.print(scores[ii][j] + " ");
int[][]分数=新的int[4][3];

对于(int i=0;i打印特定行,只需要一个循环

System.out.print("Row " + ii + " has the following values: ");
for (int j = 0; j < 3; j++)
    System.out.print(scores[ii][j] + " ");

此外,您的查找最大代码错误,当您将每行的
ii
sumMax
重置为0时,最大值只能是最后一行,您需要沿着行跟踪这两个值。此外,仅在计算行的和之后才使用
if
,无需在每行的每个弯角处进行测试

int sum, sumMax = Integer.MIN_VALUE, ii = 0;
for (int i = 0; i < scores.length; i++) {
    sum = 0;

    for (int j = 0; j < scores[i].length; j++) {
        sum += scores[i][j];
    }

    if (sum > sumMax) {
        sumMax = sum;
        ii = i;
    }
}
int和,sumMax=Integer.MIN_值,ii=0;
for(int i=0;i总和最大值){
sumMax=总和;
ii=i;
}
}

您可以在从扫描仪获取输入的同时添加行,并将其存储在数组中。然后您可以在SUMMS数组中搜索最大值:

import java.util.Scanner;

public class Example {

    public static void main(String[] args) {
        Scanner kbd = new Scanner(System.in);
        int[][] scores = new int[4][3];
        int[] rowSums  = new int[4];

        for (int i = 0; i < scores.length; i++) {
            System.out.print("Enter values for row " + i + ": ");
            for (int j = 0; j < scores[i].length; j++){
                scores[i][j] = kbd.nextInt();
                rowSums[i] += scores[i][j];
            }
        }

        int index  = 0;
        int maxSum = rowSums[index];

        for(int i = 1; i < rowSums.length; i++){
            if(rowSums[i] > maxSum){
                maxSum = rowSums[i];
                index = i;
            }
        }

        System.out.println("Row "+index+" has the maximum sum");
        System.out.print("Row "+index+" has the following values: ");
        for(int i = 0; i < scores[index].length; i++){
             System.out.print(scores[index][i] + " ");
        }
    }
}
import java.util.Scanner;
公开课范例{
公共静态void main(字符串[]args){
扫描仪kbd=新扫描仪(System.in);
int[][]分数=新int[4][3];
int[]行和=新的int[4];
for(int i=0;i最大和){
maxSum=行和[i];
指数=i;
}
}
System.out.println(“行“+索引+”具有最大和”);
System.out.print(“行”+索引+”具有以下值:”;
对于(int i=0;i
是否存在问题?您面临什么问题?最大和的值是多少?问题是代码仅适用于第3行,并且打印具有最大和的行的值时存在问题
import java.util.Scanner;

public class Example {

    public static void main(String[] args) {
        Scanner kbd = new Scanner(System.in);
        int[][] scores = new int[4][3];
        int[] rowSums  = new int[4];

        for (int i = 0; i < scores.length; i++) {
            System.out.print("Enter values for row " + i + ": ");
            for (int j = 0; j < scores[i].length; j++){
                scores[i][j] = kbd.nextInt();
                rowSums[i] += scores[i][j];
            }
        }

        int index  = 0;
        int maxSum = rowSums[index];

        for(int i = 1; i < rowSums.length; i++){
            if(rowSums[i] > maxSum){
                maxSum = rowSums[i];
                index = i;
            }
        }

        System.out.println("Row "+index+" has the maximum sum");
        System.out.print("Row "+index+" has the following values: ");
        for(int i = 0; i < scores[index].length; i++){
             System.out.print(scores[index][i] + " ");
        }
    }
}