随机生成多组双色球(GUI)

package com.xiaoxie.base;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import javax.swing.JOptionPane;

public class DoubleColorBall {
public static void main(String[] args) {
  int number = 0;
  do {
   number = getNumber();
  } while (number == 0 || number < 0);
  String balls = GetBalls(number);
  JOptionPane.showMessageDialog(null,
    "随机" + number + "组双色球号分别为:\n" + balls, "随机双",
    JOptionPane.INFORMATION_MESSAGE);
}
private static String GetBalls(int number) {
  StringBuilder sb = new StringBuilder();
  for (int i = 1; i <= number; i++) {
   sb.append(getBall() + "\n");
  }
  return sb.toString();
}
private static int getNumber() {
  // 提 示用户输入
  String numberStr = JOptionPane.showInputDialog("请输入要取多少组随机双色球:");
  if (numberStr == null) {
   // 当用户点击了"取消"则退出系统
   System.exit(0);
  }
  try {
   return Integer.parseInt(numberStr);
  } catch (Exception e) {
   JOptionPane.showMessageDialog(null, "你输入数字的有误,请重新输入!", "提 示",
     JOptionPane.WARNING_MESSAGE);
   return 0;
  }
}
private static String getBall() {
  String[] pools = { "01", "02", "03", "04", "05", "06", "07", "08",
    "09", "10", "11", "12", "13", "14", "15", "16", "17", "18",
    "19", "20", "21", "22", "23", "24", "25", "26", "17", "18",
    "29", "30", "31", "32", "33" };
  //先把蓝球取出来
  Random random = new Random();
  String blueBall = pools[random.nextInt(16)];
  // 创建一个list集合,并把数组转为集合
  List<String> rp = new ArrayList<String>();
  rp = Arrays.asList(pools);
  // 打乱顺序并取出前六个红球
  Collections.shuffle(rp);
  // 取前面的0-5 六个字符串
  rp = rp.subList(0, 6);
  // 把取出来的结果进行排序
  Collections.sort(rp);
  StringBuilder sb = new StringBuilder();
  for (int i = 0; i < rp.size(); i++) {
   if (i == rp.size() - 1) {
    sb.append(rp.get(i) + "    + ");
   } else {
    sb.append(rp.get(i) + ", ");
   }
  }
  // 把红球的结果加上一个蓝球
  return sb.toString() + blueBall;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值