用Java程序写一个彩票的模拟程序生成6个红球(1-33的随机数),1个蓝球(1-16的随机数),随机数可以重复 5
7个回答
展开全部
import java.util.Random;
import java.util.Scanner;
public class DoubleBalls {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("是否机选一组双色球号码?(Y/N)");
Scanner input = new Scanner(System.in);
char a = input.next().charAt(0); // 输入一个char字符,0位即是第一位
if (a == 'Y' || a == 'y') {
Random suiji = new Random(); // 创建suiji方法
int blue = suiji.nextInt(16);//从0到16中选一个数字个蓝球
while(blue==0){
blue=suiji.nextInt(16);
}//如果选到了0,再选一次给blue
int red[] = new int[6];// 用一个6个元素的数组装红球
for (int i = 0; i < 6; i++) {
red[i] = suiji.nextInt(33); // 随机分配0到33的整数
if (red[i] == 0) {i--;}
if (i == -1) {i = 0;}
for (int j = 0; j < i; j++) {
while (red[i] == red[j]) {i--;}// 发现相同的从新回去生成一个
}
}
System.out.print("红球:");
for (int k = 0; k < red.length; k++) {
System.out.print(red[k] + " ");// 输出数组red
}
System.out.print("蓝球:"+blue);
} else
System.out.println("fuck you~");
}
}
应该可以了,可以产生一组。。。如果楼主你中头奖了,送我套房好了哈^0^
import java.util.Scanner;
public class DoubleBalls {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("是否机选一组双色球号码?(Y/N)");
Scanner input = new Scanner(System.in);
char a = input.next().charAt(0); // 输入一个char字符,0位即是第一位
if (a == 'Y' || a == 'y') {
Random suiji = new Random(); // 创建suiji方法
int blue = suiji.nextInt(16);//从0到16中选一个数字个蓝球
while(blue==0){
blue=suiji.nextInt(16);
}//如果选到了0,再选一次给blue
int red[] = new int[6];// 用一个6个元素的数组装红球
for (int i = 0; i < 6; i++) {
red[i] = suiji.nextInt(33); // 随机分配0到33的整数
if (red[i] == 0) {i--;}
if (i == -1) {i = 0;}
for (int j = 0; j < i; j++) {
while (red[i] == red[j]) {i--;}// 发现相同的从新回去生成一个
}
}
System.out.print("红球:");
for (int k = 0; k < red.length; k++) {
System.out.print(red[k] + " ");// 输出数组red
}
System.out.print("蓝球:"+blue);
} else
System.out.println("fuck you~");
}
}
应该可以了,可以产生一组。。。如果楼主你中头奖了,送我套房好了哈^0^
展开全部
public class RandomDemo {
public static void main(String[] args) {
LotteryTicket lt = new LotteryTicket();
int red[] = lt.getRed();
System.out.print("随机生成的红球为:");
for(int i=0;i<6;i++){
System.out.print(" "+red[i]);
}
System.out.print("\t蓝球为:"+lt.getBlue());
}
}
class LotteryTicket{ 彩票生成类
private int[] red = new int[6];
public int[] getRed(){ //返回红球
int i =0;
for(;i<6;i++){
red[i] = (int)(Math.random()*33) +1;
for(int j=0;j<i;j++){ //保证了重复,我个从认为这个彩票好像不能重复吧
if(red[i]==red[j]){
red[i] = (int)(Math.random()*33) +1;
j=0;
}
}
}
return red;
}
public int getBlue(){ //返回蓝球
return (int)(Math.random()*16) +1;
}
}
public static void main(String[] args) {
LotteryTicket lt = new LotteryTicket();
int red[] = lt.getRed();
System.out.print("随机生成的红球为:");
for(int i=0;i<6;i++){
System.out.print(" "+red[i]);
}
System.out.print("\t蓝球为:"+lt.getBlue());
}
}
class LotteryTicket{ 彩票生成类
private int[] red = new int[6];
public int[] getRed(){ //返回红球
int i =0;
for(;i<6;i++){
red[i] = (int)(Math.random()*33) +1;
for(int j=0;j<i;j++){ //保证了重复,我个从认为这个彩票好像不能重复吧
if(red[i]==red[j]){
red[i] = (int)(Math.random()*33) +1;
j=0;
}
}
}
return red;
}
public int getBlue(){ //返回蓝球
return (int)(Math.random()*16) +1;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private String generateDoubleChrom(){
Random random=new Random();
int redball[]=new int[6];
StringBuffer stringBuf = new StringBuffer();
for(int i=0;i<6;){
int temp =random.nextInt(33)+1;
if(this.isGenerated(redball, temp))
continue;
else stringBuf.append((redball[i++]=temp )+(i==6?"":","));
}
stringBuf.append("|"+(random.nextInt(16)+1));
return stringBuf.toString();
}
private boolean isGenerated(int[] scope,int target){
if(scope==null)return false;
for(int i=0;i<scope.length;i++)
if(target==scope[i])return true;
return false;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关键代码:
Random rand = new Random();
for(int i=0;i<6;i++){
redBall[i] = 1 + rand.nextInt(33);
}
buleBall = 1 + rand.nextInt(16);
Random rand = new Random();
for(int i=0;i<6;i++){
redBall[i] = 1 + rand.nextInt(33);
}
buleBall = 1 + rand.nextInt(16);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你都知道用Random for循环写啦,自己写一下就OK啦·
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询