2021/9/21-开学测试三次修改

程序中报错:Resource leak:'input' is never closed

但执行语句:input.close()后程序不报错,但程序无法按正常设想进行运行。

package paperInformation;

import java.util.Scanner;
public class paperManagement 
{
	 Scanner input=new Scanner(System.in);
	 scoreInformation[] si=new scoreInformation[5];
	 scoreInformation si0=new scoreInformation("20203904","yangpei","xin03",null,null,0.0,false);
    scoreInformation si1=new scoreInformation("20203895","wangyue","xin03",null,null,0.0,false);
	
	public static void mainFrame()                        //系统进入界面
	{
		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  void xuehao(int choice)                            //学号判断
	{
            System.out.println("***********************************************************") ; 
            System.out.println ("        石家庄铁道大学软件工程系毕业设计论文管理系统2021版 ");
            System.out.println("         毕业设计论文提交 " ); 
            System.out.println("***********************************************************"); 
            System.out.println("         请输入八位学生学号: " ); 
            System.out.println("**********************************************************");
            Scanner input=new Scanner(System.in);
            String stunumber=input.nextLine();
            
            if(choice==1)
            {
            boolean flag=true;
            while(flag)
            {
                String a=si0.getstunumber();
                String b=si1.getstunumber();
                    if(stunumber.equals(a))
                    {xinxi(si0,1);
                    paperSubmission(si0);
                    flag=false;}
                    else if(stunumber.equals(b))
                    {xinxi(si1,1);
                    paperSubmission(si1);
                    flag=false;}
                    else {
                        System.out.println("学号错误");
                        xuehao(1);}
            }
            }
            if(choice==2)
            {
            boolean flag=true;
            while(flag)
            {
                String a=si0.getstunumber();
                String b=si1.getstunumber();
                    if(stunumber.equals(a))
                    {xinxi(si0,2);
                    paperPass(si0);
                    flag=false;}
                    else if(stunumber.equals(b))
                    {xinxi(si1,2);
                    paperPass(si1);
                    flag=false;}
                    else {
                        System.out.println("学号错误");
                        xuehao(2);}
            }
            }
            if(choice==3)
            {
            boolean flag=true;
            while(flag)
            {
                String a=si0.getstunumber();
                String b=si1.getstunumber();
                    if(stunumber.equals(a))
                    {xinxi(si0,3);
                    paperReview(si0);
                    flag=false;}
                    else if(stunumber.equals(b))
                    {xinxi(si1,3);
                    paperReview(si1);
                    flag=false;}
                    else {
                        System.out.println("学号错误");
                        xuehao(3);}
            }
            }
            
	}
	public  void xinxi(scoreInformation sc,int choice)             //信息显示
	{
	if(choice==1)
	{
		System.out.println("***********************************************************") ; 
        System.out.println ("          石家庄铁道大学软件工程系毕业设计论文管理系统2021版 ");
        System.out.println("           毕业设计论文提交 " ); 
        System.out.println("***********************************************************"); 
        System.out.println("           学生学号: "+sc.getstunumber()+"                  "); 
        System.out.println("           学生姓名:"+sc.getname()+"                        ");
        System.out.println("           所在班级:"+sc.getstuclass()+"                   ");
        System.out.println("           请输入毕业设计论文题目:                            ");
        System.out.println("           请输入毕业论文正文:                              ");
        System.out.println("**********************************************************");
	}
	if(choice==2)
	{
		System.out.println("***********************************************************") ; 
        System.out.println ("          石家庄铁道大学软件工程系毕业设计论文管理系统2021版 ");
        System.out.println("           毕业设计论文提交 " ); 
        System.out.println("***********************************************************"); 
        System.out.println("           学生学号: "+sc.getstunumber()+"                  "); 
        System.out.println("           学生姓名:"+sc.getname()+"                        ");
        System.out.println("           所在班级:"+sc.getstuclass()+"                   ");
        System.out.println("           请输入毕业设计论文题目:"+sc.getpapertitle()+"    ");
        System.out.println("           请输入毕业论文正文:"+sc.getpaperbody()+"            ");
        System.out.println("**********************************************************");
	}
	if(choice==3)
	{
		System.out.println("***********************************************************") ; 
        System.out.println ("          石家庄铁道大学软件工程系毕业设计论文管理系统2021版 ");
        System.out.println("           毕业设计论文提交 " ); 
        System.out.println("***********************************************************"); 
        System.out.println("           学生学号: "+sc.getstunumber()+"                  "); 
        System.out.println("           学生姓名:"+sc.getname()+"                        ");
        System.out.println("           所在班级:"+sc.getstuclass()+"                   ");
        System.out.println("           请输入毕业设计论文题目:"+sc.getpapertitle()+"    ");
        System.out.println("           请输入毕业论文正文:"+sc.getpaperbody()+"            ");
        System.out.println("           毕业论文查重率:"+sc.getpaperpass()+"            ");
        System.out.println("**********************************************************");
	}
}
	public  void paperSubmission(scoreInformation sc)              // 提交方法
	{
		Scanner input=new Scanner(System.in);
		String topic=input.nextLine();
		
		int m=topic.length();
		if(m>20)
		{
			System.out.println("题目太长不符合格式,请重新输入:");      //判断题目长度;
            xinxi(sc,1);
        }    
            else {
                System.out.println("请输入论文正文内容:");//判断正文大小
                String body=input.nextLine();
                int n=body.length();
                if(n>=400) 
                {
                System.out.println("正文内容超出要求长度");
                xinxi(sc,1);
                }
                else 
                {
                    System.out.println("该学生成绩已录入完毕,是否提交(Y/N)");
                    char select=input.next().charAt(0);
                    if(select=='Y') {sc.setpapertitle(topic);sc.setpaperbody(body);mainFrame();}
                    else mainFrame();}
                }
		}
    public  void paperPass(scoreInformation sc)                  //查重率提交           
    {
    	xuehao(2);
    	Scanner input=new Scanner(System.in);
        double rate=input.nextDouble();
        sc.setpaperpass(rate);
        
        if(rate>20) {
            System.out.println("该学生毕业设计论文重复率超过20%,不允许进行论文审查");
            paperPass(sc);
        }
        else
            {
        	xinxi(sc,3);
        	System.out.println("   (Y/N)    ");
        	char select=input.next().charAt(0);
        	if(select=='Y')paperPass(sc);
        	if(select=='N')mainFrame();
            }
        
    }
    public  void paperReview(scoreInformation sc)
    {
    	if(sc.getpaperpass()>0.2)
    	{
    		System.out.println("该学生毕业设计论文重复率超过20%,不允许进行论文审查");
    		paperReview(sc);
    	}
    	else
    	{
    		xinxi(sc,3);
    		System.out.println("是否同意该学生参加毕业设计答辩:(Y/N)");
    		char select=input.next().charAt(0);
        	if(select=='Y')paperReview(sc);
        	if(select=='N')mainFrame();
    	}
    }
    public  static void main(String[] args) 
	{
    	mainFrame();
    	while(true)
    	{
    	paperManagement p=new paperManagement();
    	
		Scanner input=new Scanner(System.in);
		int select=input.nextInt();
		
		switch(select)                                  //用户选择选项
		{
		case 1:
			p.xuehao(1);
			break;
		case 2:
			p.xuehao(2);
			break;
		case 3:
			p.xuehao(3);
			break;
		case 4:
			System.out.println("***********************************************************");
			System.out.println("     石家庄铁道大学软件工程系毕业设计论文管理系统2021版       ");
			System.out.println("                       制作人:杨佩                     ");
			System.out.println("***********************************************************");
			System.exit(-1);
			break;
		default:
			System.out.println("输入信息有误");
			break;
		}
	}
    	
	}
};

  

posted @ 2021-09-21 21:42  _Pi  阅读(92)  评论(0)    收藏  举报