双色球彩票由红球(133)和蓝球(116)组成,一注彩票有7个数组成(红球6个,蓝球1个)
写一个方法,随机产生1注双色球彩票(不能重复),并对号码排序。
补充说明:最终生成的彩票,是一个有数字组成的字符串,每一个数字之间用空格隔开,最后一个用+和前面6个数字连接
格式如: 7 10 18 26 31 33 + 22
方法:
package doy2;
import java.util.Random;
import java.util.TreeSet;
public class Demo4 {
public static void main(String[] args) {
}
public static String randomLottery() {
Random r = new Random();
TreeSet<Integer> set = new TreeSet<>();
//随机产生6个红球[1,33]redBall randomLottery
while (set.size() < 6) {
int redBall = r.nextInt(33) + 1;
set.add(redBall);
}
//随机产生1个篮球blueBall
int bluBall = r.nextInt(16);
/*把红球和篮球按照格式组成一个字符串
把StringBuilder转换为String并返回*/
StringBuffer sb = new StringBuffer();
for (Integer i : set) {
sb.append(i).append("\t");
}
sb.append("+").append(bluBall);
return sb.toString();
}
}