感谢您花时间查看我的另一个问题。
这似乎是一个基本问题,但我无法解决。
我正在开发一个项目,其中包含员工并拥有这些员工工作的部门。
我制作了一个 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));
}
有人可以帮助我如何正确编码吗,以便每个部门都单独编号。
最佳答案
您似乎没有将任何换行符 ( \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());
我在本示例的部门名称中使用了示例字符串,因为我不确定您想要它来自哪里。
关于java - Java Gui 中的 setText 问题 JGui 在 Java 中编号不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7886838/