Java 二维数组分数

Java 二维数组分数,java,Java,这是原始提示: 编写一个程序,声明一个称为scores的二维双精度数组,该数组有三行三列。使用嵌套的while循环从命令行的用户处获取九个(3 x 3)的double。最后,使用嵌套的for循环计算每行的double平均值,并将这三个平均值输出到命令行 这是我的密码: import java.util.Scanner; public class Scorer { public static void main(String[] args) { Scanner scnr = new

这是原始提示:

编写一个程序,声明一个称为scores的二维双精度数组,该数组有三行三列。使用嵌套的while循环从命令行的用户处获取九个(3 x 3)的double。最后,使用嵌套的for循环计算每行的double平均值,并将这三个平均值输出到命令行

这是我的密码:

import java.util.Scanner;

public class Scorer {


public static void main(String[] args) {

    Scanner scnr = new Scanner(System.in);

    double [][] scores = new double[3][3];
    double value = 0;

    int i = 0;
    int j;

    while (i < 3) {

        j = 0;

        while (j < 3) {
            System.out.print("Enter a number: ");
            value = scnr.nextDouble();
            scores[i][j] = value;
            j++;
        }
        i++;
    }

    int average = 0;

    for (i = 0; i < scores.length; i++) {

        for (j = 0; j < scores[i].length; j++) {
            average += value;
            value = value / scores[i][j];
            System.out.println(value);
        }
    }

}

}
import java.util.Scanner;
公开课记分员{
公共静态void main(字符串[]args){
扫描仪scnr=新扫描仪(System.in);
双[]分=新双[3][3];
双值=0;
int i=0;
int j;
而(i<3){
j=0;
而(j<3){
System.out.print(“输入一个数字:”);
value=scnr.nextDouble();
分数[i][j]=价值;
j++;
}
i++;
}
整数平均=0;
对于(i=0;i

我需要帮助的部分是代码底部的嵌套for循环。该代码用于计算输入的数字的平均值;但是,我对如何使用嵌套for循环感到困惑。

曾经
I
表示一行,每个
j
表示一列

您需要每行的平均值,这意味着对于每一个相同的
i
和每一个不同的
j
,对于该
i
您需要存储值并计算平均值


看起来像是家庭作业代码。我们可以给你提示,但不能为你写:(

Ever
i
代表一行,Ever
j
代表一列

您需要每行的平均值,这意味着对于每一个相同的
i
和每一个不同的
j
,对于该
i
您需要存储值并计算平均值

看起来像是家庭作业代码。我们可以给你提示,但不能帮你写:(

你就快到了! 以下是您需要做的事情:

1) 您必须在第一个for循环之后初始化变量“average”。 因为平均值需要为0,即每次循环结束后第二秒重置

2) 您已经定义了“value=value/scores[i][j]”。我不知道你为什么这么做,但“value=scores[I][j]”必须解决你的问题

3) 您应该只打印三次平均值,即在计算每行的平均值之后。所以,在循环的第二个末尾打印平均值

希望这能说明问题。 以下代码供您参考:

for (i = 0; i < 3; i++) {
    int average = 0;
    for (j = 0; j < 3; j++) {
        value = scores[i][j];
        average += value;           
    }
        System.out.println(average/3);       
}
(i=0;i<3;i++)的
{
整数平均=0;
对于(j=0;j<3;j++){
价值=分数[i][j];
平均值+=数值;
}
系统输出打印项次(平均/3);
}
你就快到了! 以下是您需要做的事情:

1) 您必须在第一个for循环之后初始化变量“average”。 因为平均值需要为0,即每次循环结束后第二秒重置

2) 您已经定义了“value=value/scores[i][j]”。我不知道你为什么这么做,但“value=scores[I][j]”必须解决你的问题

3) 您应该只打印三次平均值,即在计算每行的平均值之后。所以,在循环的第二个末尾打印平均值

希望这能说明问题。 以下代码供您参考:

for (i = 0; i < 3; i++) {
    int average = 0;
    for (j = 0; j < 3; j++) {
        value = scores[i][j];
        average += value;           
    }
        System.out.println(average/3);       
}
(i=0;i<3;i++)的
{
整数平均=0;
对于(j=0;j<3;j++){
价值=分数[i][j];
平均值+=数值;
}
系统输出打印项次(平均/3);
}

是否有一种方法可以对其进行格式化,使其显示行号,然后将您在该行中输入的三个数字与其他两行相同?是的,将每一行分配给另外三个1D数组。首先,创建三个1D数组。然后,将每一行写入计算平均值的相同for循环中的3个1D数组中的每一行,然后使用这些数组。是否有一种方法可以将其格式化,使其显示行号,然后显示您在该行中输入的三个数字,然后对其他两行输入相同的数字?是的,将每行分配给另外三个1D数组。首先,创建三个1D数组。然后,将每一行写入计算平均值的同一for循环中的3个1D数组中的每一行,然后使用这些数组。