吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3484|回复: 53
上一主题 下一主题
收起左侧

[Java 转载] 学生管理系统!!我的练习

[复制链接]
跳转到指定楼层
楼主
Twinkling 发表于 2021-11-15 00:06 回帖奖励
        已经练了三遍了,第一遍写了仨小时,第二遍写了俩小时,第三遍写了不到俩小时,我的老师让我半个小时写出来,我的天哪,明天再继续练一练!
        纯属记录我的学习代码,发在这里是因为这里的大佬很多,可以让我受益匪浅,代码有什么问题直说,在这里先谢谢您!
这是main方法的代码......
[Java] 纯文本查看 复制代码
package studentSYS03;

import java.util.ArrayList;
import java.util.Scanner;

public class StudentTest {
    public static void main(String[] args) {
//        不咋会用方法>所以有挺多重复的代码
//        本文没对姓名年龄啥的做判断,可能是不会,也可能是懒癌患者哈哈哈哈毕竟没做过
        Scanner sc = new Scanner(System.in);
        ArrayList<Student> studentArray = new ArrayList<Student>();
//        初始化 给集合里添加几个学生对象初始化
        student(studentArray);
//        初始化 id
        int id = 105;
        while (true) {
            System.out.println("欢迎进入妈见打学生管理系统: ");
            System.out.println("1.添加  2.删除  3.修改  4.查找  5.退出");
            String next = sc.next();
            switch (next) {
//                添加
                case "1":
                    addStudent(id++, sc, studentArray);
                    break;
//                删除
                case "2":
                    removeStudent(sc, studentArray);
                    break;
//                修改
                case "3":
                    setStudent(sc, studentArray);
                    break;
//                查找
                case "4":
                    getStudent(studentArray);
                    break;
//                退出
                case "5":
                    System.out.println("拜拜了您嘞!!");
                    System.exit(0);
                    break;
//                否则
                default:
                    System.out.println("你的输入有误,请重新输入!");
            }
        }

    }

    private static void student(ArrayList<Student> studentArray) {

        Student stu1 = new Student();
        stu1.setId(101);
        stu1.setName("张三");
        stu1.setAge(22);
        stu1.setSex("男");
        studentArray.add(stu1);

        Student stu2 = new Student();
        stu2.setId(102);
        stu2.setName("李四");
        stu2.setAge(23);
        stu2.setSex("男");
        studentArray.add(stu2);

        Student stu3 = new Student();
        stu3.setId(103);
        stu3.setName("王五");
        stu3.setAge(23);
        stu3.setSex("女");
        studentArray.add(stu3);

        Student stu4 = new Student();
        stu4.setId(104);
        stu4.setName("赵六");
        stu4.setAge(24);
        stu4.setSex("男");
        studentArray.add(stu4);
    }

    private static void getStudent(ArrayList<Student> studentArray) {
        System.out.println("学号\t\t姓名\t\t年龄\t\t性别");
        if (studentArray.size() > 0) {
            for (int i = 0; i < studentArray.size(); i++) {
                Student stu = studentArray.get(i);

                System.out.println(stu.getId() + "\t\t" + stu.getName() + "\t\t" + stu.getAge() + "\t\t" + stu.getSex());
            }
        } else {
            System.out.println("【失败】无数据请添加!");
        }
    }

    private static void setStudent(Scanner sc, ArrayList<Student> studentArray) {
        System.out.println("请输入你要修改的学生的 学号:");
        int id = sc.nextInt();
//        遍历数组
        for (int i = 0; i < studentArray.size(); i++) {
            Student stu = studentArray.get(i);
//            判断下  学生类里的学号   是否  等于  输入的学号
            if (stu.getId() == id) {
                //                相等的话        打印出来开头
                System.out.println("学号\t\t姓名\t\t年龄\t\t性别");
                System.out.println(stu.getId() + "\t\t" + stu.getName() + "\t\t" + stu.getAge() + "\t\t" + stu.getSex());
                System.out.println();
                System.out.println("请输入新的 姓名  输入 0 不修改此选项");
                String newName = sc.next();
                System.out.println("请输入新的 姓名  输入 0 不修改此选项");
                int newAge = sc.nextInt();
                System.out.println("请输入新的 姓名  输入 0 不修改此选项");
                String newSex = sc.next();
//                判断是否等于零 等于的话就不修改
                if (!("0".equals(newName))) {
//                    把新的值在付给对象
                    stu.setName(newName);
                }
                if (newAge != 0) {
//                    把新的值在付给对象
                    stu.setAge(newAge);
                }
                if (!("0".equals(newSex))) {
//                    把新的值在付给对象
                    stu.setSex(newSex);
                }
//                  提示下成功
                System.out.println("【成功】已成功修改!");
//                返回退出方法
                return;
            }
        }
//        提示下找不到
        System.out.println("【失败】请重新输入!");
    }

    private static void removeStudent(Scanner sc, ArrayList<Student> studentArray) {
        System.out.println("请输入你要删除的学生的 学号:");
        int id = sc.nextInt();
//        遍历集合
        for (int i = 0; i < studentArray.size(); i++) {
//          学生类    stu   =      集合里的 i 索引位置的元素
            Student stu = studentArray.get(i);
//            判断下  学生类里的学号   是否  等于  输入的学号
            if (stu.getId() == id) {
//                相等的话        打印出来开头
                System.out.println("学号\t\t姓名\t\t年龄\t\t性别");
                System.out.println(stu.getId() + "\t\t" + stu.getName() + "\t\t" + stu.getAge() + "\t\t" + stu.getSex());
                System.out.println();
                System.out.println("确定要删除学号为: " + id + " 的学生吗?  y/n");
                String rem = sc.next();
//                判断下是否相等 输入的
                if ("y".equalsIgnoreCase(rem)) {
                    studentArray.remove(i);
                    System.out.println("【成功】已成功删除!");
                    System.out.println("--------------------------------");
                    return;
                } else {
                    System.out.println("已返回!!!!");
                }

            }
        }
        System.out.println("【失败】请重新输入!");
    }

    private static void addStudent(int id, Scanner sc, ArrayList<Student> studentArray) {
        System.out.println("请输入你要添加学生的 姓名:");
        String name = sc.next();
        System.out.println("请输入你要添加学生的 年龄:");
        int age = sc.nextInt();
        System.out.println("请输入你要添加学生的 性别:");
        String sex = sc.next();
//        把 收来的信息放进对象里
        Student stu = new Student();
        stu.setId(id);
        stu.setName(name);
        stu.setAge(age);
        stu.setSex(sex);
//        把对象放在集合里
        studentArray.add(stu);
//        返回下成功
        if (studentArray.size() > 0) {
            System.out.println("【成功】已成功存入!");
            System.out.println("--------------------------------");
        } else {
            System.out.println("【失败】请重新输入!");
        }
    }
}


这是封装的代码
[Java] 纯文本查看 复制代码
package studentSYS03;

public class Student {
    private int id;
    private String name;
    private int age;
    private String sex;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

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

    public Student(int id, String name, int age, String sex) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    public Student() {
    }
}

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
lstar + 1 + 1 热心回复!
tandz + 1 + 1 我很赞同!
王星星 + 1 + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
lostmilkyway 发表于 2021-11-15 10:08
本帖最后由 lostmilkyway 于 2021-11-15 10:17 编辑

我还以为是B/S的学生管理系统,大一?多背单词多练算法,这个其实意义不大,另外你这个关闭后数据就全部丢失了,你这相当于只写了个前端出来,不考虑一些前后端交互细节处理的话,尝试跟数据库连接下,或者干脆写到本地文件(自己设计个数据库玩玩
推荐
wushaominkk 发表于 2021-11-15 09:09
速度快10分钟可以写完,有些代码可以一键生成,加油
3#
xiaoshu1688 发表于 2021-11-15 09:14
4#
cr0624 发表于 2021-11-15 09:24
很努力,然而我看不懂
5#
Pwaerm 发表于 2021-11-15 09:30
加油,非常好。
头像被屏蔽
6#
王星星 发表于 2021-11-15 09:37
提示: 作者被禁止或删除 内容自动屏蔽
7#
Do_zh 发表于 2021-11-15 09:39
复制粘贴。快得很。
8#
houxiaobai 发表于 2021-11-15 09:40
我刚开始学,感谢大佬,这对我帮助很大
9#
 楼主| Twinkling 发表于 2021-11-15 09:40 |楼主
wushaominkk 发表于 2021-11-15 09:09
速度快10分钟可以写完,有些代码可以一键生成,加油

我觉得我已经尽力了,每次敲的时候还要想想该咋写哈哈哈还是敲的少了
10#
 楼主| Twinkling 发表于 2021-11-15 09:41 |楼主
Do_zh 发表于 2021-11-15 09:39
复制粘贴。快得很。

这个还是的自己来,毕竟复制粘贴不能让我通过面试
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 10:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表