java期末大作业(最简单的系统)

由于西安疫情,作者的java程序设计考试转为线上。作为初学者,他分享了自己的期末大作业——学生信息管理系统、运动员信息管理系统及科技比赛题目的代码实现,基于集合进行数据存储和操作。欢迎大家提出改进意见。
摘要由CSDN通过智能技术生成

因为西安疫情的原因,我们很多考试都已经取消了,没有办法进行线下的考试,就连java程序设计也成了线上的考试。第一次写博客,就想着和大家一起交流,因为是初学者,很多地方也有做的不好的地方,请大家多多指教。顺便提一句,西安加油。

好了废话不多说,直接给大家贴上代码:

1,学生信息管理系统(这个应该大家写的最多的了,我给大家贴上):

(1),首先就是学生类:

public class Student {
    private String name; // 姓名
    private String sex; // 性别
    private String nativePlace; // 籍贯
    private String collage; // 学院
    private String number; // 学号

    public Student(String name, String sex, String nativePlace, String collage, String number) {
        this.name = name;
        this.sex = sex;
        this.nativePlace = nativePlace;
        this.collage = collage;
        this.number = number;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public void setNativePlace(String nativePlace) {
        this.nativePlace = nativePlace;
    }

    public void setCollage(String collage) {
        this.collage = collage;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    // 需要统计籍贯为陕西的人数,男生女生人数,每个学院的人数
    public String getSex() {
        return this.sex;
    }

    public String getNativePlace() {
        return this.nativePlace;
    }

    public String getCollage() {
        return this.collage;
    }
    // 获取学生的学号
    public String getNumber() {
        return this.number;
    }
    public String getName() {
        return this.name;
    }

}

(2),学生类的测试类(我是基于集合进行存储和操作,如果有更好的方法,欢迎大家一起讨论)

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;


public class StudentTest {
    public static void main(String[] args) {
        List<Student> list = new ArrayList<Student>();
        System.out.println("输入学生人数:");
        int num = new Scanner(System.in).nextInt();
        mainMenu(list, num);
    }

    // 主界面方法
    public static void mainMenu(List<Student> list, int num) {

        while (true) {
            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("====================");
            System.out.println("欢迎使用,选择您想进行的操作序号:");
            String no = new Scanner(System.in).nextLine();
            switch (no) {
                case "1":
                    insert(list, num);
                    insertStudentMessageToFile(list);
                    break;
                case "2":
                    upDateStudentMessage(list, num);
                    insertStudentMessageToFile(list);
                    break;
                case "3":
                    deleteStudentMessage(list, num);
                    insertStudentMessageToFile(list);
                    break;
                case "4":
                    getStudentNumber(list, num);
                    break;
                case "5":
                        findStudentMessgae(list,num);
                        break;
                case "6":
                    System.out.println("谢谢使用,再见");
                    System.exit(0);
                default:
                    System.out.println("只能输入1-5的序号,您输入有误");
            }
        }
    }


    // 添加学生信息;
    public static void insert(List<Student> list, int num) {
        for (int i = 0; i < num; i++) {
            System.out.println("输入第" + (i+1) + "个学生的姓名:");
            String name = new Scanner(System.in).nextLine();
            System.out.println("输入第" + (i+1) + "个学生的学号:");
            String number = new Scanner(System.in).nextLine();
            System.out.println("输入第" + (i+1) + "个学生的性别:");
            String sex = new Scanner(System.in).nextLine();
            System.out.println("输入第" + (i+1) + "个学生的籍贯:");
            String nativePlace = new Scanner(System.in).nextLine();
            System.out.println("输入第" + (i+1) + "个学生的所在学院:");
            String collage = new Scanner(System.in).nextLine();
            Student stu = new Student(name, sex, nativePlace, collage, number);
            list.add(stu);
        }
    }

    // 统计籍贯为陕西的学生人数,以及男女生学生的人数
    public static void getStudentNumber(List<Student> list, int num) {
        if (list.size() == 0) {
            System.out.println("还没有输入学生信息");
            // 没有学生信息退出系统
            System.exit(0);
        }
        int sxCount = 0, manCount = 0, womenCount = 0, computerCollega = 0, jidianCollega = 0;
        for (int i = 0; i < num; i++) {
            if (list.get(i).getNativePlace().equals("陕西省") || list.get(i).getNativePlace().equals("陕西")) {
                sxCount++;
            }
            if (list.get(i).getSex().equals("男") || list.get(i).getSex().equals("男生")) {
                manCount++;
            } else {
                womenCount++;
            }
            if (list.get(i).getCollage().equals("计算机学院") || list.get(i).getCollage().equals(&#
用来完成大作业的。文档内容: 1 Java技术体系 1.1 Java语言 1.2 Java平台 1.3 Java应用领域 2 Java语言的技术特点 2.1 1 2.2 2 2.3 3 3 Java语言与C++的异同分析总结。 4 选用C和java语言时编程算法程序有什么不同,有什么优势和劣势。 5 自己编程学习的级别和状态。以及自己以后的编程学习的计划和想法。 6 下面3道题目中选一道,给出算法分析和程序。 1)“黄金分割数”在我们的生活中很常见,但是在不同的应用领域,要求的精度也不一样。 例如:三位小数是0.618 现在我们需要你能求出保留100位小数的黄金分割数,采用的算法为“分层计算法”: 黄金数= 1 --------------- 1+ 1 ------------- 1+ 1 ----------- 1+ 1 --------- ..... 注意,计算出的结果,如果第100位为0也需要保留。 2)已知一个数列: 5,2,4,3,7,6 那么,在这个数列中存在这样一些“连续数”,例如:5,2,4,3这个子数列排序后是连续的。同样2,4,3也是连续的,为了方便表示 我们使用下标来标识,这样,这个数列中存在以下“连续数”: [1,1] [1,4] [1,6] [2,2] [2,4] [3,3] [3,4] [4,4] [5,5] [5,6] [6,6] 这样,他就存在11个“连续数”。现在需要你在用户找出一个数组中所有的“连续数”。 要求: 1、用户输入一个整数N,表示下面数组的个数 2、用户每输入一行作为一个数组 如: 用户输入: 1 5,2,4,3,7,6 程序输出: 11 3)有一种数我们称之为幸运数,它的特点是这样的,首先,由自然数按顺序排列: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 … 这样,1比较特殊, 1为第一个幸运数,那么,我们移除掉序号能被2整除的数(注意:是序号,而不是数本身,每次移除后都重新排序)就剩下: 1 3 5 7 9 11 13 15 17 19… 3为第二个幸运数,那么我们需要去掉序号能被3(下一次是除4,然后是5,每次加1)整除的数,5 11 17...剩下: 1 3 7 9 13 15 19… 那么7为第三个幸运数,后面的幸运数,依此类推,移除之后剩下的数字都是幸运数。 现在我们需要你求出给定的m和n之间的幸运数的个数: 例如:给定1 20,那么个数为:5(5个幸运数分别是1,3,7,13,19) 现在要求用户输入两个数m和n(m<n<=1000*1000),输出幸运数的个数。 例如: 用户输入: 1 20 程序输出: 5 格式:小四,1.5倍行距
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值