麻烦老师检查一下代码,和题目一样嘛?

来源:1-8 编程练习

热爱编程学习

2022-02-19 13:28:14

int intarray[][]=new int[3][2];
			
	       
			Scanner sc=new Scanner(System.in);
			for(int i=0;i<intarray.length;i++) {
				for(int y=0;y<intarray[i].length;y++) {
					if(y==0) {
						System.out.println("请输入第"+(i+1)+"个学生的语文成绩");
						intarray[i][y]=sc.nextInt();
					}
					if(y==1) {
						System.out.println("请输入第"+(i+1)+"个学生的数学成绩");
						intarray[i][y]=sc.nextInt();
					}

				}
			}
	       
			int sum=0;
			int avg=0;
			int a=0;
			int b=0;
			for(int i=0;i<intarray.length;i++) {
				for(int y=0;y<intarray[i].length;y++) {
					if(y==0) {
						sum=sum+intarray[i][y];
						a=a+1;
					}else {
						avg=avg+intarray[i][y];
						b=b+1;
					}
					
				}
				
			}
			System.out.println("语文的总成绩为:"+sum);
			System.out.println("语文的总成绩为:"+sum/a);
			System.out.println("数学的总成绩为:"+avg);
			System.out.println("数学的总成绩为:"+avg/b);


写回答

1回答

好帮手慕小尤

2022-02-19

同学你好,已完成练习,不过三个优化的建议:

1、这里可以只定义一层循环,并且从键盘接收数据,为每位学生的成绩赋值的同时求和。

2、在计算平均分时,通过数组长度进行计算即可。修改后代码如下所示:

https://img.mukewang.com/climg/6210994709c9fad406930551.jpg

import java.util.Scanner;
public class ScoreDemo{
    public static void main(String[] args) {
        int intArray[][]=new int[3][2];
        Scanner sc=new Scanner(System.in);
        int sum=0;
        int avg=0;
        for(int i=0;i<intArray.length;i++) {
 
            System.out.println("请输入第"+(i+1)+"个学生的语文成绩");
            intArray[i][0]=sc.nextInt();
            sum=sum+intArray[i][0];
       
            System.out.println("请输入第"+(i+1)+"个学生的数学成绩");
            intArray[i][1]=sc.nextInt();
            avg=avg+intArray[i][1];
     
        }
       
        System.out.println("语文的总成绩为:"+sum);
        System.out.println("语文的总成绩为:"+sum/intArray.length);
        System.out.println("数学的总成绩为:"+avg);
        System.out.println("数学的总成绩为:"+avg/intArray.length);

    }
}
3、 关于变量命名问题,如果由一个单词组成,则该单词小写。如果由多个单词组成,第一个单词小写,从第二个单词开始每个单词的首字母大写。例如:intarray应该改为:intArray

祝学习愉快!

0

0 学习 · 9886 问题

查看课程