编写一个程序模拟签到。每个来签到的人都把姓名输入进去(如果有重复则忽略掉),最后输入0表示结束。然后程序把各个签到的姓名都显示出来,每行一个姓名。 程序结构大致如下: (1)设计一个Sign类,里面有一个String names变量,用于储存多个人的姓名(每个姓名后面加一个换行符); (2)在Sign类里设计一个方法void addName(String name),用于添加新的姓名; (3)在Sign类里设计一个方法void show(),用于显示最终所有签到的姓名。 (4)设计一个主类TestSign,采用while无限循环的方式去读取用户输入的姓名,直到输入是0时才结束
时间: 2023-05-13 13:04:57 浏览: 53
以下是程序的完整代码:
```
import java.util.HashSet;
import java.util.Scanner;
class Sign {
private String names;
public Sign() {
names = "";
}
public void addName(String name) {
names += name + "\n";
}
public void show() {
System.out.println(names);
}
}
public class TestSign {
public static void main(String[] args) {
Sign sign = new Sign();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("请输入姓名(输入0结束):");
String name = scanner.nextLine();
if (name.equals("0")) {
break;
}
if (!name.isEmpty()) {
sign.addName(name);
}
}
System.out.println("签到名单如下:");
sign.show();
}
}
```
这个程序模拟了一个签到系统,用户可以输入多个姓名,程序会自动去重并储存这些姓名,最后将所有签到的姓名显示出来。