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