Java 二维数组分数
这是原始提示: 编写一个程序,声明一个称为scores的二维双精度数组,该数组有三行三列。使用嵌套的while循环从命令行的用户处获取九个(3 x 3)的double。最后,使用嵌套的for循环计算每行的double平均值,并将这三个平均值输出到命令行 这是我的密码: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
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
代表一行,Everj
代表一列
您需要每行的平均值,这意味着对于每一个相同的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数组中的每一行,然后使用这些数组。