package book;public class Book { String bookName;//書名 int bookNum;//圖書序號(hào) public void work() { System.out.println("book:"+bookName); } public Book(String bookName,int bookNum) { this.bookName = bookName; this.bookNum = bookNum; }}package book;import java.util.Scanner;public class Test { public static void main(String[] args) { Book[] books= { new Book("論語",1), new Book("高數(shù)",2), new Book("數(shù)據(jù)結(jié)構(gòu)",3), new Book("三字經(jīng)",4), new Book("新華字典",5), }; //選擇類型 Scanner input = new Scanner(System.in); System.out.println("輸入命令:1-按照名稱查找圖書;2-按照序號(hào)查找圖書"); try { int option1 = input.nextInt(); if(option1==1) {//名稱查找書 int j =0;//定義j儲(chǔ)存遍歷結(jié)果 System.out.println("請(qǐng)輸入圖書名稱:"); String option2 = input.next(); for(int i = 1 ; i<=books.length ; i++) { if(option2==books[i-1].bookName) { j = 1; } } System.out.println("J的值為:"+j);//局部變量j..... if(j==1) { for(int i = 1 ; i<=books.length ; i++) { if(option2==books[i-1].bookName) { books[i-1].work(); } } }else{ System.out.println("圖書不存在!"); } }else if(option1==2) {//按照序號(hào)查找書 System.out.println("請(qǐng)輸入圖書序號(hào):"); int option3 = input.nextInt(); if(option3>=1&&option3<=books.length) { for(int i = 1 ; i<=books.length ; i++) { if(option3==i){ books[i-1].work(); } } }else { System.out.println("圖書不存在!"); } } }catch(Exception e){ e.printStackTrace(); System.out.println("命令輸入錯(cuò)誤!請(qǐng)根據(jù)提示輸入數(shù)字命令!"); } }}
2 回答
已采納

樓上老陳
TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超0個(gè)贊
將
option2==books[i-1].bookName
修改為
option2.equals(books[i-1].bookName)
即可滿足功能。
java中,只有八大基礎(chǔ)類型能使用==進(jìn)行等值比較,復(fù)合類型使用==比較的是它們的存儲(chǔ)地址。
添加回答
舉報(bào)
0/150
提交
取消