可以在優化嗎?
来源:1-8 编程练习
胖達
2019-05-01 09:20:14
import java.util.Scanner;
public class ScoreDemo{
public static void main(String[] args){
int[][] intArray = new int[3][2];
int sum = 0;
int sum2 = 0;
int x = 0;
Scanner sc = new Scanner(System.in);
for (int i = 0; i < intArray.length; i++) {
int j = 0;
intArray[i][j] = sc.nextInt();
System.out.println(" 請輸入第" + (i + 1) + "個學生的語文成績:" + intArray[i][j]);
j++;
intArray[i][j] = sc.nextInt();
System.out.println(" 請輸入第" + (i + 1) + "個學生的數學成績:" + intArray[i][j]);
}
for (int i = 0; i < intArray.length; i++) {
sum = sum + intArray[i][0];
x = sum / intArray.length;
}
System.out.println("總分" + sum);
System.out.println("平均" + x);
for (int i = 0; i < intArray.length; i++) {
sum2 = sum2 + intArray[i][1];
x = sum2 / intArray.length;
}
System.out.println("總分" + sum2);
System.out.println("平均" + x);
}
}1回答
同学你好,程序是可以优化的哦!同学可以将for的遍历数组只写一个,是代码更加简洁,并减少内存的占用,例如:
public static void main(String[] args){
int[][] intArray=new int[3][2]; //定义二维数组
Scanner sc=new Scanner(System.in);
int sum = 0; //定义语文总成绩
int sum2 = 0; //定义数学总成绩
//int x = 0; //去掉x的变量定义
int avg1,avg2; //定义语文和数学的平均成绩
for(int i=0;i<3;i++)
{ int j=0;
System.out.println("请输入第"+(i+1)+"个学生的语文成绩");
intArray[i][j]=sc.nextInt();
sum=sum+intArray[i][0];
System.out.println("请输入第"+(i+1)+"个学生的数学成绩");
intArray[i][j+1]=sc.nextInt();
sum2=sum2+intArray[i][1];
}
avg1=sum/intArray.length;
avg2=sum2/intArray.length;
System.out.println("语文的总成绩为:"+sum);
System.out.println("语文的平均分为:"+avg1);
System.out.println("数学的总成绩为:"+sum2);
System.out.println("数学的平均分为:"+avg2);
}如果我的回答解决了你的问题,请采纳。祝:学习愉快~
相似问题