/*
  基本类ScoreInformation类相较之前无变化
*/
public class ScoreInformation {
    private String stunumber;//学号
    private String name;//姓名
    private String stuclass;//班级
    private String papertitle;//毕业设计论文题目
    private  String paperbody;//毕业设计论文正文
    private double paperpass;//论文查重率
    private   boolean paprereview;//最终审查效果
    public ScoreInformation(String stunumber, String name, String stuclass, String papertitle, String paperbody, double paperpass, boolean paprereview) {
        this.stunumber = stunumber;
        this.name = name;
        this.stuclass = stuclass;
        this.papertitle = papertitle;
        this.paperbody = paperbody;
        this.paperpass = paperpass;
        this.paprereview = paprereview;
    }
    public ScoreInformation() {
    }
    public String getStunumber() {
        return stunumber;
    }
    public void setStunumber(String stunumber) {
        this.stunumber = stunumber;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getStuclass() {
        return stuclass;
    }
    public void setStuclass(String stuclass) {
        this.stuclass = stuclass;
    }
    public String getPapertitle() {
        return papertitle;
    }
    public void setPapertitle(String papertitle) {
        this.papertitle = papertitle;
    }
    public String getPaperbody() {
        return paperbody;
    }
    public void setPaperbody(String paperbody) {
        this.paperbody = paperbody;
    }
    public double getPaperpass() {
        return paperpass;
    }
    public void setPaperpass(double paperpass) {
        this.paperpass = paperpass;
    }
    public boolean isPaprereview() {
        return paprereview;
    }
    public void setPaprereview(boolean paprereview) {
        this.paprereview = paprereview;
    }
}
package com.open08;
import java.util.ArrayList;
import java.util.Scanner;
public class PaperManagement {
    static ArrayList<ScoreInformation> book =new ArrayList<>();
    static Scanner sc=new Scanner(System.in);
    public static void main(String[] args) {
        while (true) {
            addStudent();
            int choose = mainFrame();
            switch (choose) {
                case 1://毕业设计论文提交
                    paperSubmission();
                    break;
                case 2://毕业设计论文查重
                    paperPass ( );
                    //asd();
                    break;
                case 3://毕业设计论文审查
                    paperReview ( );
                    break;
                case 4://退出论文管理系统
                    logOut();
                default:
                    break;
            }
        }
    }
    public static void addStudent(){
        ScoreInformation s1=new ScoreInformation();
        s1.setName("宋天放");
        s1.setStunumber("20204175");
        s1.setStuclass("信2005-1班");
        ScoreInformation s2=new ScoreInformation();
        s2.setName("付治齐");
        s2.setStunumber("20204177");
        s2.setStuclass("信2005-1班");
        ScoreInformation s3=new ScoreInformation();
        s3.setName("陈少杰");
        s3.setStunumber("20204176");
        s3.setStuclass("信2005-2班");
        ScoreInformation s4=new ScoreInformation();
        s4.setName("唐康");
        s4.setStunumber("20204181");
        s4.setStuclass("信2005-2班");
        ScoreInformation s5=new ScoreInformation();
        s5.setName("薛贺程");
        s5.setStunumber("20203982");
        s5.setStuclass("信2005-1班");
        book.add(s1);
        book.add(s2);
        book.add(s3);
        book.add(s4);
        book.add(s5);
    }
    public static void showMenu(){
        System.out.println("***********************************************************");
        System.out.println("*********************石家庄铁道大学软件工程系*******************");
        System.out.println("********************毕业设计论文管理系统2021版******************");
        System.out.println("***********************************************************");
        System.out.println("*********************1、毕业设计论文提交**********************");
        System.out.println("*********************2、毕业设计论文查重**********************");
        System.out.println("*********************3、毕业设计论文审查**********************");
        System.out.println("*********************4、退出论文管理系统**********************");
        System.out.println("***********************************************************");
    }
    public static  int mainFrame(){//主界面方法
//            (1)绘制主界面
//            (2)获取输入
//            (3)判断选择功能界面
        showMenu();
        while (true) {
            int choose;
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入您的选择");
            choose = sc.nextInt();
            if(choose>4||choose<1){
                System.out.println("该选项不存在");
            }else{
                return choose;
            }
        }
    }
    public static int  idTrue(StringBuilder sb){
        //boolean exist=false;
        String ID;
        while(true) {
            System.out.println("请输入学生学号---学号为八位");
            Scanner sc = new Scanner(System.in);
            ID = sc.nextLine();
            if (ID.length() != 8) {
                System.out.println("请检查输入学号的位数");
            }else{
                break;
            }
        }
        for (int i=0;i<book.size();i++){
            if(book.get(i).getStunumber().equals(ID)){
                //exist=true;
                System.out.println("***********************************************************");
                System.out.println("石家庄铁道大学软件工程系毕业设计论文管理系统2021版");
                System.out.println("***********************************************************");
                System.out.println("学生学号: "+book.get(i).getStunumber());
                System.out.println("学生姓名: "+book.get(i).getName());
                System.out.println("所在班级: "+book.get(i).getStuclass());
                //index+=i;
                sb.append(i);//返回索引值
                return 1;
            }
        }
        System.out.println("该学生不存在");
        return -1;
    }
    public static void paperSubmission ( ){//毕业设计论文提交方法
        System.out.println("***********************************************************");
        System.out.println("石家庄铁道大学软件工程系毕业设计论文管理系统2021版");
        System.out.println("毕业设计论文提交");
        System.out.println("***********************************************************");
        while (true) {
            StringBuilder sb = new StringBuilder();
            int ch = idTrue(sb);
            int index = Integer.parseInt(sb.toString());
            if (ch == 1) {
                String paper;
                String title;
                while (true) {
                    System.out.println("请输入毕业设计论文题目:XXXXXX XXXX");
                    System.out.println("**********************************************************");
                    title = sc.nextLine();
                    if (title.length() > 10) {
                        System.out.println("论文题目过长,请重新输入");
                    } else {
                        break;
                    }
                }
                System.out.println("***********************************************************");
                System.out.println("石家庄铁道大学软件工程系毕业设计论文管理系统2021版");
                System.out.println("毕业设计论文提交");
                System.out.println("***********************************************************");
                System.out.println("学生学号:" + book.get(index).getStunumber());
                System.out.println("学生姓名:" + book.get(index).getName());
                System.out.println("所在班级:" + book.get(index).getStuclass());
                System.out.println("毕业设计论文题目:" + title);
                System.out.println("请输入毕业设计论文正文:XXXXXX XXXX XXXXXX XXXX ");
                System.out.println("XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX ");
                System.out.println("**********************************************************");
                while (true) {
                    paper = sc.nextLine();
                    if (paper.length() > 200) {
                        System.out.println("论文正文过长,请重新输入");
                    } else {
                        break;
                    }
                }
                System.out.println("***********************************************************");
                System.out.println("石家庄铁道大学软件工程系毕业设计论文管理系统2021版");
                System.out.println("毕业设计论文提交");
                System.out.println("***********************************************************");
                System.out.println("学生学号:" + book.get(index).getStunumber());
                System.out.println("学生姓名:" + book.get(index).getName());
                System.out.println("所在班级:" + book.get(index).getStuclass());
                System.out.println("毕业设计论文题目:" + title);
                System.out.println("毕业设计论文正文:" + paper);
                System.out.println("该学生成绩已录入完毕,是否提交(Y/N)");
                System.out.println("**********************************************************");
                String result;
                result = sc.nextLine();
                if (result.equals("Y") || result.equals("y")) {
                    book.get(index).setPapertitle(title);
                    book.get(index).setPaperbody(paper);
                    break;
                } else if (result.equals("N") || result.equals("n")) {
                    continue;
                }
            }
        }
    }
    public static void paperPass ( ){//毕业设计论文查重方法
        System.out.println("***********************************************************");
        System.out.println("石家庄铁道大学软件工程系毕业设计论文管理系统2021版");
        System.out.println("毕业设计论文查重");
        System.out.println("***********************************************************");
        while (true) {
            StringBuilder sb = new StringBuilder();
            int ch = idTrue(sb);
            int index = Integer.parseInt(sb.toString());
            if (ch == 1) {
                double pass;
                System.out.println("毕业设计论文题目:" + book.get(index).getPapertitle());
                System.out.println("毕业设计论文正文:" + book.get(index).getPaperbody());
                System.out.println("请输入毕业设计论文查重率:XXX");
                System.out.println("**********************************************************");
                while (true) {
                    pass = sc.nextDouble();
                    if (pass > 1 || pass < 0) {
                        System.out.println("查重率不符合要求,请重新输入");
                    } else {
                        break;
                    }
                }
                System.out.println("***********************************************************");
                System.out.println("石家庄铁道大学软件工程系毕业设计论文管理系统2021版");
                System.out.println("毕业设计论文查重");
                System.out.println("***********************************************************");
                System.out.println("学生学号:" + book.get(index).getStunumber());
                System.out.println("学生姓名:" + book.get(index).getName());
                System.out.println("所在班级:" + book.get(index).getStuclass());
                System.out.println("毕业设计论文题目:" + book.get(index).getPapertitle());
                System.out.println("毕业设计论文正文:" + book.get(index).getPaperbody());
                System.out.println("毕业设计论文查重率:" + pass);
                System.out.println("该学生查重率以录入成功,是否提交(Y/N)");
                System.out.println("选择“Y”返回系统主界面。选择“N”,返回论文查重输入学号界面。");
                System.out.println("**********************************************************");
                String result;
                result = sc.nextLine();
                result =sc.nextLine();
                if (result.equals("Y") || result.equals("y")) {
                    book.get(index).setPaperpass(pass);
                    break;
                } else if (result.equals("N") || result.equals("n")) {
                    continue;
                }
            }
        }
    }
    public static void paperReview ( ){//毕业设计论文审查方法
        while (true) {
            System.out.println("***********************************************************");
            System.out.println("石家庄铁道大学软件工程系毕业设计论文管理系统2021版");
            System.out.println("毕业设计论文审查");
            System.out.println("***********************************************************");
            StringBuilder sb = new StringBuilder();
            int ch = idTrue(sb);
            int index = Integer.parseInt(sb.toString());
            System.out.println("毕业设计论文题目:" + book.get(index).getPapertitle());
            System.out.println("毕业设计论文正文:" + book.get(index).getPaperbody());
            System.out.println("请输入毕业设计论文查重率:"+book.get(index).getPaperpass());
            System.out.println("**********************************************************");
            if(book.get(index).getPaperpass()>=0.2){
                System.out.println("查重率过高,不允许进行论文查重");
                break;
            }else {
                System.out.println("***********************************************************");
                System.out.println("石家庄铁道大学软件工程系毕业设计论文管理系统2021版");
                System.out.println("毕业设计论文审查");
                System.out.println("***********************************************************");
                System.out.println("学生学号:" + book.get(index).getStunumber());
                System.out.println("学生姓名:" + book.get(index).getName());
                System.out.println("所在班级:" + book.get(index).getStuclass());
                System.out.println("毕业设计论文题目:" + book.get(index).getPapertitle());
                System.out.println("毕业设计论文正文:" + book.get(index).getPaperbody());
                System.out.println("毕业设计论文查重率:" + book.get(index).getPaperpass());
                System.out.println("是否同意该学生参加毕业设计答辩:(Y/N)");
                System.out.println("**********************************************************");
                String result;
                result = sc.nextLine();
                if (result.equals("Y") || result.equals("y")) {
                    book.get(index).setPaprereview(true);
                    continue;
                } else if (result.equals("N") || result.equals("n")) {
                    book.get(index).setPaprereview(false);
                    break;
                }
            }
        }
    }
    public static void logOut(){//退出系统方法
        System.out.println("***********************************************************");
        System.out.println("石家庄铁道大学软件工程系毕业设计论文管理系统2021版");
        System.out.println("制作人:宋天放");
        System.out.println("***********************************************************");
        System.exit(0);
    }
}