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] + " ");
}
}
}