java输入多个男生,多个女生,并为第一个随机产生编号,编号相同的男生和女生相亲,并输出
时间: 2024-04-10 19:35:01 浏览: 11
好的,下面是修改后的Java代码,实现了输入多个男生和多个女生,并为第一个随机产生编号,然后将编号相同的男生和女生进行相亲,并输出结果:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
class Person {
private String name;
private int id;
public Person(String name, int id) {
this.name = name;
this.id = id;
}
public String getName() {
return name;
}
public int getId() {
return id;
}
}
public class Matchmaking {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<Person> males = new ArrayList<>();
List<Person> females = new ArrayList<>();
// 输入男生的信息
System.out.print("请输入男生的数量:");
int maleCount = scanner.nextInt();
for (int i = 0; i < maleCount; i++) {
System.out.print("请输入第" + (i + 1) + "个男生的姓名:");
String maleName = scanner.next();
males.add(new Person(maleName, i + 1));
}
// 输入女生的信息
System.out.print("请输入女生的数量:");
int femaleCount = scanner.nextInt();
for (int i = 0; i < femaleCount; i++) {
System.out.print("请输入第" + (i + 1) + "个女生的姓名:");
String femaleName = scanner.next();
females.add(new Person(femaleName, i + 1));
}
// 随机分配相亲
Random random = new Random();
int maxCount = Math.min(males.size(), females.size());
for (int i = 0; i < maxCount; i++) {
Person male = males.get(i);
Person female = females.get(i);
System.out.println(male.getName() + " 和 " + female.getName() + " 相亲了!");
}
}
}
```
这段代码在之前的基础上进行了修改,增加了通过用户输入方式动态获取男生和女生的数量和姓名。首先,我们创建了一个Scanner对象来读取用户输入。
然后,通过用户输入的男生数量,在循环中逐个获取男生的姓名并添加到males列表中。同样地,通过用户输入的女生数量,在循环中逐个获取女生的姓名并添加到females列表中。
接下来,我们使用随机数生成器来随机分配相亲。由于编号是随机生成的,所以我们只能取两个列表中较小的长度进行相亲配对。在循环中,我们通过get方法分别获取男生和女生,并输出相亲信息。
请根据你的实际需求进行修改和扩展。希望对你有帮助!