Board logo

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

作者: tonyh    時間: 2020-9-25 20:26     標題: 例外處理 (三)

本帖最後由 tonyh 於 2020-9-25 20:50 編輯

猜數字遊戲 的程式碼,進行例外處理,
使程式執行時,萬一使用者不小心將0打成o時,遊戲得以繼續進行。

原執行狀況:
[attach]9305[/attach]

進行例外處理後:
[attach]9306[/attach]

本帖隱藏的內容需要回復才可以瀏覽

作者: 孫嘉駿    時間: 2020-9-25 20:46

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

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

作者: 陳宥穎    時間: 2020-9-25 20:46

  1. import java.math.MathContext;
  2. import java.util.Scanner;


  3. public class Ch30 {

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

作者: 沈子晏    時間: 2020-9-25 20:47

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

  3.         public static void main(String[] args) {

  4.                 int a=1, b=99;
  5.                 int r=(int)(Math.random()*99+1);
  6.                 int guess,n=0;
  7.                 while(true)
  8.                 {
  9.                         try{
  10.                                 Scanner s=new Scanner(System.in);
  11.                                 n++;
  12.                                 System.out.println("猜一個"+a+"~"+b+"之間的整數:");
  13.                                 guess=s.nextInt();
  14.                                 if(guess<r){
  15.                                         System.out.println("猜得太小了");
  16.                                         a=guess+1;
  17.                                 }
  18.                                 else if(guess>r){
  19.                                         System.out.println("猜得太大了");
  20.                                         b=guess-1;
  21.                                 }
  22.                                 else{
  23.                                         System.out.println("恭喜你猜對了!");
  24.                                         break;
  25.                                 }
  26.                         }
  27.                         catch(Exception e)
  28.                         {
  29.                                 System.out.println("請輸入一整數!");
  30.                         }
  31.                 }
  32.                 System.out.println("總共猜了"+n+"次");

  33.         }

  34. }
複製代碼

作者: 夏子涵    時間: 2020-9-25 20:48

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

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

作者: 黃辰昊    時間: 2020-9-25 20:49

  1. import java.util.Scanner;

  2. public class Ch01 {

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

  35. }
複製代碼

作者: 李宇澤    時間: 2020-9-25 20:52

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

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

作者: 黃柏叡    時間: 2020-9-25 21:02

  1. import java.rmi.server.ExportException;
  2. import java.util.Scanner;

  3. import javax.swing.tree.ExpandVetoException;
  4. public class Ch02 {

  5.         public static void main(String[] args) {
  6.                 Scanner s=new Scanner(System.in);
  7.                 int a=1,b=99;
  8.                 int target=(int)(Math.random()*99+1);
  9.                 int guess,n=0;
  10.                 while (true)
  11.                 {
  12.                         n++;
  13.                         try
  14.                         {
  15.                                 System.out.print("猜一個"+a+"~"+b+"之間的整數");
  16.                                 guess=s.nextInt();
  17.                                 if(guess>target)
  18.                                 {
  19.                                         System.out.println("猜得太大了");
  20.                                         a=guess-1;
  21.                                 }
  22.                                 else if(guess<target)
  23.                                 {
  24.                                         System.out.println("猜得太小了");
  25.                                         b=guess+1;

  26.                                 }else
  27.                                 {
  28.                                         System.out.println("恭喜猜對了");
  29.                                         break;
  30.                                 }
  31.                         }catch(Exception e)
  32.                         {
  33.                                 System.out.println("請輸入數字");
  34.                         }
  35.                        
  36.                
  37.                 System.out.println("總共猜了"+n+"次");
  38.                 }
  39.         }
  40. }
複製代碼

作者: 董宸佑    時間: 2020-9-25 21:03

  1. import java.util.Scanner;


  2. public class Ch01 {

  3.         public static void main(String[] args) {

  4.                 int x=(int)(Math.random()*99+1);
  5.                 int sum=1, ans, a=1, b=99;
  6.                 System.out.println(x);
  7.                 while(true)
  8.                 {
  9.                         Scanner s=new Scanner(System.in);
  10.                         System.out.print("猜一個"+a+"~"+b+"的數字: ");
  11.                         ans=s.nextInt();
  12.                         try{
  13.                                 if(ans<x)
  14.                                 {
  15.                                         System.out.println("猜得太小");
  16.                                         sum++;
  17.                                         a=ans+1;
  18.                                 }
  19.                                 else if(ans>x)
  20.                                 {
  21.                                         System.out.println("猜得太大");
  22.                                         sum++;
  23.                                         b=ans-1;
  24.                                 }
  25.                                 else
  26.                                 {
  27.                                         System.out.println("猜對了!!!!!!!!!!!!!!!!!!!!!!!");
  28.                                         break;
  29.                                 }
  30.                         }catch(Exception e)
  31.                         {
  32.                                 System.out.println("請輸入一整數!!!!!!!!!!!");       
  33.                         }                       
  34.                 }
  35.                 System.out.println("總共猜了"+sum+"次");
  36.         }

  37. }
複製代碼

作者: 黃宥華    時間: 2020-9-27 23:57

  1. import java.util.Scanner;

  2. public class Ch01 {

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

  35. }
複製代碼

作者: 劉愷鈞    時間: 2020-10-16 18:54

  1. import java.util.Scanner;
  2. public class Ch01 {
  3.         public static void main(String[] args) {
  4.                 int a=1,b=99;
  5.                 int guess,n=0;
  6.                 int target=(int)(Math.random()*99+1);
  7.                 while(true)
  8.                 {
  9.                         n++;
  10.                         Scanner s=new Scanner(System.in);
  11.                         System.out.print("猜一介於"+a+"~"+b+"間的數字:");
  12.                         try
  13.                         {
  14.                                 guess=s.nextInt();
  15.                                 if(guess>target)
  16.                                 {
  17.                                         System.out.println("猜得太大了");
  18.                                         b=guess-1;
  19.                                 }
  20.                                 else if(guess<target)
  21.                                 {
  22.                                         System.out.println("猜得太小了");
  23.                                         a=guess+1;
  24.                                 }
  25.                                 else
  26.                                 {
  27.                                         System.out.println("恭喜你,答對了!");
  28.                                         break;
  29.                                 }

  30.                         }catch(Exception e)
  31.                         {
  32.                                 System.out.println("請輸入一整數!");
  33.                         }
  34.                 }
  35.                 System.out.println("總共花了"+n+"次!");
  36.         }
  37. }
複製代碼





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