Java 我能';在某些扫描仪上不能打任何东西

Java 我能';在某些扫描仪上不能打任何东西,java,Java,在过去的几天里,我一直在创建一个简单的图书馆系统,由于这个网站,我已经完成了每个书架的数量、展示等。目前,我遇到了借款人借阅实体书、下载电子书或借用设备的问题。首先,在运行时出现了一个空点异常错误,在调用borrowBookPH时出现了一个错误,最后,我不知道这本书是否真的被借用或下载 我已经发布了我的图书馆项目的缩短代码 编辑:我已经设法找出是什么导致了我的问题。现在我的问题是,当被问到“输入本/设备名称”时,我不能键入任何字符串:“我的代码中没有错误/警告。” 驾驶员等级: System.o

在过去的几天里,我一直在创建一个简单的图书馆系统,由于这个网站,我已经完成了每个书架的数量、展示等。目前,我遇到了借款人借阅实体书、下载电子书或借用设备的问题。首先,在运行时出现了一个空点异常错误,在调用borrowBookPH时出现了一个错误,最后,我不知道这本书是否真的被借用或下载

我已经发布了我的图书馆项目的缩短代码

编辑:我已经设法找出是什么导致了我的问题。现在我的问题是,当被问到“输入本/设备名称”时,我不能键入任何字符串:“我的代码中没有错误/警告。”

驾驶员等级:

System.out.println("Input Borrower: ");
    int borrowerID = sc.nextInt();

    switch(borrowerID){

    case 11074450: System.out.println("1. Physical 2. Digital 3. Equipment: ");
                    int choice = sc.nextInt();
                    switch(choice){
                        case 1: System.out.println("Input Book Name: ");
                                String borrowIP = sc.nextLine();
                                for(int i = 0; i < ph.size(); i++){
                                    if(borrowIP.equals(ph.get(i).getTitle()))
                                        brw1.borrowBookPH(ph.get(i));
                                }
                                break;
                        case 2: System.out.println("Input Book Name: ");
                                String borrowID = sc.nextLine();
                                for(int i = 0; i < dg.size(); i++){
                                    if(borrowID.equals(dg.get(i).getTitle()))
                                        brw1.downloadBookDG(dg.get(i));
                                }
                                break;
                        case 3: System.out.println("Input Equipment Name: ");
                                String borrowIE = sc.nextLine();
                                for(int i = 0; i < eqp.size(); i++){
                                    if(borrowIE.equals(eqp.get(i).getName()))
                                        brw1.borrowEQ(eqp.get(i));
                                }
                                break;
                    }
                    break;
    case 10355230: System.out.println("1. Physical 2. Digital 3. Equipment: ");
                    int choice2 = sc.nextInt();
                    switch(choice2){
                        case 1: System.out.println("Input Book Name: ");
                                String borrowIP = sc.nextLine();
                                for(int i = 0; i < ph.size(); i++){
                                    if(borrowIP.equals(ph.get(i).getTitle()))
                                        brw2.borrowBookPH(ph.get(i));
                                    }
                                break;
                        case 2: System.out.println("Input Book Name: ");
                                String borrowID = sc.nextLine();
                                for(int i = 0; i < dg.size(); i++){
                                    if(borrowID.equals(dg.get(i).getTitle()))
                                        brw2.downloadBookDG(dg.get(i));
                                    }
                                break;
                        case 3: System.out.println("Input Equipment Name: ");
                                String borrowIE = sc.nextLine();
                                for(int i = 0; i < eqp.size(); i++){
                                    if(borrowIE.equals(eqp.get(i).getName()))
                                        brw2.borrowEQ(eqp.get(i));
                                }
                                break;
                    }
                    break;
    case 11423970: System.out.println("1. Physical 2. Digital 3. Equipment: ");
                    int choice3 = sc.nextInt();
                    switch(choice3){
                        case 1: System.out.println("Input Book Name: ");
                                String borrowIP = sc.nextLine();
                                for(int i = 0; i < ph.size(); i++){
                                    if(borrowIP.equals(ph.get(i).getTitle()))
                                        brw3.borrowBookPH(ph.get(i));
                                }
                                break;
                        case 2: System.out.println("Input Book Name: ");
                                String borrowID = sc.nextLine();
                                for(int i = 0; i < dg.size(); i++){
                                    if(borrowID.equals(dg.get(i).getTitle()))
                                        brw3.downloadBookDG(dg.get(i));
                                }
                                break;
                        case 3: System.out.println("Input Equipment Name: ");
                                String borrowIE = sc.nextLine();
                                for(int i = 0; i < eqp.size(); i++){
                                    if(borrowIE.equals(eqp.get(i).getName()))
                                        brw3.borrowEQ(eqp.get(i));
                                }
                                break;
                    }
                    break;
    case 11092001: System.out.println("1. Physical 2. Digital 3. Equipment: ");
                    int choice4 = sc.nextInt();
                    switch(choice4){
                        case 1: System.out.println("Input Book Name: ");
                                String borrowIP = sc.nextLine();
                                for(int i = 0; i < ph.size(); i++){
                                    if(borrowIP.equals(ph.get(i).getTitle()))
                                        brw4.borrowBookPH(ph.get(i));
                                }
                                break;
                        case 2: System.out.println("Input Book Name: ");
                                String borrowID = sc.nextLine();
                                for(int i = 0; i < dg.size(); i++){
                                    if(borrowID.equals(dg.get(i).getTitle()))
                                        brw4.downloadBookDG(dg.get(i));
                                }
                                break;
                        case 3: System.out.println("Input Equipment Name: ");
                                String borrowIE = sc.nextLine();
                                for(int i = 0; i < eqp.size(); i++){
                                    if(borrowIE.equals(eqp.get(i).getName()))
                                        brw4.borrowEQ(eqp.get(i));
                                }
                                break;
                    }
                    break;
    case 10911550: System.out.println("1. Physical 2. Digital 3. Equipment: ");
                    int choice5 = sc.nextInt();
                    switch(choice5){
                        case 1: System.out.println("Input Book Name: ");
                                String borrowIP = sc.nextLine();
                                for(int i = 0; i < ph.size(); i++){
                                    if(borrowIP.equals(ph.get(i).getTitle()))
                                        brw5.borrowBookPH(ph.get(i));
                                }
                                break;
                        case 2: System.out.println("Input Book Name: ");
                                String borrowID = sc.nextLine();
                                for(int i = 0; i < dg.size(); i++){
                                    if(borrowID.equals(dg.get(i).getTitle()))
                                        brw5.downloadBookDG(dg.get(i));
                                }
                                break;
                        case 3: System.out.println("Input Equipment Name: ");
                                String borrowIE = sc.nextLine();
                                for(int i = 0; i < eqp.size(); i++){
                                    if(borrowIE.equals(eqp.get(i).getName()))
                                        brw5.borrowEQ(eqp.get(i));
                                }
                                break;
                    }
                    break;
    }
物理课:

    public void borrowPH(Borrower borrower){

    this.isAvailable = false;
    this.borrower = borrower;

}

public void returnPH(){

    this.isAvailable = true;
    this.borrower = null;

}
数字类:

    public void countDownload(){

    this.count += 1;

}

public void showDownload(){

    System.out.println(this.count);
}

public void borrowDG(Borrower borrower){

    this.status = false;
    this.borrower = borrower;
    countDownload();

}
设备类别:

    public void borrowEQ(Borrower borrower){

    this.isAvailable = false;
    this.borrower = borrower;

}

呼呼。请帮忙。“我不能键入任何内容”令人沮丧。

至于错误,您的代码似乎缺少一些try{}catch(){}和测试(是物理借用的,还是我可以给别人?)。此外,您的代码缺少非专业化部分,这也可能是有问题的

对于方法中的错误,请尝试跟踪它,或者使用相应的代码发布e.printStackTrace()


借阅或下载不应该是个问题,它们分为不同的类,名称也不同,那么“我不知道这本书是否真的被借阅或下载了”到底是什么意思呢?

我们还没有在类中解决try-catch甚至printstacktrace问题。所以基本java会很好,因为书是真的被借来或下载的,我的意思是。下载计数有效吗,或者isAvailable状态从true变为false?1)使用
开关
,而不是
if-else
链。2) 调试您的代码并检查发生异常的行。我注意到在这里发布后,它已经更改为switch case。谢谢你指出这一点。此外,驱动程序上的borrowBookPH(borrowI)和Borrower类上的方法borrowBookPH()也会发生错误。
    public void borrowEQ(Borrower borrower){

    this.isAvailable = false;
    this.borrower = borrower;

}