|NO.Z.00088|——————————|BigDataEnd|——|Java&数组单元.V07|——|Java.v07|一维数组.v07|数字实现学生考试成绩录入打印|总分和平均分计算|

一、[数组实现学生考试成绩的录入和打印]——[总分和平均分计算]
### --- 数组实现学生考试成绩录入和打印

~~~     # 案例题目
~~~     ——>        提示用户输入学生的人数以及每个学生的考试成绩并打印出来。
~~~     ——>        计算该班级的总分和平均分并打印出来。
二、编程代码
### --- 编程代码

/*
    编程使用数组来记录学生的考试成绩并打印
 */
import java.util.Scanner; 
import java.util.Arrays;
 
public class ArrayScoreTest {
    
    public static void main(String[] args) {
        
        // 1.提示用户输入学生的人数并使用变量记录
        System.out.println("请输入学生的人数:");
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        
        // 2.根据学生的人数来声明对应长度的数组负责记录学生的考试成绩
        // 变长数组 : 主要指变量可以作为数组的长度,但绝不是数组的长度可以发生改变
        int[] scores = new int[num];
        
        // 3.提示用户输入每个学生的考试成绩并记录一维数组中
        for(int i = 0; i < num; i++) {
            System.out.println("请输入第" + (i+1) + "个学生的考试成绩:");
            scores[i] = sc.nextInt();
        }
        
        // 4.打印所有学生的考试成绩
        System.out.print("本班学生的考试成绩分别是:");
        for(int i = 0; i < scores.length; i++) {
            System.out.print(scores[i] + " ");
        }
        System.out.println();
        
        System.out.println("----------------------------------------------");
        // 5.计算本班级学生的总分以及平均分并使用变量记录
        int sum = 0;
        for(int i = 0; i < scores.length; i++) {
            sum += scores[i];
        }
        double avg = sum*1.0 / num;
        // 打印最终的计算结果
        System.out.println("本班级学生的总分是:" + sum + ",平均分是:" + avg);
        
        System.out.println("----------------------------------------------");
        // 6.查找本班所有学生考试成绩中的最低分和最高分并打印出来
        System.out.println("原始的考试成绩是:" + Arrays.toString(scores));
        // 调用工具类中的排序方法对所有考试成绩进行从小到大的排序
        Arrays.sort(scores);
        System.out.println("排序后的考试成绩是:" + Arrays.toString(scores));
        System.out.println("最低分是:" + scores[0] + ",最高分是:" + scores[num-1]);
        
        System.out.println("----------------------------------------------");
        // 从数组中查找指定元素所在的下标位置
        System.out.println("59分在数组中的下标位置是:" + Arrays.binarySearch(scores, 59));
        System.out.println("60分在数组中的下标位置是:" + Arrays.binarySearch(scores, 60));
    }
}
三、打印输出
### --- 编译

C:\Users\Administrator\Desktop\project>javac ArrayScoreTest.java
### --- 打印输出

C:\Users\Administrator\Desktop\project>java ArrayScoreTest
请输入学生的人数:
5
请输入第1个学生的考试成绩:
100
请输入第2个学生的考试成绩:
99
请输入第3个学生的考试成绩:
66
请输入第4个学生的考试成绩:
55
请输入第5个学生的考试成绩:
33
本班学生的考试成绩分别是:100 99 66 55 33
----------------------------------------------
本班级学生的总分是:353,平均分是:70.6
----------------------------------------------
原始的考试成绩是:[100, 99, 66, 55, 33]
排序后的考试成绩是:[33, 55, 66, 99, 100]
最低分是:33,最高分是:100
----------------------------------------------
59分在数组中的下标位置是:-3
60分在数组中的下标位置是:-3

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(27)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示