Java黑皮书第11版编程练习题7.13(随机数选择器)
时间: 2024-10-13 07:09:54 浏览: 44
Java黑皮书第11版中的编程练习题7.13通常涉及创建一个随机数选择器,这个选择器可以从一组预设的选项中随机选择一个。这是一个典型的概率编程任务,可以使用Java的`java.util.Random`类或者`java.util.Collections.shuffle()`函数来实现。以下是这个问题的一个简单示例:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class RandomSelector {
private List<String> options;
private Random random;
public RandomSelector(List<String> options) {
this.options = options;
this.random = new Random();
}
public String selectRandom() {
if (options.isEmpty()) {
throw new IllegalStateException("Option list is empty");
}
Collections.shuffle(options, random); // 随机打乱列表顺序
return options.get(0); // 返回第一个元素,即随机选择的一项
}
public static void main(String[] args) {
List<String> optionList = new ArrayList<>();
// 添加选项到列表...
RandomSelector selector = new RandomSelector(optionList);
System.out.println(selector.selectRandom());
}
}
```
在这个例子中,首先创建了一个包含选项的列表,然后创建了`RandomSelector`实例,并在`selectRandom`方法中使用`Collections.shuffle`将选项随机排列。最后,从随机排列后的列表中返回第一个元素作为随机选择的结果。
阅读全文