用java写一个写一个生成彩票号码的小程序,[1,33]之间(包含1和33)随机选七个不重复的数字,并把生成的彩票号码打印在控制台上。 解析用到的知识点有: 数组 生成随机数 循环语句 条件判断语句(注:7个数字不能重复)
时间: 2023-06-12 08:03:54 浏览: 166
好的,以下是Java代码实现:
```java
import java.util.Arrays;
import java.util.Random;
public class LotteryNumberGenerator {
public static void main(String[] args) {
int[] lotteryNumbers = new int[7];
Random random = new Random();
for(int i = 0; i < 7; i++) {
int number;
do {
number = random.nextInt(33) + 1;
} while(Arrays.binarySearch(lotteryNumbers, number) >= 0);
lotteryNumbers[i] = number;
}
Arrays.sort(lotteryNumbers);
System.out.println("彩票号码为:");
for(int number : lotteryNumbers) {
System.out.print(number + " ");
}
}
}
```
代码解析:
1. 首先,定义一个长度为7的整型数组`lotteryNumbers`用于存储生成的彩票号码。
2. 然后,初始化一个`Random`对象用于生成随机数。
3. 接着,使用`for`循环生成7个随机数,并且保证这7个数不重复。具体实现是在每次生成一个随机数后,使用`Arrays.binarySearch`方法查找这个数是否已经在数组中出现过,如果已经出现过,则重新生成一个随机数,直到找到一个没有出现过的数。
4. 在生成7个随机数后,对这7个数进行排序,然后使用`for-each`循环输出这7个数。
阅读全文