import java.util.Scanner;
public class Exe {
public static void main(String[] args) {
// TODO Auto-generated method stub
Exe.show();
}
public static String[] books={"计算机科学","C语言程序设计","数据结构","微积分"};
public static void show(){
Scanner input=new Scanner(System.in);
System.out.println("1-按照名称查找图书,2-按照序号查早图书");
try{
int num=input.nextInt();
switch(num){
case 1:
System.out.println("请输入图书名称");
String name=input.next();
for(int i=0;i<books.length;i++){
if(name.equals(books[i])){ //为什么这里我写成"name==books[i]运行结果会是不存在呢
System.out.println("books:"+books[i]);
return;
}
}
System.out.println("图书不存在,请重新输入");
show();
case 2:
System.out.println("请输入图书序号");
int n=input.nextInt();
for(int i=0;i<books.length;i++){
if(n==i){
System.out.println("books:"+books[n]);
return;
}
}
System.out.println("图书不存在,请重新输入序列号");
show();
}
}
catch(Exception e){
System.out.println("命令输入有误,请重新输入");
show();
}
}
}
字符串的equals()方法是判断内容是否一样,而用==的话就是判断引用是否一致。