import java.util.*;
public class dvdmgr {
dvdset dvd = new dvdset();
Scanner input = new Scanner(System.in);
public void setdata(){
dvd.initial();
}
public void startmenu(){
System.out.println("欢迎使用MiNiDvD Mgr 1.0");
System.out.println("");
System.out.println("----------------------------------------------------");
System.out.println("1. 查 看 DVD");
System.out.println("2. 借 出 DVD");
System.out.println("3. 退 出 MiNiDvD Mgr");
System.out.println("");
System.out.println("----------------------------------------------------");
System.out.println("\n\n请选择:");
int chose = input.nextInt();
switch(chose){
case 1 :
search();
break;
case 2 :
lend();
break;
case 3 :
System.out.println("谢谢使用");
break;
default:
System.out.println("输入错误,退出程序。");
}
}
public void search(){
System.out.println("\nmydvd mgr 1.0 ---> 查询dvd\n");
for(int i = 0;i<dvd.name.length;i++){
if(dvd.name[i] == null){
break;
}
System.out.print("《"+dvd.name[i]+"》");
if(dvd.state[i]==0){
System.out.println("\t\t已借出");
}else
System.out.println("\t\t末借出");
} }
public void returnmenu(){
System.out.println("按0键返回上层目录:");
int num = input.nextInt();
if(num == 0){
startmenu();
}else{
System.out.println("输入错误,退出程序。");
}
}
public void lend(){
System.out.println("\nmydvd mgr 1.0 ---> 查询dvd\n");
System.out.println("请输入要借出的DVD名称:");
String num = input.next(); for(int i = 0;i<dvd.name.length;i++){
if(dvd.name[i].equals(num) && dvd.state[i] == 1){
System.out.println("\n可借出\n");
System.out.println("\n成功借出\n");
dvd.state[i]=0;
returnmenu();
}
else if(dvd.name[i].equals(num) && dvd.state[i] == 0){
System.out.println("\n已经借出\n");
returnmenu();
}
}
}
} 运行查看DVD正常,但是运行借出也就是lend()类在返回startmenu()的时候选择查看就会出现错误,提示好像是有空对象。
那位高手帮我看看
public class dvdmgr {
dvdset dvd = new dvdset();
Scanner input = new Scanner(System.in);
public void setdata(){
dvd.initial();
}
public void startmenu(){
System.out.println("欢迎使用MiNiDvD Mgr 1.0");
System.out.println("");
System.out.println("----------------------------------------------------");
System.out.println("1. 查 看 DVD");
System.out.println("2. 借 出 DVD");
System.out.println("3. 退 出 MiNiDvD Mgr");
System.out.println("");
System.out.println("----------------------------------------------------");
System.out.println("\n\n请选择:");
int chose = input.nextInt();
switch(chose){
case 1 :
search();
break;
case 2 :
lend();
break;
case 3 :
System.out.println("谢谢使用");
break;
default:
System.out.println("输入错误,退出程序。");
}
}
public void search(){
System.out.println("\nmydvd mgr 1.0 ---> 查询dvd\n");
for(int i = 0;i<dvd.name.length;i++){
if(dvd.name[i] == null){
break;
}
System.out.print("《"+dvd.name[i]+"》");
if(dvd.state[i]==0){
System.out.println("\t\t已借出");
}else
System.out.println("\t\t末借出");
} }
public void returnmenu(){
System.out.println("按0键返回上层目录:");
int num = input.nextInt();
if(num == 0){
startmenu();
}else{
System.out.println("输入错误,退出程序。");
}
}
public void lend(){
System.out.println("\nmydvd mgr 1.0 ---> 查询dvd\n");
System.out.println("请输入要借出的DVD名称:");
String num = input.next(); for(int i = 0;i<dvd.name.length;i++){
if(dvd.name[i].equals(num) && dvd.state[i] == 1){
System.out.println("\n可借出\n");
System.out.println("\n成功借出\n");
dvd.state[i]=0;
returnmenu();
}
else if(dvd.name[i].equals(num) && dvd.state[i] == 0){
System.out.println("\n已经借出\n");
returnmenu();
}
}
}
} 运行查看DVD正常,但是运行借出也就是lend()类在返回startmenu()的时候选择查看就会出现错误,提示好像是有空对象。
那位高手帮我看看
这个空对象是正常的把
为什么还会提示错误 ?