第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
/*
*最后的練習題,寫完以后有兩個問題想問一下,請各位大俠指點迷津:
*1、用戶輸入的字符串如何實現(xiàn)與數(shù)組中成員匹配,我自己寫的這個代碼只能匹配數(shù)組中第一個成員(西游記)
2、捕獲異常以后,有沒有辦法讓程序繼續(xù)執(zhí)行,即:提示catch中內容后再重新開始循環(huán),而不是直接終止程序
*/
import java.util.*;

public class Book{ 

 public static void main(String[] args){

  String book[]={"西游記","紅樓夢","水滸傳","三國演義"}; 

  Scanner putin =new Scanner(System.in);

  boolean a=true;

  /*

   * 思路一:建議循環(huán),找到圖書跳出循環(huán),未找到圖書繼續(xù)循環(huán)

   * 思路二:通過兩個if語句實現(xiàn)兩種功能查找圖書

   */

  while(a==true){

  System.out.println("輸入命令:1,按照書名查找圖書;2,按照序號查找圖書");

  int xuanze=putin.nextInt();

  if(xuanze==1||xuanze==2){  

   /*

    * 功能一,通過書名查找圖書

    * 通過用戶輸入的字符串與數(shù)組中每個成員進行equals()方法對比,一旦對比成功跳出循環(huán),對比失敗重復循環(huán)

    * */

    if(xuanze==1){

    System.out.println("輸入圖書名稱");

    String name=putin.next();

    for(String x : book){

     if(name.equals(x))

     {

      System.out.println(name+"這本書找到了");

      a=false;

      break;

     }else{

      System.out.println("沒有這本書");

      break;} 

     }

    }

    /*

     * 功能一,通過序號查找圖書

     * 如果輸入的序號在0和數(shù)組長度之間則輸入該圖書名字,否則重復循環(huán)

     * 通過捕獲用戶輸入信息,檢查用戶是否輸入的為整數(shù),如果輸入錯誤做出提示

     * */

    if(xuanze==2){

    System.out.println("輸入圖書序號");

    try{

    int xuhao=putin.nextInt();

    if(xuhao>=0&&xuhao<book.length){

    System.out.println(book[xuhao]+"這本書找到了~");

    break;

    }else{

    System.out.println("沒有這本書");}

    }

    catch(InputMismatchException e){

     System.out.println("出錯了!請輸入正確的圖書序號");}

    }

  }else{System.out.println("命令輸入錯誤,請按提示輸入正確數(shù)字");}

  }

  System.out.println("程序執(zhí)行結束!");

  }

}

正在回答

4 回答

建議將try...catch包裹整個while循環(huán)體,因為在第一次輸入數(shù)字時也可能出現(xiàn)錯誤

2 回復 有任何疑惑可以回復我~

你可以在System.out.println("出錯了!請輸入正確的圖書序號");這句話后加一句Book.main(args);就可以了

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

專業(yè)網絡愛好編程 提問者

可行,謝謝
2014-08-19 回復 有任何疑惑可以回復我~

import java.util.*;
public class Book{ 
 public static void main(String[] args){
  String book[]={"西游記","紅樓夢","水滸傳","三國演義"}; 
  Scanner putin =new Scanner(System.in);
  boolean a=true;
  /*
   * 思路一:建議循環(huán),找到圖書跳出循環(huán),未找到圖書繼續(xù)循環(huán)
   * 思路二:通過兩個if語句實現(xiàn)兩種功能查找圖書
   */
  while(a==true){
  System.out.println("輸入命令:1,按照書名查找圖書;2,按照序號查找圖書");
  int xuanze=putin.nextInt();
  if(xuanze==1||xuanze==2){  
   /*
    * 功能一,通過書名查找圖書
    * 通過用戶輸入的字符串與數(shù)組中每個成員進行equals()方法對比,一旦對比成功跳出循環(huán),對比失敗重復循環(huán)
    * */
    if(xuanze==1){
    System.out.println("輸入圖書名稱");
    String name=putin.next();
    //list這一段是百度得來的
    List<String> tempList = Arrays.asList(book);
    if(tempList.contains(name)){
     System.out.println( name+"這本書找到了");
     a=false;
    }else{
     System.out.println( "沒有找到這本書");
    }
    }
    /*
     * 功能一,通過序號查找圖書
     * 如果輸入的序號在0和數(shù)組長度之間則輸入該圖書名字,否則重復循環(huán)
     * 通過捕獲用戶輸入信息,檢查用戶是否輸入的為整數(shù),如果輸入錯誤做出提示
     * */
    if(xuanze==2){
    System.out.println("輸入圖書序號");
    try{
    int xuhao=putin.nextInt();
    if(xuhao>=0&&xuhao<book.length){
    System.out.println(book[xuhao]+"這本書找到了~");
    break;
    }else{
    System.out.println("沒有這本書");}
    }
    catch(InputMismatchException e){
     System.out.println("出錯了!請輸入正確的圖書序號");}
    }
  }else{System.out.println("命令輸入錯誤,請按提示輸入正確數(shù)字");}
  }
  System.out.println("程序執(zhí)行結束!");
  }
}

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

百度了一下,找到第一個問題的解決辦法了。把對應的代碼改成一下代碼就可以了:

List<String> tempList = Arrays.asList(book);
    if(tempList.contains(name)){
     System.out.println( name+"這本書找到了");
     a=false;
    }else{
     System.out.println( "沒有找到這本書");
    }

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

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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