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.再來(lái)一次;2.退出。沒有猜對(duì)程序給出提示(如:太大了,太小了),并要求在命令行繼續(xù)輸入猜測(cè)的值;三次沒猜對(duì)則程序公布正確的數(shù)字,并且出現(xiàn)菜單:1.再來(lái)一次;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...語(yǔ)句防誤輸入 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.再來(lái)一次 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í)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. nestjs實(shí)現(xiàn)圖形校驗(yàn)和單點(diǎn)登錄的示例代碼2. html小技巧之td,div標(biāo)簽里內(nèi)容不換行3. 以PHP代碼為實(shí)例詳解RabbitMQ消息隊(duì)列中間件的6種模式4. laravel ajax curd 搜索登錄判斷功能的實(shí)現(xiàn)5. Python基礎(chǔ)之numpy庫(kù)的使用6. Python 如何將integer轉(zhuǎn)化為羅馬數(shù)(3999以內(nèi))7. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法8. python實(shí)現(xiàn)自動(dòng)化辦公郵件合并功能9. Echarts通過dataset數(shù)據(jù)集實(shí)現(xiàn)創(chuàng)建單軸散點(diǎn)圖10. css進(jìn)階學(xué)習(xí) 選擇符
