实战:使用Java打造Jira管理系统,源码解析


 

 

 

java jira 管理系统源码 java制作管理系统_System

以上是文件组织结构

 

下面是个.java的具体代码:



1 package com.collection.students.pojo;
 2 
 3 public class Student {
 4     private String sno;
 5     private String gender;
 6     private String name;
 7     private String clas;
 8     
 9     public Student() {
10 
11     }
12     public Student(String sno, String name, String gender, String clas) {
13         super();
14         this.sno = sno;
15         this.gender = gender;
16         this.name = name;
17         this.clas = clas;
18     }
19     
20     public String getSno() {
21         return sno;
22     }
23     public void setSno(String sno) {
24         this.sno = sno;
25     }
26     public String getGender() {
27         return gender;
28     }
29     public void setGender(String gender) {
30         this.gender = gender;
31     }
32     public String getName() {
33         return name;
34     }
35     public void setName(String name) {
36         this.name = name;
37     }
38     public String getClas() {
39         return clas;
40     }
41     public void setClas(String clas) {
42         this.clas = clas;
43     }
44     @Override
45     public String toString() {
46         return  sno + "\t" + name + "\t" + gender
47                 + "\t" + clas;
48     }
49     
50     
51     
52 }
  • 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.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.



package com.collection.students.data;

import java.util.HashSet;

import com.collection.students.pojo.Student;


public class StuDatas {
    private HashSet<Student> set;
    
    public StuDatas() {
        this.set = new HashSet<Student>();
    }

    public HashSet<Student> getSet() {
        return set;
    }

    public void setSet(HashSet<Student> set) {
        this.set = set;
    }
    
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.



 



package com.collection.students.service;

import java.util.Iterator;

import com.collection.students.data.StuDatas;
import com.collection.students.pojo.Student;

public class StuSer {

    private Student tempStu;
    private StuDatas datas;
    private Iterator<Student> iterator;
    private boolean judge;

    public StuSer() {
        this.datas = new StuDatas();
        judge = false;
        tempStu = null;
    }

    public void addStu(Student student) {
        iterator = datas.getSet().iterator();
        System.out.println("添加前学生人数:"+datas.getSet().size());
        datas.getSet().add(student);
        System.out.println("添加成功");
        System.out.println("添加后学生人数:"+datas.getSet().size());
        System.out.println(iterator.hasNext());
    }

    public void delStu(Student student) {
        iterator = datas.getSet().iterator();
        datas.getSet().remove(student);
        System.out.println("删除成功");
    }

    public void editStu(Student student) {
        iterator = datas.getSet().iterator();
        while (iterator.hasNext()) {
            tempStu = iterator.next();
            if (tempStu.getSno().equals(student.getSno())) {
                tempStu.setGender(student.getGender());
                tempStu.setClas(student.getClas());
                tempStu.setName(student.getName());
                judge = true;
                break;
            }
        }
        if (judge) {
            System.out.println("修改成功");
            judge = false;// 恢复原值
        } else {
            System.out.println("修改失败,未找到这样学号的学生");
        }
    }

    public Student searchStuBySno(String str) {
        iterator = datas.getSet().iterator();
        while (iterator.hasNext()) {
            tempStu = iterator.next();
            if (tempStu.getSno().equals(str)) {
                System.out.println("查到该学号的同学");
                System.out.println("该学生的信息如下:");
                showStu(tempStu);
                judge = true;
                break;
            }
        }
        if (judge) {
            judge = false;// 恢复原值
            return tempStu;
        } else {
            System.out.println("未找到这样学号的学生");
            return null;
        }
    }

    public Student searchStuByName(String str) {
        iterator = datas.getSet().iterator();
        while (iterator.hasNext()) {
            tempStu = iterator.next();
            if (isNameAlike(tempStu.getName(), str)) {
                showStu(tempStu);
                judge = true;
                break;
            }
        }
        if (judge) {
            judge = false;// 恢复原值
            return tempStu;
        } else {
            System.out.println("未找到姓名与输入文字相似的学生");
            return null;
        }
    }

    public void showStu(Student student) {
        System.out.println(student.toString());
    }

    public void showAllStu() {
        iterator = datas.getSet().iterator();
        if (!iterator.hasNext()) {
            System.out.println("暂无学生,你可以选择添加学生");
            return;
        }
        System.out.println("所有学生的信息如下:");
        while (iterator.hasNext()) {
            tempStu = iterator.next();
            showStu(tempStu);
        }
    }

    public Student creatStu(String string) {
        String[] tempString = string.split(",");
        return tempStu = new Student(tempString[0], tempString[1],
                tempString[2], tempString[3]);
    }

    // 按学号判断是否已经存在该学生
    public boolean isStuPresent(Student student) {
        iterator = datas.getSet().iterator();
        while (iterator.hasNext()) {
            if (iterator.next().equals(student)) {
                return true;
            }
        }
        return false;
    }
    public boolean isNameAlike(String s1, String s2) {
        for (int i = 0; i < s1.length(); i++) {
            for (int j = 0; j < s2.length(); j++) {
                if (s1.substring(i, i + 1).equals(s2.subSequence(j, j + 1))) {
                    return true;
                }
            }
        }
        return false;
    }
}
  • 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.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 138.
  • 139.



package com.collection.students.view;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

import com.collection.students.data.StuDatas;
import com.collection.students.pojo.Student;
import com.collection.students.service.StuSer;

public class StuMain {
    public static void main(String[] args) {
        StuSer stuSer = new StuSer();
        Scanner scanner = new Scanner(System.in);
        String choice;
        String input;
        Student student = null;

        while (true) {

            printMenu();
            choice = scanner.nextLine();

            if ("1".equals(choice)) {
                System.out.println("请输入学生的姓名,性别,班级(逗号隔开)");
                String temp = "," + scanner.nextLine();
                input = generateSno() + temp;
                if ((student = stuSer.creatStu(input)) != null) {
                    while (stuSer.isStuPresent(student)) {
                        //如果学号存在则重新产生学号
                        input = generateSno() + temp;
                        student = stuSer.creatStu(input);
                    }
                    stuSer.addStu(student);
                    System.out.println("该生的学号为:" + student.getSno());
                } else {
                    System.out.println("输入的信息不合法");
                }
            }
            if ("2".equals(choice)) {
                System.out.println("请输入学生的学号");
                input = scanner.nextLine();
                student = stuSer.searchStuBySno(input);
                if (student==null) {
                    System.out.println("删除失败");
                }else{
                    stuSer.delStu(student);
                }
            }
            if ("3".equals(choice)) {
                stuSer.showAllStu();
            }
            if ("4".equals(choice)) {
                System.out.println("输入要修改的学生的学号及新的学生姓名,性别,班级(逗号隔开)");
                input = scanner.nextLine();
                student = stuSer.creatStu(input);
                if (student != null) {
                    stuSer.editStu(student);
                }else {
                    System.out.println("输入不合法");
                }
            }
            if ("5".equals(choice)) {
                System.out.println("请输入姓名");
                input = scanner.nextLine();
                stuSer.searchStuByName(input);
            }
            if ("6".equals(choice)) {
                System.out.println("已退出系统");
                System.exit(0);
            }
        }
    }

    public static void printMenu() {
        System.out
                .println("请选择操作序号:\n1.添加学生\n2.删除学生\n3.显示所有学生\n4.更改学生信息\n5.姓名模糊查找\n6.退出\n");

    }

    public static String generateSno() {
        Date date = new Date();
        String str;
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");

        String ran = "" + (int) (Math.random() * 10000);
        StringBuffer sbf = new StringBuffer("");
        for (int i = 0; i < 4 - ran.length(); i++) {
            sbf.append('0');
        }
        str = dateFormat.format(date);
        return str = str + sbf.toString() + ran;
    }
}
  • 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.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.



执行结果:

 

请选择操作序号:
1.添加学生
2.删除学生
3.显示所有学生
4.更改学生信息
5.姓名模糊查找
6.退出

3
暂无学生,你可以选择添加学生
请选择操作序号:
1.添加学生
2.删除学生
3.显示所有学生
4.更改学生信息
5.姓名模糊查找
6.退出

1
请输入学生的姓名,性别,班级(逗号隔开)
sdfa,sdfa,asdf
添加前学生人数:0
添加成功
添加后学生人数:1
false
该生的学号为:201507319147
请选择操作序号:
1.添加学生
2.删除学生
3.显示所有学生
4.更改学生信息
5.姓名模糊查找
6.退出

3
所有学生的信息如下:
201507319147 sdfa sdfa asdf
请选择操作序号:
1.添加学生
2.删除学生
3.显示所有学生
4.更改学生信息
5.姓名模糊查找
6.退出

1
请输入学生的姓名,性别,班级(逗号隔开)
sdfa,dfa,dadf
添加前学生人数:1
添加成功
添加后学生人数:2
true
该生的学号为:201507315547
请选择操作序号:
1.添加学生
2.删除学生
3.显示所有学生
4.更改学生信息
5.姓名模糊查找
6.退出

3
所有学生的信息如下:
201507315547 sdfa dfa dadf
201507319147 sdfa sdfa asdf
请选择操作序号:
1.添加学生
2.删除学生
3.显示所有学生
4.更改学生信息
5.姓名模糊查找
6.退出

1
请输入学生的姓名,性别,班级(逗号隔开)
kfjdisf,sdf,as
添加前学生人数:2
添加成功
添加后学生人数:3
true
该生的学号为:201507311253
请选择操作序号:
1.添加学生
2.删除学生
3.显示所有学生
4.更改学生信息
5.姓名模糊查找
6.退出

3
所有学生的信息如下:
201507311253 kfjdisf sdf as
201507315547 sdfa dfa dadf
201507319147 sdfa sdfa asdf
请选择操作序号:
1.添加学生
2.删除学生
3.显示所有学生
4.更改学生信息
5.姓名模糊查找
6.退出

4
输入要修改的学生的学号及新的学生姓名,性别,班级(逗号隔开)
201507315547,sfs,男,iii
修改成功
请选择操作序号:
1.添加学生
2.删除学生
3.显示所有学生
4.更改学生信息
5.姓名模糊查找
6.退出

3
所有学生的信息如下:
201507311253 kfjdisf sdf as
201507315547 sfs 男 iii
201507319147 sdfa sdfa asdf
请选择操作序号:
1.添加学生
2.删除学生
3.显示所有学生
4.更改学生信息
5.姓名模糊查找
6.退出

2
请输入学生的学号
201507315547
查到该学号的同学
该学生的信息如下:
201507315547 sfs 男 iii
删除成功
请选择操作序号:
1.添加学生
2.删除学生
3.显示所有学生
4.更改学生信息
5.姓名模糊查找
6.退出

3
所有学生的信息如下:
201507311253 kfjdisf sdf as
201507319147 sdfa sdfa asdf
请选择操作序号:
1.添加学生
2.删除学生
3.显示所有学生
4.更改学生信息
5.姓名模糊查找
6.退出

6
已退出系统



QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空