姚郑507 2022-11-24 10:49 采纳率: 100%
浏览 6
已结题

java作业,本人编程一言难尽

1、请依次按如下要求完成程序
1)从键盘输入n个学生成绩,将其存放到数组a中,并输出数组a查看输入是否正确。其中n从键盘输入。
2)计算数组a中所有成绩的平均值,并输出。
3)对数组a中所有成绩进行从大到小排序。
4)将数组a中成绩大于平均值的存放到数组b中,并输出数组b中所有元素。



  • 写回答

4条回答 默认 最新

  • 游一游走一走 2022-11-24 11:26
    关注
    import java.util.*;
    
    public class Test03 {
        public static void main(String[] args) {
            final Scanner scanner = new Scanner(System.in);
            //读取学生总人数
            System.out.println("请输入学生总数:");
            final int number = scanner.nextInt();
            //读取每个学生的成绩
            final float[] scores = new float[number];
            int index = 0;
            while (index < number) {
                scores[index] = scanner.nextFloat();
                index++;
            }
            //打印每个学生的成绩
            for (float item : scores) {
                System.out.print(item);
                System.out.print(" ");
            }
            System.out.println();
            //计算成绩总和然后求平均值
            float sum = 0;
            for (float item : scores) {
                sum += item;
            }
            final float avg = sum / number;
            System.out.println("平均成绩:" + avg);
            //冒泡排序法将数组排序,从大到小
            float temp = 0;
            for (int i = 0; i < scores.length - 1; i++) {
                for (int j = 0; j < scores.length - i - 1; j++) {
                    if (scores[j] < scores[j + 1]) {
                        temp = scores[j];
                        scores[j] = scores[j + 1];
                        scores[j + 1] = temp;
                    }
                }
            }
            for (float item : scores) {
                System.out.print(item);
                System.out.print(" ");
            }
            System.out.println();
            //将超过平均数的成绩放入新数组,新数组的长度为总长度,但是有部分应该是未填充,只打印b_num位
            int b_num = 0;
            final float[] b = new float[number];
            for (float item : scores) {
                if (item > avg) {
                    b[b_num++] = item;
                }
            }
            for (int i = 0; i < b_num; i++) {
                System.out.print(b[i]);
                System.out.print(" ");
            }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月2日
  • 已采纳回答 11月24日
  • 创建了问题 11月24日

悬赏问题

  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因