1

感谢您花时间查看我的另一个问题。

这似乎是一个基本问题,但我无法解决。

我正在开发一个包含员工的项目,并有这些员工所在的部门。

我制作了一个 setText 框,它通过 for 循环打印出包含列表中所有部门的数组列表的内容。

我希望每个部门都有编号,你知道第 1 部门:巴西销售地点,第 2 部门:美国营销地点。依此类推,但它正在这样做:将它们全部打印在同一行上。

部门编号:3 部门编号:2 部门编号:1 部门名称:市场部 地点:纽约 部门名称:销售部 地点:波士顿 部门名称:会计部 地点:洛杉矶

我使用的代码是这个

//prints a list of all employees in the system for user to choose from
for (int i = 0; i <  allDepartments.size(); i++) {
    System.out.print("Department no: ");
    departmentDetails.setText("Department no: "+(i+1)+departmentDetails.getText()+" "+ allDepartments.get(i));
    System.out.print(  allDepartments .get(i));
}

有人可以帮助我如何正确编码它,以便每个部门都单独编号。

4

1 回答 1

0

您似乎没有将任何换行符 ( \n) 放入您的字符串中。

您似乎还使用文本字段的内容作为部门详细信息,这就是您获得该department3 department2 department1 <details> loc1 loc2 loc3行为的原因。循环中的每一遍都将“department#”添加到字符串的开头,将“loc#”添加到末尾。循环期间的文本内容将如下所示:

department1 <details> loc1
department2 department1 <details> loc1 loc2
department3 department2 department1 <details> loc1 loc2 loc3

为避免与附加字符串混淆,请尝试在循环中使用 StringBuilder 并在之后处理构建的字符串:

StringBuilder departments = new StringBuilder();
//prints a list of all employees in the system for user to choose from
for (int i = 0; i < allDepartments.size(); i++) {
    departments.append("Department no: ");
    departments.append(i + 1);
    departments.append(" Department name: ");
    departments.append("<departmentDetails>");
    departments.append(" Location: ");
    departments.append(allDepartments.get(i));
    departments.append('\n');
}
System.out.println(departments.toString());

我在此示例的部门名称中使用了一个示例字符串,因为我不确定您希望它来自哪里。

于 2011-10-25T09:10:56.013 回答