java用泛型类实现抽奖算法,用数组创建测试类
时间: 2024-10-24 07:16:19 浏览: 16
在Java中,我们可以使用泛型类来实现抽奖算法,这样可以保证代码的灵活性,使得它能处理各种类型的奖品。以下是一个简单的泛型抽奖类的示例:
```java
public class Lottery<T> {
private T[] prizes; // 存放奖品的数组
public Lottery(T[] prizes) {
this.prizes = prizes;
}
public T draw() {
if (prizes.length == 0) {
throw new IllegalStateException("抽奖池为空");
}
int randomIndex = Math.random() * prizes.length;
return prizes[randomIndex];
}
}
// 创建一个测试类,使用数组实例化彩票类
public class TestLottery {
public static void main(String[] args) {
String[] prizeStrings = {"一等奖", "二等奖", "三等奖", "谢谢参与"};
Lottery<String> lottery = new Lottery<>(prizeStrings);
System.out.println("抽奖结果: " + lottery.draw());
}
}
```
在这个例子中,`Lottery` 类是一个泛型类,其中的 `T` 表示奖品的类型,可以根据实际需要替换为任何类或接口。`draw()` 方法从奖品数组中随机选择一个奖品返回。
阅读全文