❶ 編寫一個簡單的 java程序,模擬兩個玩家擲骰子
Java程序,模擬兩個玩家擲骰子,玩家按照下列
❷ 如何用java實現擲骰子
package me.flyshow.test;
public class Test {
public static void main(String[] argv) {
int[] result = new int[11];
for (int i = 0; i < 5000; i++) {
int a = (int) (Math.random() * 6 + 1);
int b = (int) (Math.random() * 6 + 1);
int sum = a + b;
switch (sum) {
case 2:
result[0]++;
break;
case 3:
result[1]++;
break;
case 4:
result[2]++;
break;
case 5:
result[3]++;
break;
case 6:
result[4]++;
break;
case 7:
result[5]++;
break;
case 8:
result[6]++;
break;
case 9:
result[7]++;
break;
case 10:
result[8]++;
break;
case 11:
result[9]++;
break;
case 12:
result[10]++;
break;
default:
break;
}
}
for (int n = 0; n < 11; n++) {
System.out.println((n + 2) + "出現了" + result[n] + "次");
❸ 使用Java實現投擲骰子的游戲,要求;丟兩個骰子,若分值的總和為7點則為贏,否則為輸。。。。。。。。
import java.util.Random;
public class A{
public static void main (String args[]){
Random r1 = new Random();
int a = r1.nextInt(6)+1;
System.out.println("第1個骰子的點數為:"+a);
int b = r1.nextInt(6)+1;
System.out.println("第2個骰子的點數為:"+b);
if(a+b==7){
System.out.println("你贏了");
}else{
System.out.println("你輸了");
}
}
}
❹ Java程序求教,擲骰子
importjava.util.Random;
publicclassThrowDice{
publicstaticint[]result={1,2,3,4,5,6};
publicstaticvoiddoThrow(){
Randomrand=newRandom();
inti=rand.nextInt(6);
System.out.println("骰子的點數為-->"+result[i]);
}
publicstaticvoidmain(String[]args){
//執行10次
for(inti=0;i<10;i++){
doThrow();
}
}
}
❺ 擲骰子模擬程序 Java
publicclassTestDieRoll{
privateclassDieRoll{
privatefinalintDIES=6;
privateintroll(){
return(int)(Math.floor(Math.random()*DIES+1));
}
}
publicstaticvoidmain(String[]args){
DieRolld=newTestDieRoll().newDieRoll();
int[]arr=newint[6];
for(inti=0;i<1000;i++)
arr[d.roll()-1]++;
for(inti=0;i<arr.length;i++){
System.out.println("擲得"+(i+1)+"點的次數為"+(arr[i])+"次");
}
}
}
❻ 完成一個java project的構建,創建一個「骰子」類,命名為Dice
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();
List<Integer> points1 = new ArrayList<>();
List<Integer> 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().rece(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().rece(Integer::sum).orElse(0);
System.out.println("第二個骰子10次點數的平均值:" + new BigDecimal(Long.valueOf(sum2).toString()).divide(new BigDecimal(Integer.valueOf(points2.size()).toString())));
}
}
❼ java 編寫程序:投擲2個骰子,200次
import java.util.Scanner;public class Dice {
private int nums[] = {0, 0, 0, 0, 0, 0};//下標為點數
private String diceName;
public Dice(String name) {
diceName = name;
}
public int throwDice() {
int index = (int)(Math.random() * 10 % 6);//0-5隨機數
nums[index]++;
return index + 1;//返回擲出的點數
}
public void showNums() {
for(int i = 0; i < nums.length; i++) {
System.out.println(diceName + "投擲時," + (i + 1) + "點出現了:" + nums[i] + "次");
}
System.out.println();
}
public int showNums(int num) {
if(num < 1 || num > 6) {
return 0;
}
return nums[num - 1];
}
public int[] getNums() {
return nums;
}
public static void main(String[] args) {
Dice diceA = new Dice("diceA");
Dice diceB = new Dice("diceB");
int i = 1;
while(i <= 200) {
System.out.print("diceA投擲點數為:" + diceA.throwDice() + ";");
System.out.print("diceB投擲點數為:" + diceB.throwDice() + "\t");
if(i % 10 == 0) {
System.out.println();
}
i++;
}
Scanner input = new Scanner(System.in);
System.out.print("請輸入數字:");
int num = input.nextInt();
System.out.println("diceA輸出" + num + "點" + diceA.showNums(num) + "次");
System.out.println("diceB輸出" + num + "點" + diceB.showNums(num) + "次");
}
}輸出:diceA投擲點數為:2;diceB投擲點數為:3 diceA投擲點數為:3;diceB投擲點數為:1 diceA投擲點數為:4;diceB投擲點數為:1 diceA投擲點數為:2;diceB投擲點數為:3 diceA投擲點數為:6;diceB投擲點數為:2 diceA投擲點數為:6;diceB投擲點數為:2 diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:4;diceB投擲點數為:3 diceA投擲點數為:3;diceB投擲點數為:2 diceA投擲點數為:1;diceB投擲點數為:1
diceA投擲點數為:3;diceB投擲點數為:6 diceA投擲點數為:4;diceB投擲點數為:1 diceA投擲點數為:6;diceB投擲點數為:5 diceA投擲點數為:3;diceB投擲點數為:4 diceA投擲點數為:6;diceB投擲點數為:2 diceA投擲點數為:3;diceB投擲點數為:5 diceA投擲點數為:2;diceB投擲點數為:3 diceA投擲點數為:3;diceB投擲點數為:3 diceA投擲點數為:2;diceB投擲點數為:1 diceA投擲點數為:2;diceB投擲點數為:1
diceA投擲點數為:3;diceB投擲點數為:5 diceA投擲點數為:1;diceB投擲點數為:2 diceA投擲點數為:5;diceB投擲點數為:2 diceA投擲點數為:3;diceB投擲點數為:1 diceA投擲點數為:6;diceB投擲點數為:4 diceA投擲點數為:2;diceB投擲點數為:3 diceA投擲點數為:2;diceB投擲點數為:2 diceA投擲點數為:2;diceB投擲點數為:5 diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:2;diceB投擲點數為:2
diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:2;diceB投擲點數為:6 diceA投擲點數為:3;diceB投擲點數為:4 diceA投擲點數為:2;diceB投擲點數為:1 diceA投擲點數為:4;diceB投擲點數為:5 diceA投擲點數為:3;diceB投擲點數為:4 diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:3;diceB投擲點數為:6 diceA投擲點數為:4;diceB投擲點數為:6 diceA投擲點數為:1;diceB投擲點數為:5
diceA投擲點數為:2;diceB投擲點數為:2 diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:1;diceB投擲點數為:4 diceA投擲點數為:4;diceB投擲點數為:6 diceA投擲點數為:5;diceB投擲點數為:3 diceA投擲點數為:4;diceB投擲點數為:4 diceA投擲點數為:4;diceB投擲點數為:3 diceA投擲點數為:4;diceB投擲點數為:3 diceA投擲點數為:2;diceB投擲點數為:3 diceA投擲點數為:1;diceB投擲點數為:1
diceA投擲點數為:6;diceB投擲點數為:3 diceA投擲點數為:1;diceB投擲點數為:5 diceA投擲點數為:4;diceB投擲點數為:4 diceA投擲點數為:6;diceB投擲點數為:4 diceA投擲點數為:6;diceB投擲點數為:6 diceA投擲點數為:5;diceB投擲點數為:5 diceA投擲點數為:1;diceB投擲點數為:4 diceA投擲點數為:4;diceB投擲點數為:4 diceA投擲點數為:6;diceB投擲點數為:1 diceA投擲點數為:2;diceB投擲點數為:2
diceA投擲點數為:4;diceB投擲點數為:3 diceA投擲點數為:6;diceB投擲點數為:1 diceA投擲點數為:2;diceB投擲點數為:2 diceA投擲點數為:3;diceB投擲點數為:6 diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:3;diceB投擲點數為:1 diceA投擲點數為:2;diceB投擲點數為:5 diceA投擲點數為:2;diceB投擲點數為:4 diceA投擲點數為:1;diceB投擲點數為:6 diceA投擲點數為:1;diceB投擲點數為:4
diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:3;diceB投擲點數為:6 diceA投擲點數為:2;diceB投擲點數為:2 diceA投擲點數為:5;diceB投擲點數為:1 diceA投擲點數為:6;diceB投擲點數為:5 diceA投擲點數為:5;diceB投擲點數為:1 diceA投擲點數為:5;diceB投擲點數為:2 diceA投擲點數為:4;diceB投擲點數為:6 diceA投擲點數為:6;diceB投擲點數為:5 diceA投擲點數為:6;diceB投擲點數為:6
diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:2;diceB投擲點數為:1 diceA投擲點數為:2;diceB投擲點數為:2 diceA投擲點數為:3;diceB投擲點數為:1 diceA投擲點數為:1;diceB投擲點數為:2 diceA投擲點數為:2;diceB投擲點數為:1 diceA投擲點數為:5;diceB投擲點數為:3 diceA投擲點數為:5;diceB投擲點數為:1 diceA投擲點數為:6;diceB投擲點數為:1 diceA投擲點數為:1;diceB投擲點數為:2
diceA投擲點數為:2;diceB投擲點數為:2 diceA投擲點數為:5;diceB投擲點數為:3 diceA投擲點數為:3;diceB投擲點數為:1 diceA投擲點數為:3;diceB投擲點數為:1 diceA投擲點數為:3;diceB投擲點數為:2 diceA投擲點數為:5;diceB投擲點數為:2 diceA投擲點數為:2;diceB投擲點數為:3 diceA投擲點數為:6;diceB投擲點數為:1 diceA投擲點數為:4;diceB投擲點數為:2 diceA投擲點數為:5;diceB投擲點數為:3
diceA投擲點數為:6;diceB投擲點數為:3 diceA投擲點數為:2;diceB投擲點數為:5 diceA投擲點數為:4;diceB投擲點數為:4 diceA投擲點數為:4;diceB投擲點數為:4 diceA投擲點數為:2;diceB投擲點數為:3 diceA投擲點數為:4;diceB投擲點數為:3 diceA投擲點數為:3;diceB投擲點數為:4 diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:6;diceB投擲點數為:2 diceA投擲點數為:3;diceB投擲點數為:5
diceA投擲點數為:2;diceB投擲點數為:2 diceA投擲點數為:3;diceB投擲點數為:4 diceA投擲點數為:2;diceB投擲點數為:5 diceA投擲點數為:6;diceB投擲點數為:5 diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:3;diceB投擲點數為:4 diceA投擲點數為:1;diceB投擲點數為:2 diceA投擲點數為:3;diceB投擲點數為:5 diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:1;diceB投擲點數為:5
diceA投擲點數為:2;diceB投擲點數為:5 diceA投擲點數為:1;diceB投擲點數為:5 diceA投擲點數為:2;diceB投擲點數為:4 diceA投擲點數為:1;diceB投擲點數為:5 diceA投擲點數為:2;diceB投擲點數為:4 diceA投擲點數為:2;diceB投擲點數為:4 diceA投擲點數為:1;diceB投擲點數為:1 diceA投擲點數為:2;diceB投擲點數為:6 diceA投擲點數為:1;diceB投擲點數為:6 diceA投擲點數為:3;diceB投擲點數為:4
diceA投擲點數為:6;diceB投擲點數為:2 diceA投擲點數為:4;diceB投擲點數為:6 diceA投擲點數為:3;diceB投擲點數為:6 diceA投擲點數為:1;diceB投擲點數為:2 diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:6;diceB投擲點數為:2 diceA投擲點數為:6;diceB投擲點數為:6 diceA投擲點數為:4;diceB投擲點數為:1 diceA投擲點數為:5;diceB投擲點數為:3 diceA投擲點數為:1;diceB投擲點數為:1
diceA投擲點數為:1;diceB投擲點數為:4 diceA投擲點數為:6;diceB投擲點數為:2 diceA投擲點數為:1;diceB投擲點數為:1 diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:2;diceB投擲點數為:6 diceA投擲點數為:1;diceB投擲點數為:2 diceA投擲點數為:1;diceB投擲點數為:6 diceA投擲點數為:1;diceB投擲點數為:1 diceA投擲點數為:6;diceB投擲點數為:3 diceA投擲點數為:1;diceB投擲點數為:3
diceA投擲點數為:1;diceB投擲點數為:6 diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:4;diceB投擲點數為:2 diceA投擲點數為:2;diceB投擲點數為:6 diceA投擲點數為:1;diceB投擲點數為:4 diceA投擲點數為:4;diceB投擲點數為:3 diceA投擲點數為:3;diceB投擲點數為:3 diceA投擲點數為:2;diceB投擲點數為:5 diceA投擲點數為:2;diceB投擲點數為:3 diceA投擲點數為:3;diceB投擲點數為:2
diceA投擲點數為:1;diceB投擲點數為:2 diceA投擲點數為:2;diceB投擲點數為:3 diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:1;diceB投擲點數為:4 diceA投擲點數為:4;diceB投擲點數為:4 diceA投擲點數為:4;diceB投擲點數為:3 diceA投擲點數為:2;diceB投擲點數為:3 diceA投擲點數為:4;diceB投擲點數為:2 diceA投擲點數為:6;diceB投擲點數為:3 diceA投擲點數為:1;diceB投擲點數為:2
diceA投擲點數為:5;diceB投擲點數為:6 diceA投擲點數為:1;diceB投擲點數為:1 diceA投擲點數為:1;diceB投擲點數為:4 diceA投擲點數為:4;diceB投擲點數為:2 diceA投擲點數為:3;diceB投擲點數為:3 diceA投擲點數為:4;diceB投擲點數為:4 diceA投擲點數為:6;diceB投擲點數為:4 diceA投擲點數為:1;diceB投擲點數為:2 diceA投擲點數為:2;diceB投擲點數為:4 diceA投擲點數為:6;diceB投擲點數為:2
diceA投擲點數為:6;diceB投擲點數為:3 diceA投擲點數為:2;diceB投擲點數為:1 diceA投擲點數為:2;diceB投擲點數為:1 diceA投擲點數為:1;diceB投擲點數為:1 diceA投擲點數為:6;diceB投擲點數為:5 diceA投擲點數為:6;diceB投擲點數為:3 diceA投擲點數為:3;diceB投擲點數為:2 diceA投擲點數為:3;diceB投擲點數為:4 diceA投擲點數為:4;diceB投擲點數為:6 diceA投擲點數為:2;diceB投擲點數為:1
diceA投擲點數為:1;diceB投擲點數為:4 diceA投擲點數為:1;diceB投擲點數為:1 diceA投擲點數為:4;diceB投擲點數為:2 diceA投擲點數為:4;diceB投擲點數為:2 diceA投擲點數為:3;diceB投擲點數為:4 diceA投擲點數為:1;diceB投擲點數為:4 diceA投擲點數為:1;diceB投擲點數為:2 diceA投擲點數為:1;diceB投擲點數為:3 diceA投擲點數為:3;diceB投擲點數為:2 diceA投擲點數為:4;diceB投擲點數為:4
請輸入數字:1
diceA輸出1點54次
diceB輸出1點33次
❽ java編改寫擲一對骰子的游戲,計算出現兩個骰子的值都是一時,至少要擲多少次列印
簡單說,最少1次,代碼的話外層定義一個數字,while循環,數字++,然後倆隨機1-6的數,兩個數字相且為1時輸出。自己的作業自己做
❾ java投擲骰子,求點數的出現概率
很簡單 。
int [] num = new int[3]; //數組長度為3
int diag=0; //統計出現5的次數
for(int i=0;i>3;i++){ //擲骰子三次 ,也就是三個骰子
隨機數字 num[i]=(int)(Math.random()*5)+1; //隨機1-6的數字
if(num[i]==5){
diag++; //當骰子等於5的時候,統計次數加1;
}
}
double a=diag/3; //骰子出現5的次數,除以骰子總數,得到概率。
System.out.println(a);