Java代码实现有效管理一个1~6的随机数序列,要求生成初始序列,保证序列中的元素值不重复,当增加或删除一个元素的时候,使序列元素值动态更新
时间: 2024-05-07 20:19:20 浏览: 99
您好,对于您的问题,可以通过以下Java代码实现管理1~6的随机数序列:
```java
import java.util.ArrayList;
import java.util.Collections;
public class RandomNumberSequence {
private ArrayList<Integer> sequence;
public RandomNumberSequence() {
sequence = new ArrayList<Integer>();
for (int i = 1; i <= 6; i++) {
sequence.add(i);
}
Collections.shuffle(sequence); // 打乱序列顺序
}
public void add(int num) {
if (!sequence.contains(num)) {
sequence.add(num);
}
}
public void remove(int num) {
sequence.remove(Integer.valueOf(num));
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < sequence.size(); i++) {
sb.append(sequence.get(i));
if (i < sequence.size() - 1) {
sb.append(", ");
}
}
return sb.toString();
}
public static void main(String[] args) {
RandomNumberSequence rns = new RandomNumberSequence();
System.out.println(rns); // 打印初始序列
rns.add(7); // 添加7,元素值动态更新
System.out.println(rns);
rns.remove(5); // 删除5,元素值动态更新
System.out.println(rns);
}
}
```
如上所示,我们定义了一个 `RandomNumberSequence` 类来管理1~6的随机数序列,实现了向序列中添加和删除元素的方法。在调用 `add()` 或 `remove()` 方法时,序列的元素值会根据所做的改变而动态更新。此外,我们通过重写 `toString()` 方法来打印序列。
希望这可以帮到您!
阅读全文