如代碼所示,for循環那步怎么修改?
package test3;
import java.util.*;
public class Mooc4 {
Scanner sc=new Scanner(System.in);
String[] bookName={"高數","數據結構","haha"};
int l=bookName.length;
//通過實例化來實現test2()
public static void main(String[] args) {
Mooc4 m=new Mooc4();
m.test2();
}
//定義一個test1方法用來輸入管理系統
public void test1(){
//通過while來實現無限循環
while(true){
System.out.println("輸入命令:1-按照名稱查找圖書;2-按照序號查找圖書");
//定義bookNum來選擇不同的方式查找圖書
int bookNum=sc.nextInt();
//按照名稱查找圖書
if(bookNum==1){
System.out.println("輸入圖書名稱:");
String n1=sc.next();
//通過for循環來控制數組的輸出
/*
* 這一步因為要遍歷數組,所以每次都要打印"圖書不存在",應該怎么修改
*/
for(int i=0;i<l;i++){
String book=bookName[i];
//比較輸入字符串和圖書名字
if(n1.equals(book)){
book=bookName[i];
System.out.println("book:"+book);
}else{
System.out.println("圖書不存在!");
}
}
??
}
//按照序列查找圖書
if(bookNum==2){
System.out.println("輸入圖書序號:");
int n2=sc.nextInt();
if(n2>=l){
System.out.println("圖書不存在!");
}else{
System.out.println("book:"+bookName[n2]);
break;
}
}
}
}
//通過test2()調用test1()來獲取異常
public void test2(){
try{
test1();
}catch(InputMismatchException e){
System.out.println("命令輸入有誤!請根據提示輸入數字命令!");
}catch(Exception e){
e.printStackTrace();
}
}
}
2018-05-06
for(i=0;i<l;i++){
String book=bookName[i];
//比較輸入字符串和圖書名字
if(n1.equals(book)){
book=bookName[i];
System.out.println("book:"+book);break;
}}
if(!n1.equals(bookName[i])){
System.out.println("圖書不存在!");
}
}?
2018-02-26
加一個標志變量boolean flag=flase,遍歷時候,如果存在所選圖書,置為true.根據最終的flag 判斷輸出