2.6使用二维数组存储学生的数据,包括学号、姓名、操作系统成绩、Java成绩、高数成绩、总分;一行存储一个学生的数据;要求输入若干学生的数据,求出总分;然后按照总分由高到低重新排列;输出排序后的结果

30 篇文章 1 订阅

摩尔的Java学习笔记2.6

第二周作业:

1、实现将一组整数进行升序排列;
2、用二维数组实现,5个学生4门课程的总分和平均分的统计工作;
3、打印八行八列杨辉三角,开头不打印空格;
4、模拟打牌游戏中的发牌过程。用1~52来代表52张牌,玩家有四人,要求将发牌结果存入一个二维数组(4行13列),最后显示发牌结果,不许重复;
5、输入多个字符串,存入数组,然后按照字符串的大小重新升序排列;
6、使用二维数组存储学生的数据,包括学号、姓名、操作系统成绩、Java成绩、高数成绩、总分;一行存储一个学生的数据;要求输入若干学生的数据,求出总分;然后按照总分由高到低重新排列;输出排序后的结果。

6、使用二维数组存储学生的数据,包括学号、姓名、操作系统成绩、Java成绩、高数成绩、总分;一行存储一个学生的数据;要求输入若干学生的数据,求出总分;然后按照总分由高到低重新排列;输出排序后的结果。

/**
 * @author 薛莲婷
 *使用二维数组存储学生的数据,包括学号、姓名、操作系统成绩、Java成绩、高数成绩、总分;一行存储一个学生的数据;
 *要求输入若干学生的数据,求出总分;然后按照总分由高到低重新排列;输出排序后的结果
 *
 */

/*供复制以输入的学生信息:
112 张一 98 70 78
20 李二 98 0 1
01 王三 98 78 29
302 赵四 99 97 20
 */
import java.util.*;

class Assignment5 {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);

        System.out.println("请输入学生人数:");

        int n=sc.nextInt();
        String [][]student=new String[n][6];                    //学生信息的二位数组

        System.out.println("请输入学号、姓名、操作系统成绩、Java成绩、高数成绩:");
        for(int i=0;i<n;i++)
        {
            System.out.printf("第%d位学生:",i+1);
            for(int j=0;j<5;j++)
            {
                student[i][j]=sc.next();                        //每位学生信息占一行
            }
        }

        float []sum=new float[n];                               //存放总分的一个float型数组

        for(int i=0;i<n;i++)                                    //计算每位学生的总分
        {
            sum[i]=Float.parseFloat(student[i][2])+Float.parseFloat(student[i][3])+Float.parseFloat(student[i][4]);
            student[i][5]=String.valueOf(sum[i]);               //将float型转为字符串存入原数组
        }

        float temp;
        String [][]p=new String[1][6];
        for(int i=0;i<n-1;i++)                                  //根据总分进行升序排序
        {
            int max=i;
            for(int j=i+1;j<n;j++)
            {
                if(sum[max]<sum[j])
                {
                    max=j;
                }

                temp=sum[max];
                sum[max]=sum[j];
                sum[j]=temp;

                p[0]=student[max];
                student[max]=student[j];
                student[j]=p[0];

            }
        }

        System.out.println("按总分升序排列后的学生信息:\n学号\t姓名\t操作系统成绩\tJava成绩\t高数成绩\t总分");
        for(int i=0;i<n;i++)                                    //打印升序排列之后的学生信息
        {
            for(int j=0;j<6;j++)
            {
                System.out.print(student[i][j]+"\t");
            }
            System.out.print("\n");
        }
        sc.close();
    }

}
  • 10
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
滁州学院 课程设计报告 课程名称: 数据结构 设计题目学生成绩信息管理系统 系 别: 计算机科学与技术 专 业: 计算机科学与技术 组 别: 第十四组 起止日期: 11年5 月 20日 ~ 11年 6 月20 日 指导教师: 杨 斌 总体要求: 格式很不符合要求,请参照模板 计算机科学与技术系二0一一年制 "课程设计题目 "学生成绩信息管理系统 " "组长 "孙大成 "学号 "2010211119 "班级 "计科(1)班 " "系别 "计算机科学与 "专业 "计算机科学与技术 " " "技术系 " " " "组员 "陈凤霞 高 山 陈士光 " "指导教师 "杨 斌 " "课程设计目的 "设计一个学生成绩进行管理的程序 " "课程设计所需环境 "Microsoft Visual C++6.0 " "课程设计任务要求 "从文本得到数据、处理数据存储数据 " "课程设计工作进度计划 " "序号 "起止日期 "工 作 内 容 "分工情况 " " "5/20 "安排所每个人的工作内"孙大成 " " " "容 " " " "5/21 "将文件数据调到数组"陈凤霞 " " " ",对数组成绩进" " " " "行合并后输出 " " " "5/22 "排序算法的实现 "陈士光 " " " "选择排序 " " " "5/23 "直接排序算法的实现 "孙大成 " " "5/24 "查找算法的实现,把不"高山 " " " "合格的学生信息放到文" " " " "本文件 " " " "5/25 "所有组员一起对综合的"孙大成、高山、陈凤霞、陈世光" " " "文件提建议后修改 " " " " "指导教师签字: 年 月 日 " "教研室审核意见: " " " " " " " " " "教研室主任签字: 年 月 日 " 目 录 一、引言 1 1.1、课程简介 1 1.2、课程设计的背景 1 1.3、课程设计的内容: 1 1.3.1、题目 1 1.3.2、要求 1 1.3.3、该功能的描述 3 二、需求分析 3 2.1、课程设计的题目 3 2.2、课程设计任务 3 2.3、课程设计要求 3 2.4、课程设计思想 3 2.5、软硬件运行环境 4 2.6、开发工具 4 三、概要设计 4 3.1、课程设计图 4 3.2、课程设计数据结构 5 3.3、完成本课程设计所用的方法及原理 6 四、详细设计 6 4.1、程序源代码 6 五、调试及操作说明 17 5.1、成绩的合并后输出 17 图(二)、降序排列成绩 17 5.1.1、成绩的降序输出 17 5.1.2、成绩升序输出 18 5.1.3、不及格成绩学生的信息: 19 5.1.4、查找某个学生成绩: 20 5.1.5、课件的价值 20 5.1.6、参考文献 20 六、课程设计总结与体会 21 七、组员总结 21 "图(二)、降序排列成绩图"不要放在目录里,整体字体不对,。。。,请按第三组 的格式认真修改和模板的格式认真修改!!! 一、引言 1.1、课程简介 当今社会,计算机技术和通信技术已经不断发展,处理和传输的数据量越来越庞大 。文本文件存储的方式是普通人熟悉的数据管理的方式,我们要做的就是在文本读取 数据,在程序处理数据,生成新的数据再保留在文本文档,供其他人应用。 1.2、课程设计的背景 课程设计是为了让同学们了解学习数据结构的作用和意义。数据结构是计算机科学与 技术专业的专业基础课。所有的计算机系统软件和应用软件都要用到各种类型的数据结 构。因此,想要更好地运用计算机来解决实际问题,仅仅掌握几门计算机程序设计语言 是远远难以应付当前众多复杂的课题,想要有效地使用计算机,充分发挥它的性能,还 必须学习和掌握好数据结构的有关知识,打好数据结构这门课的基础,对于学习计算机 专业其它的课程,如操作系统、软件工程、编译原理、数据库、人工智能等十分有益。 1.3、课程设计的内容: 1.3.1、题目 学生成绩管理系统 1.3.2、要求 现有学生成绩信息文件1(1.txt),内容如下 姓名 学号 语文 数学 英语 张明明 01 67 78 82 李成友 02 78 91 88 张辉灿 03 68 82 56 王露 04 56 45 77 陈东明 05 67 38 47 …. .. .. .. … 学生成绩信息文件2(2.txt),内容如下: 姓名 学号 语文 数学 英语 陈果 31 57 68 82 李华明 32 88 90 68 张明东 33 48 42 56 李明国 34 50 45 87 陈道亮 35 47 58 77 …. .. .. .(文件内容可根据测试要求,自行制定) 试编写一个管理系统,要求如下: 1)、实现对两个文件数据进行合并,生成新文件3.txt 2)、抽取出三科成绩
Java课程设计报告 设计题目学生成绩管理 专 业 xxxxxxxxxxxxxxxxxxxxxxxx 班 级 xxxxxx 学 号 xx 学生姓名 xx 指导教师 xx 起至时间 20xx/6/2至20xx/6/30 教师评分 20xx年 6月 26 日 目录 目录 1 1.概述 1 1.1目的 1 1.2课程设计的组成部分 1 2.设计的内容 1 2.1设计题目 1 2.2具体任务 1 2.3软件环境 1 2.4流程图 1 2.5程序源代码 2 2.6运行结果 8 3.总结 8 1.概述 1.1目的 这学期我们学习Java语言,Java语言是面向对象的开发方法,是当今世界最流行 的开发方法,是当今流行的网络编程语言。它具有面向对象、跨平台、分布应用等特点 。它不仅具有贴近自然的语言,而且有利于软件的维护和继承。是很多程序开发人员的 第一选择。 为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象 的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了 Java程序设计课程设计。让学生自己动手动脑,将书本上的知识运用到实践当去,使 知识能更好的融会贯通。 为了达到这个目的,我们需要自己动手做一个Java的课程设计,在这个课程设计里 需要根据我们手现有的软件与知识基础,独立的将它完成,只有这样,我们才能把理 论变成实践,将知识真正的做到学以致用。 1.2课程设计的组成部分 课程设计报告的构成包括:(1)前置部分:封面、目录页;(2)主体部分:引言( 设计目的、任务要求等)、正文、结果、项目开发遇到的困难及解决、体会、参考 文献。 2.设计的内容 该学生系统应具备能记录并添加学生姓名成绩学号的功能,并且按平均分来排 序输出输入姓名可以在系统查询到对应的成绩,它可以计算出各科的平均分,且输 出最高分和最分。 具体的功能描述如下: 当进入学生管理系统时,会有提示发生,根据提示内容。 输 "1",将进入输入记录的界面,此时将在此界面输入学生成绩姓名学号。 输"2",得到各门课的平均分。 输"3",得到各科的最高分。 输"4",得到各科的最分。 输 "5",查询所有学生成绩。 输"6",查询个别学生成绩。 输"7",退出系统。 2.1设计题目 1. 输入若干同学的学号姓名,四科成绩(应用数学,大学英语,Java程序设计,计算 机应用基础),储存入数据。 2. 计算出平均成绩,以平均成绩降序输出成绩表。 3. 输出全组最高分,平均分,和最分。 4. 输入姓名查询成绩。 2.2具体任务 5. 本人的任务是设计程序代码来输入若干同学的学号姓名,四科成绩(应用数学,大 学英语,Java程序设计,计算机应用基础),储存入数据。 因此设计了三个类来实现相应的功能: 1)第一个类:public class TestStudent { public static void main(String[] args) { System.out.println("*********成绩管理系统***********"); System.out.println("1.录入学生成绩"); System.out.println("2.求各门课平均分"); System.out.println("3.求各门课最高分"); System.out.println("4.求各门课最分"); System.out.println("5.查询所有学生信息"); System.out.println("6.查询个别学生信息"); System.out.println("7.退出系统"); Scanner s=new Scanner(System.in); String order=s.next(); Method.start(order); } } 2)第二个类: import java.util.Scanner; public class Method { private static Student[] student=new Student[300]; public static void start(String order){ Scanner s=new Scanner(System.in); while(true){ if(order.equals("1")){ InputMethod.input(student); System.out.println("录入结束,请选择接下来要做的操作"); order=s.next(); }else if(order.equals("2")){ CountAverage.count(student);//输入为2时候,求各门课平均分

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值