问答详情
源自:1-9 经验总结

求解答!!大神

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();

}

}


}


提问者:皓婆子 2015-08-02 11:17

个回答

  • 深白
    2015-08-02 16:42:59

    字符串的equals()方法是判断内容是否一样,而用==的话就是判断引用是否一致。