Dice代码如下:
创新互联是专业的佛坪网站建设公司,佛坪接单;提供网站设计、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行佛坪网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
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())));
}
}
截图:
选取红色球号码方法:
/**
* 随机选取红色球
*
* 获取1~33其中一个数
*
* 0 = Math.random 1
*/
private int randomOneRedValue() {
int randomValue = (int) (Math.random() * 33 + 1);
return randomValue;
}
选取蓝色球号码方法:
/**
* 随机选取蓝色球号码
*
* 获取1~16的数值
*
* @return
*/
private int randomOneBlueValue() {
int randomValue = (int) (Math.random() * 15 + 1);
return randomValue;
}
测试:
public class Test1 {
public static void main(String[] arg) {
Test1 localTest1 = new Test1();
// 双色球 :红色球号码 + 蓝色球号码
// 六个红色球和一个蓝色球号码
// 红色球号码从1~33中选择
// 蓝色球号码从1~16中选择
// 一等奖:七个号码相符(六个红色号码和一个蓝色球号码)(红色球号码顺序不限,下同)
// 二等奖:六个红色球号码相符;
// 三等奖:五个红色球号码,或者四个红色球号码和一个蓝色球号码相符;
// 四等奖:五个红色球号码,或者三个红色球号码和一个蓝色球号码相符;
// 五等奖:四个红色球号码,或者三个红色球号码和一个蓝色球号码相符;
// 六等奖:一个蓝色球号码相符(有误红色球号码相符均可);
// 例如:红色球号码 01 06 13 19 24 28 蓝色球号码 16
System.out.println("开始出奖");
// 定义双色球数组,大小为7
String[] values = new String[7];
for (int i = 0; i 7; i++) {
if (i == 6) {
int blueValue = localTest1.randomOneBlueValue();
if (blueValue 10) {
values[i] = "0" + blueValue;
} else {
values[i] = String.valueOf(blueValue);
}
} else {
int redValue = localTest1.randomOneRedValue();
if (redValue 10) {
values[i] = "0" + redValue;
} else {
values[i] = String.valueOf(redValue);
}
}
}
System.out.println();
System.out.println("出奖结束");
System.out.println();
System.out.print("双色球开奖号码:");
// 打印双色球号码
for (String value : values) {
System.out.print(" " + value);
}
}
}
不知道你说的是random类还是math.random,所以写了两个
1. Math.random
public class Test1 {
public static void main(String[] args) {
int a, b;
a = (int)(1+Math.random()*(6));
b = (int)(1+Math.random()*(6));
while (a != b) {
System.out.println("Not equal! a=" + a + ", b=" + b);
a = (int)(1+Math.random()*(6));
b = (int)(1+Math.random()*(6));
}
System.out.println("Equal! a=b=" + a);
}
}
2. random类
import java.util.Random;
public class Test2 {
public static void main(String[] args) {
int a, b;
Random ra = new Random();
a = ra.nextInt(6)+1;
b = ra.nextInt(6)+1;
while (a != b) {
System.out.println("Not equal! a=" + a + ", b=" + b);
a = ra.nextInt(6)+1;
b = ra.nextInt(6)+1;
}
System.out.println("Equal! a=b=" + a);
}
}