最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

要求如下:

編寫一個猜數(shù)程序。命令行顯示菜單:1.開始;2.退出。用戶選擇1,則程序生成一個0~99之間的隨機整數(shù),命令行顯示“請輸入你猜的數(shù):”讓用戶猜。用戶輸入猜測的數(shù)據(jù),猜對了命令行顯示“你猜對了”,并且出現(xiàn)菜單:1.再來一次;2.退出。沒有猜對程序給出提示(如:太大了,太小了),并要求在命令行繼續(xù)輸入猜測的值;三次沒猜對則程序公布正確的數(shù)字,并且出現(xiàn)菜單:1.再來一次;2.退出。猜數(shù)時任何一個環(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();
    }
  }
  
 //計算得分
  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時結(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("當前得分: "+point);
  }
  
  public static void main(String[] args) {
    System.out.println("1.開始 2.退出");
    System.out.println("初始分數(shù):"+point);
    GuessNumber begin = new GuessNumber();
    begin.judge01();
    int num;
    num = new Random().nextInt(99); //創(chuàng)建0-99的隨機數(shù)
    System.out.println("生成的隨機數(shù)(測試):"+num); //展示所創(chuàng)建的隨機數(shù),用于測試
    begin.guess(num);
    do {
      System.out.println("1.再來一次 2.退出");
      begin.judge01();
      num = new Random().nextInt(99);
      System.out.println("生成的隨機數(shù)(測試):"+num); //展示所創(chuàng)建的隨機數(shù),用于測試
      begin.guess(num);
    }while (choice != 2);
  }
}

測試結(jié)果

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

相關文章

  • @CacheEvict + redis實現(xiàn)批量刪除緩存

    @CacheEvict + redis實現(xiàn)批量刪除緩存

    這篇文章主要介紹了@CacheEvict + redis實現(xiàn)批量刪除緩存方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Mybatis之解決collection一對多問題(顯示的結(jié)果沒有整合到一起)

    Mybatis之解決collection一對多問題(顯示的結(jié)果沒有整合到一起)

    這篇文章主要介紹了Mybatis之解決collection一對多問題(顯示的結(jié)果沒有整合到一起),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 基于Spring Cloud Zookeeper實現(xiàn)服務注冊與發(fā)現(xiàn)

    基于Spring Cloud Zookeeper實現(xiàn)服務注冊與發(fā)現(xiàn)

    這篇文章主要介紹了基于Spring Cloud Zookeeper實現(xiàn)服務注冊與發(fā)現(xiàn),幫助大家更好的理解和學習spring框架,感興趣的朋友可以了解下
    2020-11-11
  • 使用logstash同步mysql數(shù)據(jù)到elasticsearch實現(xiàn)

    使用logstash同步mysql數(shù)據(jù)到elasticsearch實現(xiàn)

    這篇文章主要為大家介紹了使用logstash同步mysql數(shù)據(jù)到elasticsearch實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • SpringBoot整合Canal方法詳解

    SpringBoot整合Canal方法詳解

    這篇文章主要介紹了SpringBoot整合Canal,canal可以用來監(jiān)控數(shù)據(jù)庫數(shù)據(jù)的變化,從而獲得新增數(shù)據(jù),或者修改的數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-12-12
  • java實現(xiàn)sunday算法示例分享

    java實現(xiàn)sunday算法示例分享

    Sunday算法的思想和BM算法中的壞字符思想非常類似。差別只是在于Sunday算法在匹配失敗之后,是取目標串中當前和Pattern字符串對應的部分后面一個位置的字符來做壞字符匹配,寫了個小例子來實現(xiàn)以下這個算法
    2014-01-01
  • 基于SpringBoot中activeMq的JmsTemplate的實例

    基于SpringBoot中activeMq的JmsTemplate的實例

    這篇文章主要介紹了基于SpringBoot中activeMq的JmsTemplate的實例問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 解決java 查看JDK中底層源碼的實現(xiàn)方法

    解決java 查看JDK中底層源碼的實現(xiàn)方法

    本篇文章是對在java中查看JDK中底層源碼的解決方法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • Java?Optional避免空指針異常的實現(xiàn)

    Java?Optional避免空指針異常的實現(xiàn)

    空指針異常一直是困擾開發(fā)者的常見問題之一,本文主要介紹了Java?Optional避免空指針異常的實現(xiàn),幫助開發(fā)者編寫更健壯、可讀性更高的代碼,減少因空值處理不當而引發(fā)的錯誤,感興趣的可以了解一下
    2025-04-04
  • Java split函數(shù)拆分后變成null問題解決方案

    Java split函數(shù)拆分后變成null問題解決方案

    這篇文章主要介紹了Java split函數(shù)拆分后變成null問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10

最新評論

岳池县| 法库县| 墨竹工卡县| 内乡县| 乳山市| 武汉市| 孟津县| 武平县| 甘南县| 嵊泗县| 祁连县| 九寨沟县| 贡嘎县| 团风县| 磐石市| 工布江达县| 黄冈市| 凤庆县| 蕉岭县| 砀山县| 开原市| 岢岚县| 囊谦县| 徐州市| 长治县| 长丰县| 济南市| 大姚县| 永州市| 普兰县| 五台县| 乳山市| 集贤县| 顺义区| 克什克腾旗| 华池县| 昂仁县| 遂平县| 广德县| 湘阴县| 防城港市|