Java 输出在同一行上打印,如何更改?

Java 输出在同一行上打印,如何更改?,java,data-structures,Java,Data Structures,当我添加多个团队成员,然后显示包含所有团队成员的项目时,团队成员将显示在一行中。我不知道如何在最后一个选项下显示每个成员。 我该怎么做 public class Company { public String projectTitle; public int startDate; public int endDate; private BinaryTree<Project> projects = new BinaryTree<>();

当我添加多个团队成员,然后显示包含所有团队成员的项目时,团队成员将显示在一行中。我不知道如何在最后一个选项下显示每个成员。 我该怎么做

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);
  }
}
上市公司{
公共字符串项目名称;
公共国际起始日期;
公共int endDate;
私有BinaryTree项目=新建BinaryTree();
//建造师
上市公司(字符串项目名称、起始日期、结束日期){
this.projectTitle=项目标题;
this.startDate=startDate;
this.endDate=endDate;
}
//将项目添加到系统中
公共项目(项目p){
如果(本项目添加(p))
System.out.println(p.getTitle()+“添加”);
else System.out.println(“系统中的项目”);
}
//将团队成员添加到项目中
public void addTeamMemberToProject(项目项目,团队成员团队成员){
项目。添加团队成员(团队成员);
}
//查找和显示项目
公共无效FindDisplayByTitle(字符串s){
项目p=findProjectByTitle;
System.out.println(p!=null?(“Title\t\t\t\t成员\n”+p.toString()):“Project”+s+“未找到”);
}
公共项目findProjectByTitle(字符串s){
returnprojects.find(新项目,getString(“输入开始日期”),getString(“输入结束日期”));
}
//显示系统中的所有项目
public void displayAllProjects(){
字符串s=projects.toString();
如果(s!=null)System.out.println(“Title\t\t\t\t成员\n”+s);
else System.out.println(“无项目”);
}
}
公共类项目实现了可比较的{
私有字符串标题;
//存储团队成员的arraylist
private ArrayList teamMembers=new ArrayList();
公共项目(字符串标题、字符串输入开始日期、字符串输入结束日期){
this.title=标题;
}
@凌驾
公共布尔等于(对象o){
试一试{
返回此.title.equals(((项目)o).title);
}捕获(例外e){
返回false;
}
}
//显示团队成员和标题
@凌驾
公共字符串toString(){
字符串s=标题;
if(teamMembers.isEmpty()){
s+=“\t\t无成员”;
}否则{
s+=“\t\t”;
对于(团队成员t:团队成员){
s++=“t.getName()+”;
}
}
返回s;
}
@凌驾
公共内部比较(项目){
将此.title.compareTo(project.title)返回到(project.title);
}
//添加团队成员
public void addTeamMember(TeamMember TeamMember){
this.teamMembers.add(teamMember);
}
//显示团队成员的排序数组
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());
}
//按姓名查找团队成员
公共团队成员findTeamMember(字符串s){
对于(团队成员t:团队成员){
如果(t.getName().toLowerCase().contains(s.toLowerCase()))返回t;
}
返回null;
}
//展示团队成员
public void displayTeamMember(字符串){
TeamMember t=findTeamMember(字符串);
System.out.println(t!=null?(“Name\t\t\t\t\tAge\n”+t.toString()):“团队成员”+null+“未找到”);
}
公共ArrayList getTeamMembers(){
返回此.teamMembers;
}
公共字符串getTitle(){
返回标题;
}       
}
公共类TeamMember实现了可比较的{
私有字符串名称;
私人国际雇员;
私人互联网;
//建造师
公共团队成员(字符串名称、int-employeeNo、int-age){
this.name=名称;
this.employeeNo=employeeNo;
这个。年龄=年龄;
}
@凌驾
公共布尔等于(对象o){
试一试{
返回此.name.equals(((团队成员)o).name);
}捕获(例外e){
返回false;
}
}
//显示团队成员的姓名、员工编号和年龄
@凌驾
公共字符串toString(){
返回name+“\t\t”+employeeNo+“\t\t”+年龄;
}
公共字符串getName(){
返回名称;
}
@凌驾
公共int比较(团队成员团队成员){
返回this.name.compareTo(teamMember.name);
}
}

我不知道需要修改什么才能让第二个团队成员显示在第一个团队成员下面

for (TeamMember t : teamMembers) {
                s += " " + t.getName() + " ";
            }
这将使您的所有团队成员处于同一条线上。如果要按行拆分,请按如下方式尝试:

for (TeamMember t : teamMembers) {
                s += " " + t.getName() + "\n";
            }
\字符串中的n将强制生成特征线