「骰子java」骰子大战下载

博主:adminadmin 2023-01-02 01:33:06 774

本篇文章给大家谈谈骰子java,以及骰子大战下载对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何用java程序实现,求到一百需要掷几次骰子

package com.test;

import java.util.Random;

public class saizi {

public static void main(String[] args) {

int count = 0;// 用于统计次数

int sum = 1;// 用于记录骰子和,退1/1就减。

while (sum  100) {

count++;// 每次循环都加1次

Random r = new Random();

int num = r.nextInt(6);

int diceCount = num + 1;// 用于模拟骰子点数

sum += diceCount;// 每一次都加上骰子点数

while (ifLoop(sum)) {

sum = changeSum(sum);

}

}

System.out.println(count);

}

public static int changeSum(int sum) {

// 开始判断退格

while (ifLoop(sum)) {

Random r = new Random();

int num = r.nextInt(2);

if (sum == 8) {

if (num == 0) {// 使用随机数模拟随机退4或6

sum -= 4;

} else {

sum -= 6;

}

} else if (sum == 15 || sum == 17 || sum == 19 || sum == 23 || sum == 21 || sum == 25) {

sum = 20;

} else if (sum == 20) {

if (num == 0) {

sum = 70;

} else {

sum = 90;

}

} else if (sum == 28) {

if (num == 0) {// 使用随机数模拟随机进3或5

sum += 3;

} else {

sum += 5;

}

} else if (sum == 30 || sum == 34 || sum == 80) {

if (num == 0) {// 使用随机数模拟随机退3或5

sum -= 3;

} else {

sum -= 5;

}

} else if (sum == 36 || sum == 40) {

sum -= 5;

} else if (sum == 43 || sum == 67 || sum == 81 || sum == 92) {

sum -= 4;

} else if (sum == 47 || sum == 52 || sum == 61 || sum == 69 || sum == 85 || sum == 83) {

sum -= 6;

} else if (sum == 56 || sum == 65 || sum == 91 || sum == 93) {

sum -= 5;

} else if (sum == 72 || sum == 74 || sum == 76 || sum == 78) {

sum = 70;

} else if (sum == 87) {

sum = 80;

} else if (sum == 94 || sum == 95 || sum == 97) {

sum = 90;

} else if (sum == 98) {

if (num == 0) {// 使用随机数模拟随机退2或5

sum -= 2;

} else {

sum -= 5;

}

} else if (sum == 99) {

sum -= 4;

}

}

return sum;

}

public static boolean ifLoop(int sum) {

int array[] = { 8, 15, 17, 19, 20, 21, 23, 25, 28, 30, 34, 36, 40, 43, 47, 52, 56, 61, 65, 67, 69, 70, 72, 74,

76, 78, 80, 81, 83, 85, 87, 90, 91, 92, 93, 94, 95, 97, 98, 99 };

for (int i = 0; i  array.length; i++) {

if (sum == array[i]) {

return true;

} else if (sum == 70) {

System.out.println("乐趣怪!");

return false;

} else if (sum == 90) {

System.out.println("惊喜怪!");

return false;

}

}

return false;

}

}

完成一个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();

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())));

}

}

java掷骰子(急)

public class Test {

public static void main(String[] args){

DieGame dieGame = new DieGame();

if (dieGame.play()) {

System.out.println("你赢了!");

} else {

System.out.println("你输了!");

}

}

}

class Die {

private int faceValue;

public int getFaceValue() {

return faceValue;

}

public void setFaceValue(int faceValue) {

this.faceValue = faceValue;

}

public void roll() {

this.faceValue = (int) (Math.random() * 6 + 1);

}

}

class DieGame {

private Die die1 = new Die();

private Die die2 = new Die();

public boolean play() {

die1.roll();

System.out.println("第一次点数:" + die1.getFaceValue());

die2.roll();

System.out.println("第二次点数:" + die2.getFaceValue());

if (die1.getFaceValue() + die2.getFaceValue() == 7) {

return true;

} else {

return false;

}

}

}

关于骰子java和骰子大战下载的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。