java随机选号代码 java选取随机数

java 算法 双色球

每一步都做成了一个单独的方法来做,

站在用户的角度思考问题,与客户深入沟通,找到柯坪网站设计与柯坪网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都做网站、外贸网站建设、企业官网、英文网站、手机端网站、网站推广、域名申请雅安服务器托管、企业邮箱。业务覆盖柯坪地区。

所以稍显复杂,不过注释都写了。

完成

1.产生7个随机数

2.验证是否存在相同随机数

3.确定号码选择区域

4.排序

//package com.color.util;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

public class DoubleBall {

//用来保存产生的每注双色球号码

private Listint[] ballList;

//保存一注号码的数组

private int[] ball;

//红色球号码总和的开始区域

private int START;

//红色球号码总和的结束区域

private int END;

/**

* 构造方法

* @param number,产生号码的数量

*/

public DoubleBall(){

Scanner s = new Scanner(System.in);

System.out.println("===请输入产生随机号码数量===");

int number = s.nextInt();

this.init();

//完成ballList的初始化

ballList = new ArrayListint[]();

for(int i=0;inumber;i++){

//初始化ball

ball = new int[7];

//产生一注号码

ball = this.createBall(ball);

while(true){

int count = 0;

//将所有的号码去掉最后一个号码后相加,用来验证是否在指定的区域内

for(int j=0;jball.length-1;j++){

count += ball[j];

}

//如果产生的号码不在指定的区域内,重新产生号码

if(!(countSTART count END)){

ball = this.createBall(ball);

//否则,退出while,将ball添加到list之中

}else{

break;

}

}

ball = this.sort(ball);

//将这注产生的号码添加到list之中

ballList.add(ball);

}

}

/**

* 产生双色球的七个号码

* @param ball

* @return

*/

public int[] createBall(int[] ball){

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

//默认最后一个号码保留给蓝色球

if(iball.length-1){

//如果是红色球,则验证每个产生的号码是否已经存在。

ball = this.validateBall(ball,i);

}else{

//如果是蓝色球,直接产生1--16之间的随机数

ball[i] = (int) Math.round(Math.random()*15+1);

}

}

//产生号码完毕,返回这注产生的号码。

return ball;

}

/**

* 每次只产生一个红色号码,并验证此号码是否已经存在,

* 如果存在,重新产生号码,只到没有重复号码。

* @param ball

* @param index 产生红色球数组的下标,即第几个号码。

* @return

*/

public int[] validateBall(int[] ball,int index){

//产生一个1--33的随机数

int random = (int) Math.round(Math.random()*32+1);

while(true){

int i=0;

for(;iindex;i++){

//如果存在重复数字

if(random==ball[i]){

//重新产生号码

random = (int) Math.round(Math.random()*32+1);

//并且跳出for循环,进入while循环

i =index+1;

}

}

//如果验证完了所有号码,那把这个号码插入数组,并返回

if(i==index){

ball[index] = random;

return ball;

}

}

}

/**

* 显示产生的双色球号码

*

*/

public void displayBall(){

System.out.println("====产生号码的详细信息如下===");

for(int[] ball:ballList){

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

//如果号码不足两位数,在前面添加"0"显示。

System.out.print(((ball[i]10)?("0"+ball[i]):ball[i])+"\t");

}

System.out.println();

}

}

/**

* 完成初始化,制定双色球号码的

* 开始和结束区域

*

*/

public void init(){

Scanner s = new Scanner(System.in);

System.out.println("===请输入开始数字===");

this.START = s.nextInt();

System.out.println("===请输入结束数字===");

this.END = s.nextInt();

if(this.START=25 || this.END=150){

System.out.println("输入数字不合法,退出程序!");

System.exit(0);

}

}

/**

* 对号码进行排序,只对最后一个号码以前的

* 号码进行排序

* @param ball

* @return

*/

private int[] sort(int[] ball){

for(int i=0;iball.length-1;i++){

for(int j=0;jball.length-i-2;j++){

if(ball[j]ball[j+1]){

int t = ball[j];

ball[j] = ball[j+1];

ball[j+1] = t;

}

}

}

return ball;

}

public static void main(String[] args){

DoubleBall ball = new DoubleBall();

ball.displayBall();

}

}

用java写一个抽奖程序

你是要JAVA可视化的 还是控制台的啊?

控制台的话 你可以用循环来取中奖号,将其存入list或set里(最好是set,因为set本来就不会重复)。如果用list存就另外写一个循环方法,来挨个判定该元素是不是已经在list中存在了,如果存在,就让选号的再加选一次,如果不重复,就放到list里去。。。。OK

那你有没有学过一种方法,比如说:0到9数字,随机选出一个数字,我��

package suanFa;

import java.util.Random;

public class Shengchengsuijishu {

public static void main(String[] args) {

Random random = new Random(); // 随机数类

int number = random.nextInt(10); // 随机生成 0 - 9 的数字

int userNumber = 0; // 存储用户号码的变量

boolean sign = false; // 是否循环的标记

while (sign == false) { // 循环

userNumber = random.nextInt(1000); // 随机生成 0 - 999 的数字

sign = checkUserNum(userNumber , number); // 调用方法

}

}

/**

* 检查用户是否中奖

* @param userNumber 随机生成的用户号码

* @param number 开奖号码

* @return 返回是或否

*/

public static boolean checkUserNum(int userNumber , int number) {

boolean sign = false; // 是否中奖标记

int firstNum; // 声明一个变量记录百位

int nextNum; // 声明一个变量记录十位

String buff = new Integer(userNumber).toString(); // 把 用户号码转换成字符串

if (buff.length() == 3) { // 判断生成的用户号码是否 大于 100

firstNum = Integer.parseInt(buff.substring(0, 1)); // 截取百位

nextNum = Integer.parseInt(buff.substring(1, 2)); // 截取十位

if(firstNum - nextNum == number){ // 如果 百位减十位等于开奖号码,则中奖

System.out.println("开奖号码是:" + number);

System.out.println("中奖用户号码是:" + buff);

sign = true;

}

}

return sign; // 返回

}

☆这是产生0-9的随机数的方法:

public class Test{

public static void main(String[] args) {

Random random = new Random(); // 随机数类

int number = random.nextInt(10); // 随机生成 0 - 9 的数字

System.out.print(number);

}

}

用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随机选号代码 java选取随机数
网页路径:http://myzitong.com/article/dopcpep.html