欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)猜數(shù)程序

 更新時(shí)間:2020年12月07日 08:47:41   作者:不要做碼農(nóng)呀  
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)猜數(shù)程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

用Java編寫一個(gè)猜數(shù)程序,供大家參考,具體內(nèi)容如下

要求如下:

編寫一個(gè)猜數(shù)程序。命令行顯示菜單:1.開始;2.退出。用戶選擇1,則程序生成一個(gè)0~99之間的隨機(jī)整數(shù),命令行顯示“請輸入你猜的數(shù):”讓用戶猜。用戶輸入猜測的數(shù)據(jù),猜對了命令行顯示“你猜對了”,并且出現(xiàn)菜單:1.再來一次;2.退出。沒有猜對程序給出提示(如:太大了,太小了),并要求在命令行繼續(xù)輸入猜測的值;三次沒猜對則程序公布正確的數(shù)字,并且出現(xiàn)菜單:1.再來一次;2.退出。猜數(shù)時(shí)任何一個(gè)環(huán)節(jié),命令行上總會顯示用戶的總得分情況。得分規(guī)則如下:一次猜中得3分,第二次猜中得2分,第三次得1分,三次沒有猜中扣2分。主類的名稱定為GuessNumber。

上代碼

import java.util.InputMismatchException;
import java.util.Random;
import java.util.Scanner;

public class GuessNumber {
  public static int choice;
  public static int point = 0;
  
  //控制choice為0/1,防臉滾鍵盤
  public void judge01()
  {
    try {
      Scanner sc = new Scanner(System.in);
      choice = sc.nextInt();
      switch (choice)
      {
        case 1: break;
        case 2: System.exit(0);
        default:
        {
          System.out.println("請輸入0-1:");
          judge01();
        }
      }
    }
    catch (InputMismatchException e) //非整數(shù)(小數(shù)、字符)會被捕獲
    {
      System.out.println("請輸入整數(shù)(0-1)!");
      judge01();
    }
  }
  
 //計(jì)算得分
  public int point(int count)
  {
    if (count == 1)
    {
      point += 3;
      return point;
    }
    else if (count == 2)
    {
      point += 2;
      return point;
    }
    else if (count == 3)
    {
      point += 1;
      return point;
    }
    else
    {
      point -= 2;
      return point;
    }
  }

 //猜數(shù)部分
  public int start(int num, int count) //返回值為count
  {
   //try...catch...語句防誤輸入
    try { 
      Scanner sc = new Scanner(System.in);
      int input_number;

      System.out.println("請輸入你猜的數(shù)(0-99):");
      input_number = sc.nextInt();
      if (input_number < 0 || input_number > 99) //控制輸入數(shù)字的范圍
      {
        System.out.println("輸入的整數(shù)范圍:[0,99]");
        return start(num, count);
      }
      else
      {
        if (input_number < num)
        {
          count++;
          if (count == 3) //count為3時(shí)結(jié)束猜數(shù)并公布正確數(shù)字
          {
            System.out.println("三次都沒有猜中,游戲結(jié)束!");
            System.out.println("正確數(shù)字:"+num);
            count++;
            return count;
          }
          System.out.println("太小了,請重新輸入:");
          return start(num, count);
        }
        else if (input_number > num)
        {
          count++;
          if (count == 3)
          {
            System.out.println("三次都沒有猜中,游戲結(jié)束!");
            System.out.println("正確數(shù)字:"+num);
            count++;
            return count;
          }
          System.out.println("太大了,請重新輸入:");
          return start(num, count);
        }
        else
        {
          count++;
          System.out.println("恭喜你,猜對了!");
          return count;
        }
      }
    }
    catch (InputMismatchException e)
    {
      System.out.println("請輸入整數(shù)!");
      start(num, count);
    }
    return -1;
  }

 //完整的猜數(shù)流程
  public void guess(int num)
  {
    int count = 0;
    count = start(num, count);
    point = point(count);
    System.out.println("當(dāng)前得分: "+point);
  }
  
  public static void main(String[] args) {
    System.out.println("1.開始 2.退出");
    System.out.println("初始分?jǐn)?shù):"+point);
    GuessNumber begin = new GuessNumber();
    begin.judge01();
    int num;
    num = new Random().nextInt(99); //創(chuàng)建0-99的隨機(jī)數(shù)
    System.out.println("生成的隨機(jī)數(shù)(測試):"+num); //展示所創(chuàng)建的隨機(jī)數(shù),用于測試
    begin.guess(num);
    do {
      System.out.println("1.再來一次 2.退出");
      begin.judge01();
      num = new Random().nextInt(99);
      System.out.println("生成的隨機(jī)數(shù)(測試):"+num); //展示所創(chuàng)建的隨機(jī)數(shù),用于測試
      begin.guess(num);
    }while (choice != 2);
  }
}

測試結(jié)果

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論