泛型类
编写Java程序,使用泛型类完成生日礼物抽奖器应用程序。实验要求如下:①请编写一个泛型类GiftGenerator,该类至少有gift(礼物)和giftList(礼物池)两个成员变量,增加礼物addGift()和随机获取礼物池中的礼物getGift()两个方法。
②编写一个主类BirthdayGiftLottery,完成随机抽取生日礼物,并输出抽取到的生日礼物。 // GiftGenerator.java
import java.util.ArrayList;
import java.util.Random;
public class GiftGenerator<T> {
private T gift;
private ArrayList<T> giftList;
public GiftGenerator() {
giftList = new ArrayList<>();
}
public void addGift(T newGift) {
giftList.add(newGift);
}
public T getGift() {
Random random = new Random();
int index = random.nextInt(giftList.size());
return giftList.get(index);
}
}
// BirthdayGiftLottery.java
public class BirthdayGiftLottery {
public static void main(String[] args) {
GiftGenerator<String> giftGenerator = new GiftGenerator<>();
giftGenerator.addGift("书籍");
giftGenerator.addGift("玩具");
giftGenerator.addGift("衣服");
System.out.println("抽取到的生日礼物是:" + giftGenerator.getGift());
}
}
在上述代码中,我们定义了一个泛型类GiftGenerator,其中使用了泛型T来表示礼物的类型。在主类BirthdayGiftLottery中,我们实例化了一个GiftGenerator对象,并向其中添加了一些礼物。最后,通过调用getGift方法来随机获取一个生日礼物并输出。 java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
// 泛型类GiftGenerator
public class GiftGenerator<T> {
private T gift;
private List<T> giftList;
public GiftGenerator() {
giftList = new ArrayList<>();
}
public void addGift(T newGift) {
giftList.add(newGift);
}
public T getGift() {
if (giftList.isEmpty()) {
return null;
}
Random random = new Random();
int index = random.nextInt(giftList.size());
return giftList.get(index);
}
}
// 主类BirthdayGiftLottery
public class BirthdayGiftLottery {
public static void main(String[] args) {
GiftGenerator<String> giftGenerator = new GiftGenerator<>();
giftGenerator.addGift("音响");
giftGenerator.addGift("手表");
giftGenerator.addGift("香水");
giftGenerator.addGift("礼券");
String randomGift = giftGenerator.getGift();
System.out.println("恭喜您抽中的生日礼物是:" + randomGift);
}
}
在Java中,我们可以使用泛型类来创建一个通用的礼物生成器。下面是一个实现示例:
import java.util.ArrayList;
import java.util.Random;
// 创建一个泛型类GiftGenerator,T代表任何类型的礼物
public class GiftGenerator<T> {
// 成员变量
private T gift;
private ArrayList<T> giftList;
// 构造函数
public GiftGenerator() {
giftList = new ArrayList<>();
}
// 增加礼物
public void addGift(T gift) {
giftList.add(gift);
}
// 随机获取礼物
public T getGift() {
Random random = new Random();
int index = random.nextInt(giftList.size());
gift = giftList.get(index);
return gift;
}
}
接下来,我们来创建主类BirthdayGiftLottery,它将使用GiftGenerator类随机抽取一个生日礼物。
public class BirthdayGiftLottery {
public static void main(String[] args) {
// 创建一个GiftGenerator实例,并指定礼物的类型为String
GiftGenerator<String> giftGenerator = new GiftGenerator<>();
// 添加一些礼物
giftGenerator.addGift("Teddy Bear");
giftGenerator.addGift("Chocolate Box");
giftGenerator.addGift("Book");
giftGenerator.addGift("Watch");
// 随机抽取一个礼物
String gift = giftGenerator.getGift();
// 输出抽取到的生日礼物
System.out.println("The randomly selected birthday gift is: " + gift);
}
}
在这个例子中,我们创建了一个GiftGenerator实例,并添加了一些字符串类型的礼物。然后,我们使用getGift()方法随机抽取一个礼物,并输出抽取到的礼物。
页:
[1]