亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求解答??!大神

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

}

}


}


正在回答

1 回答

字符串的equals()方法是判斷內容是否一樣,而用==的話就是判斷引用是否一致。

0 回復 有任何疑惑可以回復我~
#1

皓婆子 提問者

能具體點嗎??不懂
2015-08-02 回復 有任何疑惑可以回復我~
#2

琳小白 回復 皓婆子 提問者

name和book是兩個不同的變量,它們的地址不一樣,用==可以看成是地址相同,并且內容相同才會返回true,而equal只是比較內容,內容相同即可返回true。
2015-10-02 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409767    人
  • 解答問題       4543    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

求解答??!大神

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號