日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

结对项目

發(fā)布時間:2023/11/29 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 结对项目 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

一.?? 題目簡介:??

功能要求:該程序用圖形界面實(shí)現(xiàn)下面功能:用計(jì)算機(jī)產(chǎn)生一個100以內(nèi)的隨機(jī)數(shù),游戲者進(jìn)行猜數(shù),猜中即勝,猜不中,提示是大了還是小了,繼續(xù)猜,直至猜對為止。游戲結(jié)束后給出評語并計(jì)算出玩家所用的時間與所猜的次數(shù)。

具體要求:

(1) 輸入任意一個數(shù)字。數(shù)字的要求是1—100的自然數(shù)即可。

(2) 系統(tǒng)對您輸入的數(shù)字進(jìn)行判斷。如果玩家輸入的數(shù)字與計(jì)算機(jī)隨機(jī)生成數(shù)相比較,輸入的數(shù)字比隨機(jī)生成數(shù)小.系統(tǒng)將提示您,數(shù)字太小請您重新輸入。如果玩家輸入的數(shù)字與計(jì)算機(jī)隨機(jī)生成數(shù)相比較,如果輸入的數(shù)字比隨機(jī)生成數(shù)大。系統(tǒng)將提示您,數(shù)字太大請您重新輸入。如果玩家輸入的字符不是合法字符,系統(tǒng)將提示您,您輸入的數(shù)字不合法,請從新輸入。

(3) 每猜測一次,系統(tǒng)會記錄下來,游戲結(jié)束后,顯示共猜測多少次。

(4) 歡迎界面:通過這里提供的選項(xiàng)(或按鈕),進(jìn)入游戲界面。

(5) 游戲界面提供“獲取隨機(jī)數(shù)”按鈕,系統(tǒng)獲取到隨機(jī)數(shù),游戲者輸入自己的猜測結(jié)果,通過按“確認(rèn)”按鈕完成輸入。每次提示輸入猜測結(jié)果時,給出猜測的準(zhǔn)確度提示。

(6) 按“獲取隨機(jī)數(shù)”按鈕,繼續(xù)游戲。

(7) 游戲結(jié)束后給出評語并計(jì)算出玩家所用的時間與所猜次數(shù)。

界面要示:用圖形界面實(shí)現(xiàn)。

二.?? 結(jié)對分工及過程

在本次作業(yè)中,我劉效玲負(fù)責(zé)寫代碼,文麗君負(fù)責(zé)測試代碼。

github鏈接:http://github.com/wenlijun/

設(shè)計(jì)過程:

1)隨機(jī)數(shù)的獲取

功能描述:玩家輸入一個數(shù)字,數(shù)字的范圍在1-100之間,系統(tǒng)獲取隨機(jī)數(shù)。

?

2輸入輸出模塊

功能描述:對玩家輸入的數(shù)字進(jìn)行判斷和提示。如果玩家輸入的不是系統(tǒng)要求的數(shù)字,系統(tǒng)將提示您,您輸入的不是數(shù)字請重新輸入.。如果玩家輸入的數(shù)字與隨機(jī)生成數(shù)相比較,比隨機(jī)生成數(shù)小.系統(tǒng)提示您,數(shù)字太小請您重新輸入。如果玩家輸入的數(shù)字與隨機(jī)生成數(shù)相比較,比隨機(jī)生成數(shù)大.系統(tǒng)提示您,數(shù)字太大請您重新輸入。

?

? ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? ? ? ? ? ? ?? ?? ??? ???? ??? ??

????

輸入輸出模塊

???? ????

?? ? ?? ?? ??? ???? ??? ??

????

對玩家輸入的數(shù)字進(jìn)行判斷和提示

???? ????

?? ? ?? ?? ??? ???? ??? ??

????

您輸入的不是數(shù) 字

???? ????

?? ? ?? ?? ??? ???? ??? ??

????

您輸入的太 小

???? ????

?? ? ?? ?? ??? ???? ??? ??

????

您輸入的太 大

???? ????

?? ? ?? ?? ??? ???? ??? ??

????

猜對了

???? ????

??

?

圖3 輸入輸出模塊圖

?

(3) 判斷模塊

功能描述:算出所用時間在玩家猜中時給出其所用時間,系統(tǒng)給出對其水平的判斷和是否繼續(xù)的提示;對玩家要求判斷執(zhí)行。

?

? ? ? ?? ?? ??? ???? ??? ??

????

判斷模塊

???? ????

?? ? ?? ?? ??? ???? ??? ??

????

時間計(jì)算功 能

???? ????

?? ? ?? ?? ??? ???? ??? ??

????

系統(tǒng)對玩家的水平做出 ???? 判斷

???? ????

?? ? ?? ?? ??? ???? ??? ??

????

提示玩家是否繼 續(xù)

???? ????

??

?

圖4 判斷模塊圖

?

?

?

(4) 自動計(jì)數(shù)模塊

功能描述:系統(tǒng)根據(jù)您猜數(shù)字的次數(shù),自動計(jì)數(shù).

? ? ?? ??? ??

???

玩家猜數(shù)字,若猜錯

??? ???

?? ??? ??

???

計(jì)數(shù)器加1

??? ???

?

?

?

?

圖5 自動計(jì)數(shù)模塊圖

?

(5) 結(jié)果輸出模塊

功能描述:直到用戶猜到數(shù)字為止,提示信息是否繼續(xù)猜數(shù)字,如果繼續(xù)將進(jìn)入下一次游戲,如果退出將退出游戲系統(tǒng).

?類的設(shè)計(jì):

表1類的分類

類名

屬性

Math.random

數(shù)學(xué)中的隨機(jī)數(shù)。

BorderLayout

圖形界面窗口的設(shè)計(jì)與調(diào)整

Concurrent

concurrent 在并發(fā)編程中很常用的實(shí)用工具類。

?

從用戶的角度看,Java 源程序中的類分為兩種:

系統(tǒng)定義的類:即 Java 類庫,它是系統(tǒng)定義好的類。Java 語言由語法規(guī)則和類庫兩部分組成,語法規(guī)則確定 Java 程序的書寫規(guī)范;類庫則提供了 Java 程序與運(yùn)行它的系統(tǒng)軟件(Java 虛擬機(jī))之間的接口。

用戶自定義類:系統(tǒng)定義的類雖然實(shí)現(xiàn)了許多常見的功能,但是用戶程序仍然需要針對特定問題的特定邏輯來定義自己的類。

在 Java 程序中,用戶自定義類的一般格式如下:

class 類名

數(shù)據(jù)成員

成員方法

類的結(jié)構(gòu)是由類說明和類體兩部分組成的。

類的說明部分由關(guān)鍵字 class 與類名組成,類名的命名遵循 Java 標(biāo)識符的定義規(guī)則。

類體是類聲明中花括號所包括的全部內(nèi)容,它又是由數(shù)據(jù)成員(屬性)和成員方法(方法)兩部分組成。

數(shù)據(jù)成員描述對象的屬性;成員方法則刻畫對象的行為或動作,每一個成員方法確定一個功能或操作。

首先搭建Java程序框架。打開Eclipse,新建名為GuessNumberGame的項(xiàng)目,然后新建名為GuessNumber的Java類。GuessNumber加上合適的javadoc。

第一步:隨機(jī)數(shù)的產(chǎn)生

我們可以借助Java API提供的Random類來產(chǎn)生一個隨機(jī)數(shù)。

首先在main函數(shù)中加入以下三行代碼:

// 新建一個隨機(jī)數(shù)產(chǎn)生器,然后生成一個1到100之間的整數(shù)。

??? num=(int)(Math.random()*100);?????

String answer;??????

Scanner input=new Scanner(System.in);

第二步:標(biāo)準(zhǔn)輸入輸出

標(biāo)準(zhǔn)輸入輸出(Standard I/O)是指可以被應(yīng)用程序使用的信息流。應(yīng)用程序可以從標(biāo)準(zhǔn)輸入(Standard input)讀取數(shù)據(jù),向標(biāo)準(zhǔn)輸出(Standard output)寫數(shù)據(jù),把出錯信息發(fā)送到標(biāo)準(zhǔn)錯誤(Standard error)。通過輸入輸出,應(yīng)用程序和應(yīng)用程序之間可以被串聯(lián)起來使用。雖然標(biāo)準(zhǔn)輸入輸出是從UNIX發(fā)展出來的概念,在Windows中也廣泛應(yīng)用。

猜數(shù)字游戲主要用到標(biāo)準(zhǔn)輸入,更明確一些,就是控制臺輸入。相反,要從控制臺輸入,就需要用到System.in。它是一個純粹的輸入流,而猜數(shù)字游戲主要是通過控制臺獲取玩家的字符輸入,我們需要把它包裝成一個BufferedReader。

第三步:使用BorderLayout對圖形界面的窗口進(jìn)行設(shè)計(jì)。

三.程序?qū)崿F(xiàn)

1 程序流程圖

點(diǎn)擊“獲取隨機(jī)數(shù)”按鈕,系統(tǒng)獲取到一個隨機(jī)數(shù)。 玩家輸入一個數(shù),如果玩家輸入的數(shù)比系統(tǒng)給出的隨機(jī)數(shù)小,系統(tǒng)會提示“您猜的太小了,請繼續(xù)猜!”。如果玩家輸入的數(shù)比系統(tǒng)給出的隨機(jī)數(shù)大,系統(tǒng)提示“您猜的太大了,請繼續(xù)猜!”。 如果玩家猜對了數(shù),但是所用時間大于十秒,系統(tǒng)會提示“這么久才猜出來,有點(diǎn)笨!”,并且會計(jì)算出玩家所用的時間和所猜的次數(shù)。如果玩家猜對了數(shù),而且所用時間小于十秒,系統(tǒng)會提示“恭喜您,猜對了!您真棒,智商真高!”,并且會計(jì)算出玩家所用的時間和所猜的次數(shù)。

? ? ?? ??? ??

???

系統(tǒng)產(chǎn)生一個隨機(jī)數(shù)X

??? ???

?? ??? ??

???

玩家輸入一個在0~99范圍內(nèi)的數(shù)Y

??? ???

?? ??? ??

???

若X>Y

??? ???

?

?

?

?

?

?

?

??? ? ?? ??? ??

???

輸出“您猜的太小了,請繼續(xù)猜”

??? ???

?? ??? ??

???

若X<Y

??? ???

?

??????????

? ? ?? ??? ??

???

輸出“您猜的太大了,請繼續(xù)猜”

??? ???

?? ??? ??

???

猜對

??? ???

?? ??? ??

???

這么久才猜出來,有點(diǎn)笨

??? ???

?? ??? ??

???

儲存記錄

??? ???

?

?

?

?

?

? ?? ??? ??

???

恭喜您,猜對了!

???

您真棒!

??? ???

????

?

?

? ? ?? ??? ??

???

?結(jié) 束

??? ???

?

?

?

?

?

?

?

?

????????????????????????? ?圖6 程序流程圖

2 關(guān)鍵算法與技術(shù)實(shí)現(xiàn)

package 軟件個人作業(yè);

?

import java.util.InputMismatchException;

import java.util.Scanner;

?

public class R {

??????? public static void main(String[] args) {

??????????????? // 產(chǎn)生一個隨機(jī)數(shù)

??????????????? int number = (int) (Math.random() * 100) + 1;

?

??????????? ????// 加入count

??????????????? int count = 0;

?

??????????????? // 在這里加入最大值,和最小值

??????????????? int max = 100;

??????????????? int min = 1;

?

??????????????? while (true) {

??????????????????????? // 鍵盤錄入數(shù)據(jù)

??????????????????????? Scanner sc = new Scanner(System.in);

??????????????????????? System.out.println("請輸入你要猜的數(shù)據(jù):(" + min + "~" + max + ")");

??????????????????????? try {

??????????????????????????????? count++;

??????????????????????????????? int guessNumber = sc.nextInt();

?????????????????????????? ?????// 判斷

??????????????????????????????? if (guessNumber > number) {

??????????????????????????????????????? max = guessNumber;

??????????????????????????????????????? System.out.println("您輸入的太大");

??????????????????????????????? } else if (guessNumber < number) {

??????????????????????????????????????? min = guessNumber;

??????????????????????????????????????? System.out.println("您輸入的太小");

??????????????????????????????? } else {

??????????????????????????????????????? System.out.println("恭喜你,花了" + count + "次就猜中了");

??????????????????????????????????????? // 問是否繼續(xù)

??????????????????????????????????????? System.out.println("請問還要繼續(xù)嗎?(yes)");

??????????????????????????????????????? sc = new Scanner(System.in);

??????????????????????????????????????? String str = sc.nextLine();

??????????????????????????????????????? if ("yes".equals(str)) {

??????????????????????????????????????????????? // 重寫賦值隨機(jī)數(shù)

??????????????????????????????????????????????? number = (int) (Math.random() * 100) + 1;

???????????????????????? ???????????????????????count = 0;

??????????????????????????????????????????????? max = 100;

??????????????????????????????????????????????? min = 1;

??????????????????????????????????????? } else {

??????????????????????????????????????????????? break;

? ??????????????????????????????????????}

??????????????????????????????? }

??????????????????????? } catch (InputMismatchException e) {

??????????????????????????????? System.out.println("你輸入的不是數(shù)字");

??????????????????????? }

??????????????? }

??????? }

}

3 類的實(shí)現(xiàn)

首先搭建Java程序框架。打開Eclipse,新建名為GuessNumberGame的項(xiàng)目,然后新建名為GuessNumber的Java類。GuessNumber加上合適的javadoc。

第一步:隨機(jī)數(shù)的產(chǎn)生

我們可以借助Java API提供的Random類來產(chǎn)生一個隨機(jī)數(shù)。

首先在main函數(shù)中加入以下三行代碼:

// 新建一個隨機(jī)數(shù)產(chǎn)生器,然后生成一個1到100之間的整數(shù)。

??? num=(int)(Math.random()*100);??????

String answer;?????

Scanner input=new Scanner(System.in);

?Eclipse立即在錯誤語句處劃出紅線,把鼠標(biāo)移動到紅線上。

包(Package)的概念

Java API中包含了極其豐富、類似于Random這樣由Sun預(yù)先定義好的類。不同包中可以有同名同姓的類,如果沒有包的概念,就會遇到命名沖突問題。此外,包還能進(jìn)行安全控制。Random類是在java.util這個包中。可以手動在源程序頂部輸入import java.util.Random;語句來申明該程序?qū)⒁褂胘ava.util包中的Random類,然而有了Eclipse,就不用那么麻煩了—把光標(biāo)移動到有紅色波浪線的Random上,然后按下Ctrl+Shift+M,Eclipse會自動幫你完成導(dǎo)入的工作了,此時保存一下源代碼。

第二句語句定義一個整型變量number來保存隨機(jī)產(chǎn)生的整數(shù),并且用直接初始化的方法把random產(chǎn)生的隨機(jī)數(shù)賦給number變量。

第二步:標(biāo)準(zhǔn)輸入輸出

標(biāo)準(zhǔn)輸入輸出(Standard I/O)是指可以被應(yīng)用程序使用的信息流。應(yīng)用程序可以從標(biāo)準(zhǔn)輸入(Standard input)讀取數(shù)據(jù),向標(biāo)準(zhǔn)輸出(Standard output)寫數(shù)據(jù),把出錯信息發(fā)送到標(biāo)準(zhǔn)錯誤(Standard error)。通過輸入輸出,應(yīng)用程序和應(yīng)用程序之間可以被串聯(lián)起來使用。雖然標(biāo)準(zhǔn)輸入輸出是從UNIX發(fā)展出來的概念,在Windows中也廣泛應(yīng)用。

猜數(shù)字游戲主要用到標(biāo)準(zhǔn)輸入,更明確一些,就是控制臺輸入。相反,要從控制臺輸入,就需要用到System.in。它是一個純粹的輸入流,而猜數(shù)字游戲主要是通過控制臺獲取玩家的字符輸入,我們需要把它包裝成一個BufferedReader。

??? 第三步:使用BorderLayout對圖形界面的窗口進(jìn)行設(shè)計(jì)。

四.測試運(yùn)行

1 系統(tǒng)測試方案

1.點(diǎn)擊運(yùn)行程序后,顯示出圖形界面。

2.點(diǎn)擊“獲取隨機(jī)數(shù)”按鈕,系統(tǒng)獲取到一個隨機(jī)數(shù)。

3 .玩家輸入一個數(shù),點(diǎn)擊“確定”按鈕。如果玩家輸入的數(shù)比系統(tǒng)給出的隨機(jī)數(shù)小,系統(tǒng)會提示“您猜的太小了,請繼續(xù)猜!”。如果玩家輸入的數(shù)比系統(tǒng)給出的隨機(jī)數(shù)大,系統(tǒng)提示“您猜的太大了,請繼續(xù)猜!”。

4 .如果玩家猜對了數(shù),但是所用時間大于十秒,系統(tǒng)會提示“這么久才猜出來,有點(diǎn)笨!”,并且會計(jì)算出玩家所用的時間和所猜的次數(shù)。如果玩家猜對了數(shù),而且所用時間小于十秒,系統(tǒng)會提示“恭喜您,猜對了!您真棒,智商真高!”,并且會計(jì)算出玩家所用的時間和所猜的次數(shù)。

5. 如果玩家想重新再玩一次,點(diǎn)擊“獲取隨機(jī)數(shù)”按鈕即可繼續(xù)玩下一輪游戲。

?

2 運(yùn)行結(jié)果分析

開始運(yùn)行程序時圖形界面的顯示

?

?

?

?

五.心得與問題

  這是第一次結(jié)對編程,覺得很新奇,同時也有些問題,比方說分工,交流方面,因?yàn)槠綍r時間較少,交流的還是不夠多,經(jīng)過幾天的時間,終于弄完了,但是框架圖沒出來,看起來不方便,也請?jiān)u論者諒解,以后會改進(jìn)的。通過這次實(shí)踐,把理論用到了實(shí)驗(yàn)中,使我更加認(rèn)識了java的功能,只希望以后,老師能更加了解我們,跟我們一同進(jìn)步。

?

轉(zhuǎn)載于:https://www.cnblogs.com/pickles/p/4510666.html

總結(jié)

以上是生活随笔為你收集整理的结对项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。