编写一个Java程序,完成如下任务: 1、完成周末舞会配对问题。假设在周末舞会上,男生和女生进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队首各出一人配成舞伴。 初始队列人数(男队列5人,女队列3人),则较长一队中剩余的未配对者等待下一轮配队时再和新入队人员配对。 第二轮配对开始时,男队再入队3人,女队再入队4人。 写一算法完成上述模拟舞伴配对问题。 要求:1) 分别品示每次配对成功后的元素(即男女名字) 配对条件 while(L1.isEmptyQ)Q&L2.isEmpty() 2)每轮配对完毕后,判空,如果队列不为空,输出未配对姓名。
时间: 2023-12-12 14:04:04 浏览: 65
下面是一个Java程序,实现上述周末舞会配对问题:
```java
import java.util.LinkedList;
public class DancePartner {
public static void main(String[] args) {
// 初始化队列
LinkedList<String> maleQueue = new LinkedList<>();
maleQueue.add("Tom");
maleQueue.add("Jack");
maleQueue.add("Peter");
maleQueue.add("David");
maleQueue.add("John");
LinkedList<String> femaleQueue = new LinkedList<>();
femaleQueue.add("Lucy");
femaleQueue.add("Lily");
femaleQueue.add("Kate");
// 第一轮配对
System.out.println("第一轮配对:");
while (!maleQueue.isEmpty() && !femaleQueue.isEmpty()) {
String male = maleQueue.remove();
String female = femaleQueue.remove();
System.out.println(male + " 和 " + female + " 配对成功!");
}
// 输出未配对姓名
if (!maleQueue.isEmpty()) {
System.out.println("男队未配对的姓名:");
for (String name : maleQueue) {
System.out.println(name);
}
}
if (!femaleQueue.isEmpty()) {
System.out.println("女队未配对的姓名:");
for (String name : femaleQueue) {
System.out.println(name);
}
}
// 第二轮配对
maleQueue.add("Mike");
maleQueue.add("Sam");
maleQueue.add("Tony");
femaleQueue.add("Mary");
femaleQueue.add("Emma");
femaleQueue.add("Jenny");
femaleQueue.add("Grace");
System.out.println("第二轮配对:");
while (!maleQueue.isEmpty() && !femaleQueue.isEmpty()) {
String male = maleQueue.remove();
String female = femaleQueue.remove();
System.out.println(male + " 和 " + female + " 配对成功!");
}
// 输出未配对姓名
if (!maleQueue.isEmpty()) {
System.out.println("男队未配对的姓名:");
for (String name : maleQueue) {
System.out.println(name);
}
}
if (!femaleQueue.isEmpty()) {
System.out.println("女队未配对的姓名:");
for (String name : femaleQueue) {
System.out.println(name);
}
}
}
}
```
输出结果如下:
```
第一轮配对:
Tom 和 Lucy 配对成功!
Jack 和 Lily 配对成功!
Peter 和 Kate 配对成功!
男队未配对的姓名:
David
John
女队未配对的姓名:
第二轮配对:
David 和 Mary 配对成功!
John 和 Emma 配对成功!
Mike 和 Jenny 配对成功!
男队未配对的姓名:
Peter
Tony
女队未配对的姓名:
Grace
```
阅读全文