java - 输出在同一行打印,我该如何更改?
问题描述
当我添加多个团队成员,然后将项目与所有团队成员一起显示时,团队成员将显示在一行中。我不知道如何在最后一个成员下显示每个成员。我该怎么做?
public class Company {
public String projectTitle;
public int startDate;
public int endDate;
private BinaryTree<Project> projects = new BinaryTree<>();
//constructor
public Company(String projectTitle, int startDate, int endDate) {
this.projectTitle = projectTitle;
this.startDate = startDate;
this.endDate = endDate;
}
//add a project to system
public void addProject(Project p){
if(this.projects.add(p))
System.out.println(p.getTitle() + " added");
else System.out.println("Project already in system");
}
//add team member to project
public void addTeamMemberToProject(Project project, TeamMember teamMember){
project.addTeamMember(teamMember);
}
//find and display project
public void findAndDisplayByTitle(String s){
Project p = findProjectByTitle(s);
System.out.println(p != null?("Title\t\t\t\t\tMembers\n"+p.toString()):"Project " + s + " not found");
}
public Project findProjectByTitle(String s){
return projects.find(new Project(s, getString("Enter start date"), getString("Enter end date")));
}
//display all projects in system
public void displayAllProjects(){
String s = projects.toString();
if(s != null)System.out.println("Title \t\t\t\t\t Member \n" + s);
else System.out.println("No Projects");
}
}
public class Project implements Comparable<Project> {
private String title;
//arraylist to store team members
private ArrayList<TeamMember> teamMembers = new ArrayList<>();
public Project(String title, String enter_start_date, String enter_end_date) {
this.title = title;
}
@Override
public boolean equals(Object o) {
try {
return this.title.equals(((Project) o).title);
}catch (Exception e){
return false;
}
}
//display team members and title
@Override
public String toString() {
String s = title;
if(teamMembers.isEmpty()) {
s += "\t\t No Members";
}else {
s+="\t\t";
for (TeamMember t : teamMembers) {
s += " " + t.getName() + " ";
}
}
return s;
}
@Override
public int compareTo(Project project) {
return this.title.compareTo(project.title);
}
//add team member
public void addTeamMember(TeamMember teamMember) {
this.teamMembers.add(teamMember);
}
//display sorted array of team members
public void displayTeamMembers(){
System.out.println("Name\t\t\t\t\tAge");
Arrays.sort(teamMembers.toArray());
for(TeamMember t : teamMembers) System.out.println(t.toString());
}
//find team member by name
public TeamMember findTeamMember(String s){
for (TeamMember t: teamMembers) {
if(t.getName().toLowerCase().contains(s.toLowerCase())) return t;
}
return null;
}
//display team member
public void displayTeamMember(String string) {
TeamMember t = findTeamMember(string);
System.out.println(t!=null?("Name\t\t\t\t\tAge\n"+t.toString()):"Team Member " + null + " not found");
}
public ArrayList<TeamMember> getTeamMembers() {
return this.teamMembers;
}
public String getTitle() {
return title;
}
}
public class TeamMember implements Comparable<TeamMember> {
private String name;
private int employeeNo;
private int age;
//constructor
public TeamMember(String name, int employeeNo, int age) {
this.name = name;
this.employeeNo = employeeNo;
this.age = age;
}
@Override
public boolean equals(Object o) {
try {
return this.name.equals(((TeamMember) o).name);
}catch (Exception e){
return false;
}
}
//display name, employeeNo and age of team member
@Override
public String toString() {
return name + "\t\t " + employeeNo + "\t\t " + age;
}
public String getName() {
return name;
}
@Override
public int compareTo(TeamMember teamMember) {
return this.name.compareTo(teamMember.name);
}
}
我不知道需要改变什么才能让第二个团队成员显示在第一个团队成员之下。
解决方案
for (TeamMember t : teamMembers) {
s += " " + t.getName() + " ";
}
这会将您的所有团队成员放在一行中。如果要按行拆分,请尝试如下:
for (TeamMember t : teamMembers) {
s += " " + t.getName() + "\n";
}
字符串中的 \n 将强制使用断线
推荐阅读
- google-bigquery - BigQuery 中的 T-SQL 游标交替出现
- swagger - 使用 Swagger 2.0 为原始属性创建不同类型
- python - xlsxwriter 引擎下的条件格式
- javascript - 未捕获的类型错误:$(...).cropper 不是函数 -cropper.js
- amazon-web-services - 使用 AWS Lambda/API Gateway 授权 google 服务账户
- android - Android - 将 Firebase 查询结果转换为字符串
- python - cpaste IPython 不粘贴内容
- iec61131-3 - IEC 61131-3 编程中的 SFC 步骤
- sql - oracle查询合并为一
- r - 如何在R中对双(数字)变量进行分类?我想创建一个二项式类别