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选取随机数
文章出自:https://www.cdcxhl.com/article48/dopcpep.html

成都网站建设公司_创新互联,为您提供网站设计小程序开发网站设计公司域名注册用户体验品牌网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设