`
xiang37
  • 浏览: 414583 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JAVA随机生成几个某区间无重复的数字,顺便把ssq的函数写出来

阅读更多

 

 

import java.io.*;
import java.util.ArrayList;
import java.util.Random;

public class RandomNoRepeat
{
 
 public int inputNum = 0;
 
 private ArrayList getNum = null;
 
 public int inputNum() throws IOException
 {
  String inputStr = null;
  int    Num      = 0;

  BufferedReader istream = new BufferedReader(new   InputStreamReader(System.in));

  inputStr = istream.readLine();
  Num = Integer.valueOf(inputStr);
  return Num;
 }
 
 public ArrayList genarateNum(int Num)
 {
  ArrayList storeNum = new ArrayList();
  for(int i = 1; i <= Num; i++ )
  {
   storeNum.add(i);
  }
  return storeNum;
 }
 
 private void processData() throws IOException
 {
  int outNum = 0;  
  System.out.print("请输入您数字的区间的最大值:");
  inputNum = inputNum();
  getNum   = genarateNum( inputNum );
  for(int i = 1; i <= inputNum; i++)
  {
   outNum = Integer.valueOf( getNum.get(i-1).toString() );
   //System.out.println(outNum);
  }


  System.out.print("请您输入需要随机数字的个数:");
  int range = inputNum();
  for (int j = 0; j < range; j++) 
  {
   int randRange = inputNum - j;
   Random ran = new Random(System.currentTimeMillis());
   int randNum = ran.nextInt(randRange);
   outNum = Integer.valueOf( getNum.get(randNum).toString() );
   getNum.remove(randNum);
   System.out.println(outNum);
  }
    
 }
 
 public void ssq()
 {
     int outNum = 0;
     ArrayList redNum  = null;
     ArrayList buleNum = null;  
  System.out.println("--这是一个模仿双色球的函数---");
  //inputNum = inputNum();
  redNum   = genarateNum( 33 );
  buleNum  = genarateNum( 16 );
  System.out.print("红色号码是: ");
  for (int j = 0; j < 7; j++) 
  {
   int randRange = 33 - j;
   Random randomRed = new Random(System.currentTimeMillis());
   int randRedNum = randomRed.nextInt(randRange);
   outNum = Integer.valueOf( redNum.get(randRedNum).toString() );
   redNum.remove(randRedNum);
   System.out.print(outNum+ " ");
  }
  
      Random randomBlue = new Random(System.currentTimeMillis());
   int randBlueNum = randomBlue.nextInt(16);
   outNum = Integer.valueOf( buleNum.get(randBlueNum).toString() );
   System.out.println("蓝色号码是: " + outNum);
 }
 
 public static void main(String str[]) throws IOException
 {
  System.out.println("----本程序的主要目的是随机生成某区间无重复的随机数----");
  RandomNoRepeat localObj = new RandomNoRepeat();
  //localObj.processData();
  localObj.ssq();
  }
}

 

 

 

主要是在运用arrayList的remove()和add()方法。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics