Board logo

標題: 猜數字遊戲 [打印本頁]

作者: 鄭繼威    時間: 2023-6-28 19:20     標題: 猜數字遊戲

本帖最後由 鄭繼威 於 2023-6-28 21:20 編輯

設計一猜數字遊戲,猜一介於1~99間的數字,
此數字由電腦隨機亂數產生,
使用者可重覆猜測,且範圍會越縮越小
最後猜中後,顯示使用者總共猜了幾次才猜中。

  1. import java.util.Scanner;
  2. public class Ch38 {
  3.         public static void main(String[] args) {
  4.                 Scanner s=new Scanner(System.in);
  5.                 int a=1,b=99;    //上下範圍
  6.                 int n=0;    //猜了幾次
  7.                 int ans=(int)(Math.random()*99+1);  //隨機數字1~99當作答案
  8.                 int guess;    //我猜的數字
  9.                 while(true)
  10.                 {
  11.                         n++;    //+1次
  12.                         System.out.print("猜一個"+a+"~"+b+"之間的數字: ");//請使用者輸入他所猜的值
  13.                         guess=s.nextInt();    //讀取使用者輸入的值
  14.                         if(guess>ans)
  15.                         {
  16.                                         //猜的大於正確答案
  17.                                         System.out.println("猜太大了!");
  18.                                         b=guess-1;    //縮小範圍
  19.                         }else if(guess<ans)
  20.                         {
  21.                                         //猜的小於正確答案
  22.                                         System.out.println("猜太小了!");
  23.                                         a=guess+1;    //縮小範圍
  24.                         }else
  25.                         {
  26.                                         //其他(沒大於也沒小於)就是猜對
  27.                                         System.out.println("恭喜你猜對了!");
  28.                                         System.out.println("總共猜了"+n+"次!");
  29.                                         break;
  30.                         }
  31.                 }
  32.         }
  33. }
複製代碼
猜數字流程圖.pdf
作者: 李彣    時間: 2023-6-28 21:23

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

作者: 黃裕恩    時間: 2023-6-30 17:37

  1. package test;
  2. import java.util.Scanner;
  3. public class Test{
  4. public static void main(String[] args) {
  5.     Scanner s=new Scanner(System.in);
  6.     int a=1,b=99;   
  7.     int n=0;   
  8.     int ans=(int)(Math.random()*99+1);  
  9.     int guess;   
  10.     while(true)
  11.     {
  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.     }
  30. }
  31. }
複製代碼

作者: 曾善勤    時間: 2023-7-5 20:01

  1. package test;
  2. import java.util.Scanner;
  3. public class Test{
  4. public static void main(String[] args) {
  5.     Scanner s=new Scanner(System.in);
  6.     int a=1,b=99;   
  7.     int n=0;   
  8.     int ans=(int)(Math.random()*99+1);  
  9.     int guess;   
  10.     while(true)
  11.     {
  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.     }
  30. }
  31. }
複製代碼





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