我这么写是不是太麻烦了

来源:1-8 编程练习

小王子WL

2020-10-05 10:30:14

package com.imooc.array;

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);
		String str="";
		int sumShu=0,sumYu=0;
		int avgShu=0,avgYu=0;
		for(int i=0;i<intArray.length;i++) {
			for(int j=0;j<intArray[i].length;j++) {
				if(j%2==0) {
					str="语文";
				}else {
					str="数学";
				}
				System.out.println("请输入第"+(i+1)+"个学生的"+str+"成绩:");
				intArray[i][j]=sc.nextInt();
				if(str=="语文") {
					sumYu+=intArray[i][j];
				}else if(str=="数学") {
					sumShu+=intArray[i][j];
				} 
			}
		}
		avgYu=sumYu/intArray.length;
		avgShu=sumShu/intArray.length;
		System.out.println("语文的总成绩为:"+sumYu);
		System.out.println("语文的平均分为:"+avgYu);
		System.out.println("数学的总成绩为:"+sumShu);
		System.out.println("数学的平均分为:"+avgShu);
	}

}


写回答

1回答

好帮手慕阿园

2020-10-07

同学你好,编程题的实现方式有很多种,测试同学的代码是可以的,实现了题目中的效果,很棒;但是还有地方可以优化一下

1,这里不用给str进行赋值,并进行判断,可以直接在for循环中给数组进行赋值

2,字符串的判断建议使用equals

同学可以参考下如下同学的实现方式

https://class.imooc.com/course/qadetail/243844

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


0

0 学习 · 16556 问题

查看课程