实现用java泛型抽奖代码
时间: 2024-05-08 18:20:44 浏览: 116
好的,以下是一个用Java泛型实现的抽奖代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Lottery<T> {
private List<T> candidates;
private Random random;
public Lottery() {
candidates = new ArrayList<>();
random = new Random();
}
public void addCandidate(T candidate) {
candidates.add(candidate);
}
public T drawWinner() {
int index = random.nextInt(candidates.size());
return candidates.get(index);
}
public static void main(String[] args) {
Lottery<String> lottery = new Lottery<>();
lottery.addCandidate("Alice");
lottery.addCandidate("Bob");
lottery.addCandidate("Charlie");
lottery.addCandidate("David");
String winner = lottery.drawWinner();
System.out.println("The winner is: " + winner);
}
}
```
在这个例子中,我们创建了一个泛型类`Lottery<T>`,其中`T`表示候选人的类型。我们使用一个`List<T>`来存储候选人,然后使用一个`Random`对象来生成随机数。`addCandidate`方法用于添加候选人,`drawWinner`方法用于从候选人中随机选择一个获胜者。
在`main`方法中,我们创建了一个`Lottery<String>`对象,表示我们要从一组字符串中进行抽奖。然后,我们添加了几个候选人,调用`drawWinner`方法来选择一个获胜者,并将其输出到控制台上。
阅读全文