Java實(shí)現(xiàn)猜數(shù)程序
用Java編寫一個(gè)猜數(shù)程序,供大家參考,具體內(nèi)容如下
要求如下:
編寫一個(gè)猜數(shù)程序。命令行顯示菜單:1.開始;2.退出。用戶選擇1,則程序生成一個(gè)0~99之間的隨機(jī)整數(shù),命令行顯示“請(qǐng)輸入你猜的數(shù):”讓用戶猜。用戶輸入猜測(cè)的數(shù)據(jù),猜對(duì)了命令行顯示“你猜對(duì)了”,并且出現(xiàn)菜單:1.再來一次;2.退出。沒有猜對(duì)程序給出提示(如:太大了,太小了),并要求在命令行繼續(xù)輸入猜測(cè)的值;三次沒猜對(duì)則程序公布正確的數(shù)字,并且出現(xiàn)菜單:1.再來一次;2.退出。猜數(shù)時(shí)任何一個(gè)環(huán)節(jié),命令行上總會(huì)顯示用戶的總得分情況。得分規(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("請(qǐng)輸入0-1:"); judge01(); } } } catch (InputMismatchException e) //非整數(shù)(小數(shù)、字符)會(huì)被捕獲 { System.out.println("請(qǐng)輸入整數(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("請(qǐng)輸入你猜的數(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("太小了,請(qǐng)重新輸入:"); 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("太大了,請(qǐng)重新輸入:"); return start(num, count); } else { count++; System.out.println("恭喜你,猜對(duì)了!"); return count; } } } catch (InputMismatchException e) { System.out.println("請(qǐng)輸入整數(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ù)(測(cè)試):"+num); //展示所創(chuàng)建的隨機(jī)數(shù),用于測(cè)試 begin.guess(num); do { System.out.println("1.再來一次 2.退出"); begin.judge01(); num = new Random().nextInt(99); System.out.println("生成的隨機(jī)數(shù)(測(cè)試):"+num); //展示所創(chuàng)建的隨機(jī)數(shù),用于測(cè)試 begin.guess(num); }while (choice != 2); } }
測(cè)試結(jié)果
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- java實(shí)現(xiàn)的簡(jiǎn)單猜數(shù)字游戲代碼
- java版簡(jiǎn)單的猜數(shù)字游戲?qū)嵗a
- Java編寫猜數(shù)字小游戲
- Java實(shí)現(xiàn)的猜數(shù)字游戲示例
- java實(shí)現(xiàn)猜數(shù)字小游戲
- Java的帶GUI界面猜數(shù)字游戲的實(shí)現(xiàn)示例
- java猜數(shù)字小游戲案例
- Java實(shí)現(xiàn)猜數(shù)字小游戲(有次數(shù)限制)
- java實(shí)現(xiàn)簡(jiǎn)單猜數(shù)字游戲
- java實(shí)現(xiàn)猜數(shù)字小游戲(Swing版)
相關(guān)文章
Java實(shí)現(xiàn)生成pdf并解決表格分割的問題
這篇文章主要為大家詳細(xì)介紹了如何利用Java實(shí)現(xiàn)生成pdf,并解決表格分割的問題,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11Java+Selenium實(shí)現(xiàn)控制瀏覽器的啟動(dòng)選項(xiàng)Options
這篇文章主要為大家詳細(xì)介紹了如何使用java代碼利用selenium控制瀏覽器的啟動(dòng)選項(xiàng)Options的代碼操作,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-01-01ArrayList和JSONArray邊遍歷邊刪除到底該如何做
這篇文章主要介紹了ArrayList和JSONArray邊遍歷邊刪除到底該如何做,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12Java面向?qū)ο蠡A(chǔ)知識(shí)之抽象類和接口
這篇文章主要介紹了Java面向?qū)ο蟮某橄箢惡徒涌?文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有很好的幫助,需要的朋友可以參考下2021-11-11java判斷String類型是否能轉(zhuǎn)換為int的方法
今天小編就為大家分享一篇java判斷String類型是否能轉(zhuǎn)換為int的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07Java詳解如何將excel數(shù)據(jù)轉(zhuǎn)為樹形
在平常的辦公工作中,excel數(shù)據(jù)的操作是最常見的需求,今天就來看一下通過Java如何來實(shí)現(xiàn)將excel數(shù)據(jù)轉(zhuǎn)為樹形,感興趣的朋友可以了解下2022-08-08JAVA中調(diào)用C語言函數(shù)的實(shí)現(xiàn)方式
這篇文章主要介紹了JAVA中調(diào)用C語言函數(shù)的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08Java Math.round(),Math.ceil(),Math.floor()的區(qū)別詳解
這篇文章主要介紹了Java Math.round(),Math.ceil(),Math.floor()的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08