java的彩票

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的彩票相关的知识,希望对你有一定的参考价值。

1编写Lottery类,它有:
(1)成员变量:用于存放随机产生的7个号码;
(2)成员方法:
generate():实现7个号码的产生;每注号码为7个1~35的随机整数,每注7个号码中不能有重复号码。
pringTitle():实现票头的打印;
printData():实现号码的打印;
2.编写Lottey类的测试程序,实现35选7随机号码的生成:
用户从键盘输入要买彩票的注数n(通过输入对话框实现),程序随机产生n注号码并输出。

  import java.util.ArrayList;
  import java.util.Random;
  import java.util.Scanner;

  /**
  * 测试彩票类
  * @author doulmi
  *
  */
  public class LotteryDemo
  public static void main( String[] args )
  Scanner scanner = new Scanner( System.in );
  System.out.print( "请输入要购买的注数:" );
  System.out.println();

  int buyN = 0;
  if ( scanner.hasNextInt() )
  buyN = scanner.nextInt();
   else
  System.out.println( "请输入正确的数字" );
  

  for ( int i = 0; i < buyN; i ++ )
  Lottery lot = new Lottery();
  lot.generate();
  System.out.print( "第" );
  System.out.print( i );
  System.out.print( "注" );
  lot.printData();
  
  
  

  /**
  * 彩票类
  * @author Administrator
  *
  */
  class Lottery
  private static final int NUM_TO_GETOUT = 7;
  //能产生的最大数值为99
  private static final int MAX_NUM = 35;
  public ArrayList< Integer > list;
  private int[] result;

  public Lottery()
  list = new ArrayList< Integer >();
  for ( int i = 1; i <= MAX_NUM; i ++ )
  list.add( i );
  
  result = new int[ NUM_TO_GETOUT ];
  

  public void generate()
  Random r = new Random();
  for ( int i = 0; i < NUM_TO_GETOUT; i ++ )
  result[ i ] = list.remove( r.nextInt( list.size() ) );
  
  

  /**
  * 关于票头的打印。。我不知道票头是什么。
  */
  public void pringTitle()

  

  /**
  * 实现号码的打印
  */
  public void printData()
  for ( int n : result )
  System.out.print( n );
  System.out.print( " " );
  
  System.out.println();
  
  
参考技术A 下面是显示红色文字的代码例子,其他的设置类似,是由AttributeSet设置的。
package baidu.zhidao;

import java.awt.Color;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.text.BadLocationException;
import javax.swing.text.DefaultStyledDocument;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;

public class TextPane extends JFrame

JTextPane jtp = null;
DefaultStyledDocument doc = null;
SimpleAttributeSet attrset = null;
public TextPane()

super("JTextPane model");
doc = new DefaultStyledDocument();
jtp = new JTextPane(doc);
attrset = new SimpleAttributeSet();
StyleConstants.setForeground(attrset, Color.red);
try

doc.insertString(doc.getLength(), "你好,我是jink2005。\n", attrset);

catch (BadLocationException e)


this.getContentPane().add(new JScrollPane(jtp));
this.pack();
this.setVisible(true);

public static void main(String[] args)

new TextPane();

追答

java数组实现买彩票(平移覆盖思想)

 1 package com.wh.shuzu;
 2 /**
 3  * 买彩票
 4  * @author 贾相如同学
 5  * 平移覆盖思想
 6  */
 7 public class Lotery3 {
 8 
 9     public static void main(String[] args) {
10         int a[] = {1,2,3,4,5,6,7,8,9,10,11};
11         for(int i =0;i<5;i++){
12             //每覆盖一次,随机数的范围就少一个
13             int temp = (int)(Math.random()*(11-i));
14             //打印输出随机数的数组值
15             System.out.println(a[temp]);
16             //从第temp个数开始平移
17             for(int j = temp;j<a.length-1;j++) 
18                 a[j] = a[j+1];
19         }
20     }
21 }

 

以上是关于java的彩票的主要内容,如果未能解决你的问题,请参考以下文章

java双色球彩票小程序

模拟双色球彩票开奖结果:随机生成一注双色球彩票.......

java数组实现买彩票(平移覆盖思想)

java一个彩票算法的问题

java课程设计-彩票购买抽奖程序

java数组实现买彩票(通过标识符进行判断的思想)