说明:使用的是IDEA 软件,开发语言是:java.
项目说明:
某个赌徒,手里有一千元钱。开始玩猜三个骰子点数和的大小的游戏。3到10为小,11到18为大。无论每次猜大或者是小,中奖的概率都是50%
程序里面,用一个函数生成随机数,随机数是1到6. 用循环语句,循环20次,输出第二十次函数所生成的随机数。完全公平。另外两个骰子的点数用同样的方法随机生成。然后三个点数放在一个数组里面,a[0],a[1],a[2]的和,就是三个骰子的点数和。首先,赌徒在不知道下次的开奖结果情况下,猜“大”或者“小”。
输入的字符如果不是“大”也不是“”小“”那么 程序就提示用户重新输入,直到用户输入的是“”大“”或者“小”其中的一个字符。
然后输入本次投注的金额。每次投注的金额不能大于手里的财富余额,否则程序会报错,让用户重新输入投注金额。程序每次都会提示用户手里的余额是多少,故应该不会有用户那么笨,在程序的此处造成死循环。
请注意,每次输入投注金额时,务必输入正整数。如果输入负数,例如输入一个 负100 (—100),那么程序就要转换这个数字为正的数值,也就是正的100.所以设计这个程序的时候,要把所有的用户输入情况都想周全。
没有解决的问题是,在输入投注金额的时候,如果用户输入的不是整数,那么程序就报错,结束了。这个问题我 暂时没有解决办法。
然后说明一下其他的规则。
例如 用户猜“”大“”,投注为10.
如果猜中,所得奖金为9.9.(可以理解为投注金额的0.99倍),本身投注的10将会归还给用户。
如果猜错,奖金为0,并且也会失去10.
看起来似乎不太公平,但现实本来如此。
一旦开始,用户就要不停的 猜 “大小”,并且输入下注金额。 程序结束的条件就是:用户手里的余额小于1.
然后,程序会提示用户:你输光了,请远离赌博!
以下为程序的java 代码
import java.util.Random;
import java.util.Scanner;
import java.util.Arrays;
public class TouziMoni {
public static void main(String args[]) {
int a[]=new int[3];
int sum=0;
Scanner input=new Scanner(System.in);
Random rand = new Random();
int x=rand.nextInt(6)+1;
double money=1000.0;
do {
System.out.println(“请选择大小,“大”或者“小”?”);
String s = input.next();
while(!(s.equals(“大”)|s.equals(“小”)))
{
System.out.println(“输入错误!需重新输入”);
System.out.println(“请选择大小,“大”或者“小”?”);
s = input.next();
}
System.out.println(“输入下注金额:”);
int i = input.nextInt();
i=Math.abs(i);
while(i>money)
{
System.out.println(“您本金不足,请重新输入下注金额:”);
i = input.nextInt();
i=Math.abs(i);
}
for (int j = 0; j < 20; j++) {
x = rand.nextInt(6) + 1;
}
a[0] = x;
for (int j = 0; j < 20; j++) {
x = rand.nextInt(6) + 1;
}
a[1] = x;
for (int j = 0; j < 20; j++) {
x = rand.nextInt(6) + 1;
}
a[2] = x;
sum = a[0] + a[1] + a[2];
String s2 = (sum > 10 ? “大” : “小”);
if (s.equals(s2)) {
System.out.println(“开奖结果是:” + sum + “,中奖了!”);
money += 0.99 * i;
System.out.println(“您的余额是:” + money);
}
else
{
System.out.println(“开奖结果是:”+sum+",没中奖!");
money-=i;
System.out.println(“您的余额是:”+money);
}
}while(money>=1);
System.out.println(“你输光了!”);
System.out.println(“请远离赌博!”);
}
}
过程展示:
请选择大小,“大”或者“小”?
大
输入下注金额:
100
开奖结果是:12,中奖了!
您的余额是:1099.0
请选择大小,“大”或者“小”?
大
输入下注金额:
100
开奖结果是:10,没中奖!
您的余额是:999.0
请选择大小,“大”或者“小”?
大
输入下注金额:
200
开奖结果是:13,中奖了!
您的余额是:1197.0
请选择大小,“大”或者“小”?
大
输入下注金额:
100
开奖结果是:11,中奖了!
您的余额是:1296.0
请选择大小,“大”或者“小”?
大
输入下注金额:
100
开奖结果是:13,中奖了!
您的余额是:1395.0
请选择大小,“大”或者“小”?
大
输入下注金额:
100
开奖结果是:11,中奖了!
您的余额是:1494.0
请选择大小,“大”或者“小”?
大
输入下注金额:
100
开奖结果是:11,中奖了!
您的余额是:1593.0
请选择大小,“大”或者“小”?
大
输入下注金额:
100
开奖结果是:8,没中奖!
您的余额是:1493.0
请选择大小,“大”或者“小”?
小
输入下注金额:
200
开奖结果是:9,中奖了!
您的余额是:1691.0
请选择大小,“大”或者“小”?
小
输入下注金额:
200
开奖结果是:9,中奖了!
您的余额是:1889.0
请选择大小,“大”或者“小”?
大
输入下注金额:
1000
开奖结果是:10,没中奖!
您的余额是:889.0
请选择大小,“大”或者“小”?
大
输入下注金额:
889
开奖结果是:11,中奖了!
您的余额是:1769.1100000000001
请选择大小,“大”或者“小”?
小
输入下注金额:
1769
开奖结果是:12,没中奖!
您的余额是:0.11000000000012733
你输光了!
请远离赌博!
Process finished with exit code 0
以下是截图:
程序有错误之处,还请批评指正,谢谢。
请远离赌博。