一个简单的JAVA问题..
测试结果::::::::::::::::::::
李白原本壶中有1.4375斗酒。
流程如下:
1,遇见花,喝一杯,剩下0.4375。
2.遇到一家店,翻倍,剩下0.875。
3.遇到一家店,翻倍,剩下1.75。
4.遇到一家店,翻倍,剩下3.5。
5、遇见花,喝一桶,剩下2.5。
6、遇见花,喝一桶,留1.5。
7.遇到一家店,翻倍,剩下3.0。
8、遇见花,喝一桶,留2.0。
9.遇到花,喝一杯,剩下1.0。
10,遇见花,喝一桶,剩下0.0。
五遇花店,壶里的酒刚喝完!
输入任意字符,再试一次,输入“退出”退出!
源代码::::
导入Java . util . random;
导入Java . util . scanner;
导入Java . util . vector;
公共类游戏{
公共静态void main(String[] args) {
while (true) {
int[]ran array = generate random();
浮点x = 0;
for(int I = 9;我& gt= 0;我- ) {
if (ranArray[i] == 0)
x++;
其他
x/= 2;
}
print(ranArray,x);
system . out . println();
System.out.println("输入任意字符,再试一次,输入" EXIT "退出!");
扫描仪输入=新扫描仪(system . in);
if (input.next()。toLowerCase()。等于("退出"))
打破;
}
}
//打印结果!
私有静态void print(int[] ranArray,float x) {
System.out.println("李白壶原来有“+x+”斗酒。\n其流程如下:“);
for(int I = 0;我& lt10;i++) {
if (ranArray[i] == 0)
System.out.println(i+1+",遇见花,喝一杯,其余为"+-x ";
其他
System.out.println(i+1+",遇到一家店就翻倍,剩下"+(x * = 2));
}
System.out.println("五遇花店,壶里酒刚喝完!");
}
//生成随机数组。0代表鲜花,1代表店铺。
public static int[]generate random(){
向量& lt整数& gtv =新向量& lt整数& gt();
for(int I = 0;我& lt9;i++) {
如果(我& lt5)
v . add(0);
其他
五、add(1);
}
int[]ran array = new int[10];
ran array[9]= 0;//最后一个应该是会花,保证你把壶里的酒喝光。
Random rnd = new Random();
for(int I = 8;我& gt= 0;我- ) {
ran array[I]= v . remove(rnd . nextint(I+1));
}
返回ranArray
}
}