1-8编程练习

1-8编程练习

本节编程练习流程控制好像没什么思路,应该怎么去写呢?能不能给个样版代码研究下

正在回答

登陆购买课程后可参与讨论,去登陆

3回答


import java.util.Scanner;
public class ScoreDemo {
public static void main(String[] args) {
//定义一个三行两列的整型二维数组intArray
int[][] intArray = new int[3][2];
int ywSum=0,sxSum=0;
//从键盘输入学生成绩,要求输入顺序与效果图一致
Scanner s=new Scanner(System.in);
for (int i=0;i<intArray.length;i++){
String course="语文";
for(int j=0;j<intArray[i].length;j++){
if (j!=0)course="数学";
System.out.println("请输入第"+(i+1)+"个同学的"+course+"成绩:");
int n=s.nextInt();//接收输入的成绩值
intArray[i][j]=n;//储存输入的成绩值
if (j==0){ //累加各个成绩的总和
ywSum += intArray[i][j];
}else{
sxSum += intArray[i][j];
}
}
}
//输出结果
System.out.println("语文的总成绩为:"+ywSum);
System.out.println("语文的平均分为:"+ywSum/intArray.length);
System.out.println("数学的总成绩为:"+sxSum);
System.out.println("数学的平均分为:"+sxSum/intArray.length);
}
}


赵林0225 2021-06-21 17:08:53

package com.lin.arry;


import java.util.Scanner;


public class ArrayPracticeDemo5 {


public static void main(String[] args) {

// 1.定义一个三行两列的整型二维数组intArray

int[][] intArray=new int[3][2];

//从键盘输入学生成绩,要求输入顺序与效果图一致

Scanner sc=new Scanner(System.in);

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

System.out.println("请输入第"+(i+1)+"个学生的语文成绩");

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

intArray[i][j]=sc.nextInt();j++;

System.out.println("请输入第"+(i+1)+"个学生的数学成绩");

intArray[i][j]=sc.nextInt();

}

}

int sum1=0,sum2=0;

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

sum1=sum1+intArray[i][0];

sum2=sum2+intArray[i][1];

}

System.out.println("语文的总成绩为:"+sum1);

System.out.println("语文的平均成绩为:"+sum1/intArray.length);

System.out.println("数学的总成绩为:"+sum2);

System.out.println("数学的平均成绩为:"+sum2/intArray.length);

}


}


好帮手慕小小 2021-06-15 14:34:52

同学你好,没有样板代码可以提供呢,代码实现方式是不唯一的。同学可参考编程练习下的任务和老师下面给出的分析寻找编程思路。

http://img1.sycdn.imooc.com//climg/60c844bb09d09c1203830154.jpg

1、定义一个三行两列二维数组

    ​每一行的第一列存储的是每一个学生的语文成绩

    每一行的第二列存储的是每一个学生的数学成绩

2、成绩从键盘录入,先录入第一个学生的语文、数学成绩,

    ​再录入第二个学生的语文、数学成绩,

    ​最后录入录入第三个学生的语文、数学成绩;

3、计算语文/数学总成绩及平均分

    ​二维数组中第一列数据总和为语文总成绩,第一列总和的平均值即为语文总成绩的平均分

    ​二维数组中第二列数据总和为数学总成绩,第二列总和的平均值即为数学总成绩的平均分

编写过程中遇到任何问题,都可以在问答区提出,老师会及时帮助同学解答。

祝学习愉快~

  • 您好,我的代码如下,我实现了效果图,但是感觉代码中第二个循环里,又加了一个j++来控制流程,请问正确的代码应该使用三个循环来完成吗?

    package com.lin.arry;


    import java.util.Scanner;


    public class ArrayPracticeDemo5 {


    public static void main(String[] args) {

    // 1.定义一个三行两列的整型二维数组intArray

    int[][] intArray=new int[3][2];

    //从键盘输入学生成绩,要求输入顺序与效果图一致

    Scanner sc=new Scanner(System.in);

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

    System.out.println("请输入第"+(i+1)+"个学生的语文成绩");

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

    intArray[i][j]=sc.nextInt();j++;

    System.out.println("请输入第"+(i+1)+"个学生的数学成绩");

    intArray[i][j]=sc.nextInt();

    }

    }

    int sum1=0,sum2=0;

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

    sum1=sum1+intArray[i][0];

    sum2=sum2+intArray[i][1];

    }

    System.out.println("语文的总成绩为:"+sum1);

    System.out.println("语文的平均成绩为:"+sum1/intArray.length);

    System.out.println("数学的总成绩为:"+sum2);

    System.out.println("数学的平均成绩为:"+sum2/intArray.length);

    }


    }


    2021-06-21 17:10:53
  • 同学你好,同学编程练习代码完成的不错,继续加油!

    程序的实现方式是不唯一的,使用三个循环也完成了需求,这里对其进行优化,使用一个循环来完成。

    如:在遍历从控制台输入数据的同时计算语文和数学的总成绩。

    http://img1.sycdn.imooc.com//climg/60d0626d0955cd3c07060242.jpg

    建议同学学习中遇到任何疑问和问题在问答区发起提问。

    祝学习愉快~

    2021-06-21 18:06:06
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师