首先我說明下,第一你要準備的是N個骰子所有的排列組合數,這并不是編程問題,是數學問題,我一時忘記了算法...好像是A6n什么的...你去然后替代了下面的算法表達式就好了..我的算法的基本思路是,先對應N個骰子算出排列的組合數,然后隨機1-7的數,判斷,list中是否有,有就不放,沒有就放,最后判斷下list的大小是否等于你算出的組合總數,如果等于,就代表已經算出所有組合了.... int total = 0;
創新互聯2013年開創至今,先為寶安等服務建站,寶安等地企業,進行企業商務咨詢服務。為寶安企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
public void addTotal(int n){
this.total =算法表達式; }
public void count(List list){
int i = random.nextInt(7);
if(list.contains(i)){
count(list);
}else{
list.add(i);
}
if(list.size()==this.total){
return;
}
}
public static void main(String[] args) {
Test t = new Test();
int n = 3;
t.addTotal(n);
List list = new ArrayList();
}
public class Dice {
public static void main(String[] args) {
int num = (int)(Math.random() * 6);//隨進從1-6中取一個數;
System.out.println("色子擲的數:" + (num + 1));//輸出
}
}
Dice代碼如下:
import java.util.Random;
//(1)創建一個“骰子”類,命名為Dice。
public class Dice {
// 提示:初始化兩個Dice對象。
//(2)“骰子”類有兩個屬性:①最大值為固定值6,②點數為1-6之間的整數。屬性均設置為private。
private static int max = 6;
private int point;
// (3)“骰子”類有兩個構造函數:①無形參的構造函數,將點數默認值設置為1;②有1個形參的構造函數,將形參賦值給點數。
public Dice() {
this.point = 1;
}
public Dice(int point) {
this.point = point;
}
// (4)自動生成骰子點數的get和set方法。
public static int getMax() {
return max;
}
public static void setMax(int max) {
Dice.max = max;
}
public int getPoint() {
return point;
}
public void setPoint(int point) {
this.point = point;
}
// (5)編寫一個表示“擲骰子”的方法,將點數和函數返回值設置為1-6之間的隨機整數。
// 提示:Math.random() //隨機選取=0.0且1.0的double值
// double轉int的方法:(int) double值 //轉換后會舍棄小數點后面的值
public int throwDice() {
int result = 0;
while (true) {
int random = (int) (Math.random() * 10);
if (random 0 random = max) {
result = random;
break;
}
}
return result;
}
}
測試類方法如下:
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
//(6)新建一個類,在其main()函數中調用Dice類,實現以下功能:
public class TestDice {
public static void main(String[] args) {
// ①擲兩個骰子,顯示每個骰子的點數,以及點數之和;
Dice dice = new Dice();
int one = dice.throwDice();
int two = dice.throwDice();
System.out.println("兩次點數之和:" + (one + two));
// ②輸入設置兩個骰子的點數,顯示兩個骰子的點數之和。
Dice dice2 = new Dice(2);
Dice dice3 = new Dice(6);
System.out.println("所設置的點數之和:" + (dice2.getPoint() + dice3.getPoint()));
// ③連續10次擲兩個骰子,顯示每次擲骰子的結果,以及兩個骰子10次點數的平均值。
Dice dice4 = new Dice();
ListInteger points1 = new ArrayList();
ListInteger points2 = new ArrayList();
for (int i = 0; i 10; i++) {
int first = dice4.throwDice();
System.out.println("第一個骰子擲:" + (i + 1) + "次點數是:" + first);
int second = dice4.throwDice();
System.out.println("第二個骰子擲:" + (i + 1) + "次點數是:" + second);
points1.add(first);
points2.add(second);
}
long sum1 = points1.stream().reduce(Integer::sum).orElse(0);
System.out.println("第一個骰子10次點數的平均值:" + new BigDecimal(Long.valueOf(sum1).toString()).divide(new BigDecimal(Integer.valueOf(points1.size()).toString())));
long sum2 = points2.stream().reduce(Integer::sum).orElse(0);
System.out.println("第二個骰子10次點數的平均值:" + new BigDecimal(Long.valueOf(sum2).toString()).divide(new BigDecimal(Integer.valueOf(points2.size()).toString())));
}
}
具體如下:
連連看的小源碼
package Lianliankan;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class lianliankan implements ActionListener
{
JFrame mainFrame; //主面板
Container thisContainer;
JPanel centerPanel,southPanel,northPanel; //子面板
JButton diamondsButton[][] = new JButton[6][5];//游戲按鈕數組
JButton exitButton,resetButton,newlyButton; //退出,重列,重新開始按鈕
JLabel fractionLable=new JLabel("0"); //分數標簽
JButton firstButton,secondButton; //
分別記錄兩次62616964757a686964616fe59b9ee7ad9431333335326239被選中的按鈕
int grid[][] = new int[8][7];//儲存游戲按鈕位置
static boolean pressInformation=false; //判斷是否有按鈕被選中
int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戲按鈕的位置坐標
int i,j,k,n;//消除方法控制
代碼(code)是程序員用開發工具所支持的語言寫出來的源文件,是一組由字符、符號或信號碼元以離散形式表示信息的明確的規則體系。
對于字符和Unicode數據的位模式的定義,此模式代表特定字母、數字或符號(例如 0x20 代表一個空格,而 0x74 代表字符“t”)。一些數據類型每個字符使用一個字節;每個字節可以具有 256 個不同的位模式中的一個模式。
在計算機中,字符由不同的位模式(ON 或 OFF)表示。每個字節有 8 位,這 8 位可以有 256 種不同的 ON 和 OFF 組合模式。對于使用 1 個字節存儲每個字符的程序,通過給每個位模式指派字符可表示最多 256 個不同的字符。2 個字節有 16 位,這 16 位可以有 65,536 種唯一的 ON 和 OFF 組合模式。使用 2 個字節表示每個字符的程序可表示最多 65,536 個字符。
單字節代碼頁是字符定義,這些字符映射到每個字節可能有的 256 種位模式中的每一種。代碼頁定義大小寫字符、數字、符號以及 !、@、#、% 等特殊字符的位模式。每種歐洲語言(如德語和西班牙語)都有各自的單字節代碼頁。
雖然用于表示 A 到 Z 拉丁字母表字符的位模式在所有的代碼頁中都相同,但用于表示重音字符(如"é"和"á")的位模式在不同的代碼頁中卻不同。如果在運行不同代碼頁的計算機間交換數據,必須將所有字符數據由發送計算機的代碼頁轉換為接收計算機的代碼頁。如果源數據中的擴展字符在接收計算機的代碼頁中未定義,那么數據將丟失。
如果某個數據庫為來自許多不同國家的客戶端提供服務,則很難為該數據庫選擇這樣一種代碼頁,使其包括所有客戶端計算機所需的全部擴展字符。而且,在代碼頁間不停地轉換需要花費大量的處理時間。
文章標題:搖色子代碼java 擲骰子java代碼
本文地址:http://m.kartarina.com/article10/dogejgo.html
成都網站建設公司_創新互聯,為您提供網站導航、App開發、軟件開發、做網站、品牌網站建設、面包屑導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯