Java黑皮书课后题第7章:*7.29(游戏:挑选四张牌)编写一个程序,从一副52张牌中选出4张,然后计算它们的和。Ace King Quee Jack分别表示1、13、12和11,显示得到和24的次
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第7章:*7.29(游戏:挑选四张牌)编写一个程序,从一副52张牌中选出4张,然后计算它们的和。Ace King Quee Jack分别表示1、13、12和11,显示得到和24的次
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
*7.29(游戲:挑選四張牌)編寫一個程序,從一副52張牌中選出4張,然后計算它們的和。Ace King Quee Jack分別表示1、13、12和11,顯示得到和為24的選牌次數
- 題目
- 題目描述
- 破題:不重復抽取
- 代碼
- 運行實例
題目
題目描述
7.29(游戲:挑選四張牌)編寫一個程序,從一副52張牌中選出4張,然后計算它們的和。Ace King Quee Jack分別表示1、13、12和11,顯示得到和為24的選牌次數
破題:不重復抽取
代碼
import java.util.Arrays;public class Test7_29 {public static void main(String[] args) {//1. 主方法:定義一個計數變量count,設置初始值為0int count = 0;//2. 主方法:定義四個int型變量,保存抽取到的牌數(1到52);一個int型變量用于計算牌數之和int a=0, b=0, c=0, d=0;int sum = 0;//3. 主方法:使用循環抽牌;并在循環中、四次抽取并計算和后調用自定義方法,傳入四個牌數值,使用boolean接收返回值boolean bool = false;while(sum != 24){a = (int) (Math.random() * 52 + 1);b = (int) (Math.random() * 52 + 1);c = (int) (Math.random() * 52 + 1);d = (int) (Math.random() * 52 + 1);sum = a % 13 + b % 13 + c % 13 + d % 13 + 4;bool = is_4_digit_repeat(a, b, c, d);//如果boolean值為true,則計數變量自增1if (bool) ++count;}// 輸出計數變量System.out.println(count);}//5. 自定義方法:接收傳入的四個int型整數,如果四個int型整數有任意兩個數相同,則返回false;都不同則返回truepublic static boolean is_4_digit_repeat(int a, int b, int c, int d){//6. 自定義方法:聲明一個長度為4的int型數組,并將四個接收到的整數傳入數組int[] list = {a, b, c, d};//7. 自定義方法:對數組排序Arrays.sort(list);//8. 自定義方法:對數組進行遍歷,看前后元素是否相同,如果有相同則返回false,如果都不同返回truefor ( int i = 0 ; i < 3 ; i++){if (list[i] == list[i+1]){return false;}}return true;} }運行實例
2424 774總結
以上是生活随笔為你收集整理的Java黑皮书课后题第7章:*7.29(游戏:挑选四张牌)编写一个程序,从一副52张牌中选出4张,然后计算它们的和。Ace King Quee Jack分别表示1、13、12和11,显示得到和24的次的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第7章:*7.28(
- 下一篇: Java黑皮书课后题第7章:*7.30(