package HomeWork;
import java.util.Arrays;
import java.util.Scanner;
/*3.使用二维数组存储班上五个学生三门功课的考试成绩,要求输出每一个学生的总分、平均分、最高分、最低分。
要求:
①学生个数动态获取。
②学生考试的门数动态获取。
③每个学生各门功课考试的成绩动态获取。
【动态获取是指由键盘输入】
* */
public class Test_03 {
//英语 数学 语文 ,分数 , 小翌[0] 小洁[1] 小娴[2] 小绘[3] 小依[4]
public static void main(String[] args) {//每个数组对应的是 名字(科目分数)
Scanner sc=new Scanner(System.in);//创建键盘录入的对象
System.out.println("请输入学生个数:");
int xs = sc.nextInt();
System.out.println("请输入科目数量:");
int km = sc.nextInt();//存储录入的数据
int[][] arr=new int[xs][km];//创建数组
for(int i=0;i<xs;i++){
for(int j=0;j<km;j++){
System.out.println("请输入该班级:第"+(i+1)+"个学生;第"+(j+1)+"门功课的成绩:");//+1是避免显示成0
arr[i][j]=sc.nextInt();//将键盘录入的数据存到数组中
}System.out.println(Arrays.toString(arr));
}
Sum(arr);
average(arr);
getMax(arr);
getMin(arr);
}
public static void Sum(int[][] arr){//求和
int sum =0;
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
sum =+ arr[i][j];// sum = sum + arr[i][j];
}
System.out.println("您输入的第"+(i+1)+"个学生的总分sum="+sum);
}
}
public static void average(int[][] arr){//求平均分
/*sum的初始化必须为0并且位置只能在这,内层循环结每束后一次返回
一个学生的各科分数的和*/
int sum =0;
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
sum =+ arr[i][j];
}
int average=sum/3;
System.out.println("您输入的第"+(i+1)+"个学生的平均分average="+average);
}
}
public static void getMax(int[][] arr){//求最大值
for(int i=0;i<arr.length;i++){
int max =arr[i][0];
for(int j=1;j<arr[i].length;j++){
if(arr[i][j]>max){
max=arr[i][j];
}
}
System.out.println("您输入的第"+(i+1)+"个学生的最高分max="+max);
}
}
public static void getMin(int[][] arr){//求最小值
for(int i=0;i<arr.length;i++){//arr[0]
int min = arr [i][0];
for(int j=1;j<arr[i].length;j++){//arr[0][0]
if(arr[i][j]<min){
min = arr[i][j] ;
}
}
System.out.println("您输入的第"+(i+1)+"个学生的最低分min="+min);
}
}
}
import java.util.Arrays;
import java.util.Scanner;
/*3.使用二维数组存储班上五个学生三门功课的考试成绩,要求输出每一个学生的总分、平均分、最高分、最低分。
要求:
①学生个数动态获取。
②学生考试的门数动态获取。
③每个学生各门功课考试的成绩动态获取。
【动态获取是指由键盘输入】
* */
public class Test_03 {
//英语 数学 语文 ,分数 , 小翌[0] 小洁[1] 小娴[2] 小绘[3] 小依[4]
public static void main(String[] args) {//每个数组对应的是 名字(科目分数)
Scanner sc=new Scanner(System.in);//创建键盘录入的对象
System.out.println("请输入学生个数:");
int xs = sc.nextInt();
System.out.println("请输入科目数量:");
int km = sc.nextInt();//存储录入的数据
int[][] arr=new int[xs][km];//创建数组
for(int i=0;i<xs;i++){
for(int j=0;j<km;j++){
System.out.println("请输入该班级:第"+(i+1)+"个学生;第"+(j+1)+"门功课的成绩:");//+1是避免显示成0
arr[i][j]=sc.nextInt();//将键盘录入的数据存到数组中
}System.out.println(Arrays.toString(arr));
}
Sum(arr);
average(arr);
getMax(arr);
getMin(arr);
}
public static void Sum(int[][] arr){//求和
int sum =0;
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
sum =+ arr[i][j];// sum = sum + arr[i][j];
}
System.out.println("您输入的第"+(i+1)+"个学生的总分sum="+sum);
}
}
public static void average(int[][] arr){//求平均分
/*sum的初始化必须为0并且位置只能在这,内层循环结每束后一次返回
一个学生的各科分数的和*/
int sum =0;
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
sum =+ arr[i][j];
}
int average=sum/3;
System.out.println("您输入的第"+(i+1)+"个学生的平均分average="+average);
}
}
public static void getMax(int[][] arr){//求最大值
for(int i=0;i<arr.length;i++){
int max =arr[i][0];
for(int j=1;j<arr[i].length;j++){
if(arr[i][j]>max){
max=arr[i][j];
}
}
System.out.println("您输入的第"+(i+1)+"个学生的最高分max="+max);
}
}
public static void getMin(int[][] arr){//求最小值
for(int i=0;i<arr.length;i++){//arr[0]
int min = arr [i][0];
for(int j=1;j<arr[i].length;j++){//arr[0][0]
if(arr[i][j]<min){
min = arr[i][j] ;
}
}
System.out.println("您输入的第"+(i+1)+"个学生的最低分min="+min);
}
}
}