重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

奖券数目java代码 java奖金题目

java:使用数组,循环,if判断及随机数工具类完成彩票生成器

按照你的要求编写的35选7彩票生成器的Java程序如下

创新互联公司是一家集网站建设,晋州企业网站建设,晋州品牌网站建设,网站定制,晋州网站建设报价,网络营销,网络优化,晋州网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

import java.util.Arrays;

public class F {

public static String random() {

int []a=new int[7];

int count=0;

while(count7){

boolean flag=false;

int tmp=(int)(Math.random()*35)+1;

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

if(tmp==a[i]){

flag=true;

}

}

if(flag==false){

a[count]=tmp;

count++;

}

}

//对选出的7个数排序

Arrays.sort(a);

//输出35选7的结果 并在个位数前补0

String s="";

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

if(i==a.length-1){

if(a[i]10){

s=s+"0"+a[i];

}else{

s=s+a[i];

}

}else{

if(a[i]10){

s=s+"0"+a[i]+",";

}else{

s=s+a[i]+",";

}

}

}

return s;

}

public static void main(String[] args) {

System.out.println(random());

}

}

运行结果

05,10,14,16,22,28,31

多试几次会有不同结果

用java编写,模仿福利彩票23选5,随机生成5个不同的1~23的整数

/**

 * 生成指定个数的小于指定最大值的随机数,并存放在list中返回

 * 

 * @param length

 *            生成数的个数

 * @param max

 *            最大值

 * @return

 */

public static ListInteger getRedRandomList(int length, int max) {

ListInteger list = new ArrayListInteger();

while (list.size()  length) {

int ran = 0;

ran = (int) (Math.random() * 100);

if (!(ran == 0)) {

if (ran  max) {

if (list.size() == 0) {

list.add(ran);

} else {

if (!list.contains(ran)) {

list.add(ran);

}

}

} else {

ran = ran / 3;

if (!(ran == 0)) {

if (list.size() == 0) {

list.add(ran);

} else {

if (!list.contains(ran)) {

list.add(ran);

}

}

}

}

}

}

return list;

}

写一彩票程序,要求能随机产生并按照升序输出1-30之间的7个数,且其中任意两个数字不能重复,Java程序

一楼的老哥给的答案是没问题的,而且最妙的就是那个26行的(randomNum--);

问这个问题的应该都是新手,所以我就解释一下这个老哥写的代码意思;

首先创建一个30长度的数组,遍历赋值,这个里面数字为1-30的数组就是取值范围;

我们会从这个数组里取到我们需要的随机数.

然后创建一个7长度的答案数组,这个数组用来装答案.

生成随机数的random要放在for循环里面,每循环一次都能获得不同的随机数.

这里注意26行的randomNum--,每循环一次,我们的取值范围下标就提前一位,也就是说,第一次赋值,取值范围是30个数全部,第二次--之后变成了前29个数,每循环一次减去一,每次循环都把最后一位数剔除出取值范围;

从取值范围数组里随机拿一个数放到答案数组第一位,然后这个数我们就跟最后一位数交换,

随后randomNum--,我们已经取过的这个数,跟最后一位数交换,而且退出了取值范围了,

举个例子,答案数组现在是空的{}, 取值范围数组现在有{1,2,3};

第一次循环之后,假如答案数组变成:{1},那个取值范围就变成了{3,2}1,已经取值过的1,因为randomNum--,已经跟最后一位交换并且剔除了.

用JAVA编写一个福利彩票机选模拟器,使用随机数方法

自己写的,不懂可以问我

import java.util.Random;

import java.awt.*;

import java.awt.event.*;

public class shuangSeQiu implements ActionListener{

int i,k;

static int rm,rr;

int [] a = new int [33];

Frame f = new Frame("双色球随机数");

TextField tf = new TextField();

Random rd = new Random();

public shuangSeQiu()

{

for(i=0;i33;i++)

{

a[i] = i;

}

f.setLayout(new BorderLayout());

f.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

}

public void init()

{

tf.addActionListener(this);

Button b = new Button("开始");

b.addActionListener(this);

f.add(tf,"North");

f.add(b);

f.setSize(300,300);

f.setVisible(true);

}

public void actionPerformed(ActionEvent e)

{

if(e.getActionCommand().equals("开始"))

//tf.setText(""+(rd.nextInt(33)+1)+" "+(rd.nextInt(33)+1)+" "+(rd.nextInt(33)+1)+" "+(rd.nextInt(33)+1)+" "+(rd.nextInt(33)+1)+" "+(rd.nextInt(33)+1)+" 蓝色球号码:"+(rd.nextInt(15)+1));

{

/*rr = new Random().nextInt(33);

rm = new Random().nextInt(33);*/

for(i=0;i33;i++)

{

rr = new Random().nextInt(33);

rm = new Random().nextInt(33);

System.out.print(rr+" ");

k=a[rm];

a[rm]=a[rr];

a[rr]=k;

}

tf.setText("红色球号码:"+(a[0]+1)+" "+(a[1]+1)+" "+(a[2]+1)+" "+(a[3]+1)+" "+(a[4]+1)+" "+(a[5]+1)+" 蓝色球号码:"+(rd.nextInt(15)+1));

}

}

public static void main(String[] args)//throws Exception

{

new shuangSeQiu().init();

}

}

求java算法:根据物品的数量来确定抽奖的概率(当物品数量为0时无论如何都不可能选到)

public class Lottery {

private int m = 1000;//发放奖券的数量

private int n = 2;//奖品的数量

public boolean getLottery(){

boolean isLottery = false;

double d = (double)n/(double)m;//中奖概率

double r = Math.random();//0~1之间的随机数,包括0

if(rd){//如果随机数小于概率 那么中奖

n--;//奖品数量-1

isLottery = true;

}

m--;//奖券数量-1

return isLottery;

}

}

用Java程序写一个彩票的模拟程序生成6个红球(1-33的随机数),1个蓝球(1-16的随机数),随机数可以重复

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^


文章名称:奖券数目java代码 java奖金题目
标题网址:http://cqcxhl.com/article/hehicd.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP