Board logo

標題: 【057】例外處理 (三) [打印本頁]

作者: tonyh    時間: 2023-4-15 14:45     標題: 【057】例外處理 (三)

本帖最後由 tonyh 於 2023-4-19 16:05 編輯

猜數字遊戲 的程式碼,進行例外處理,
使程式執行時,萬一使用者不小心輸入錯誤,遊戲得以繼續進行。

原執行狀況:


進行例外處理後:
  1. import java.util.Scanner;
  2. public class Ch50
  3. {
  4.         public static void main(String args[])
  5.         {
  6.                 int a=1,b=99,n=0;
  7.                 int ans=(int)(Math.random()*99+1);  //1~99
  8.                 int guess;
  9.                 while(true)
  10.                 {
  11.                         try
  12.                         {
  13.                                 Scanner s=new Scanner(System.in);
  14.                                 n++;
  15.                                 System.out.print("猜一個"+a+"~"+b+"之間的數字: ");
  16.                                 guess=s.nextInt();
  17.                                 if(guess>ans)
  18.                                 {
  19.                                         System.out.println("猜太大了!");
  20.                                         b=guess-1;
  21.                                 }else if(guess<ans)
  22.                                 {
  23.                                         System.out.println("猜太小了!");
  24.                                         a=guess+1;
  25.                                 }else
  26.                                 {
  27.                                         System.out.println("恭喜你猜對了!");
  28.                                         System.out.println("總共猜了"+n+"次!");
  29.                                         break;
  30.                                 }
  31.                         }catch(Exception e)
  32.                         {
  33.                                 System.out.println("輸入錯誤!請輸入整數!");
  34.                         }
  35.                 }
  36.         }
  37. }
複製代碼

作者: 王捷恩    時間: 2023-4-19 16:19

  1. import java.util.Scanner;
  2. public class A {

  3.         public static void main(String[] args) {
  4.                 int a=1,b=99,n=0;
  5.         int ans=(int)(Math.random()*99+1);  //1~99
  6.         int guess;
  7.         while(true)
  8.         {
  9.                 try
  10.                 {
  11.                          Scanner s=new Scanner(System.in);
  12.                  n++;
  13.                  System.out.print("猜一個"+a+"~"+b+"之間的數字: ");
  14.                  guess=s.nextInt();
  15.                  if(guess>ans)
  16.                  {
  17.                          System.out.println("猜太大了!");
  18.                          b=guess-1;
  19.                  }else if(guess<ans)
  20.                  {
  21.                          System.out.println("猜太小了!");
  22.                          a=guess+1;
  23.                  }else
  24.                  {
  25.                          System.out.println("恭喜你猜對了!");
  26.                          System.out.println("總共猜了"+n+"次!");
  27.                          break;
  28.                  }
  29.                 }catch(Exception e)
  30.             {
  31.                     System.out.println("輸入錯誤!請輸入整數!");
  32.             }
  33.         }
  34.         }
  35. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2