Java 如何在JOptionPane中打印一组for循环数组?

Java 如何在JOptionPane中打印一组for循环数组?,java,swing,joptionpane,Java,Swing,Joptionpane,这是我的原始代码,用于打印输入到程序中的信息,旨在创建一个漂亮的小表格,左侧显示导师姓名,右侧显示他们的工资,底部显示所有人的总工资: System.out.println("Tutor Stipend Report"); System.out.println("Tutors\t\tPay"); System.out.println("------\t\t---"); for(int out=0;out<numOfTutors;out++) { System.out.println

这是我的原始代码,用于打印输入到程序中的信息,旨在创建一个漂亮的小表格,左侧显示导师姓名,右侧显示他们的工资,底部显示所有人的总工资:

System.out.println("Tutor Stipend Report");
System.out.println("Tutors\t\tPay");
System.out.println("------\t\t---");
for(int out=0;out<numOfTutors;out++) {
    System.out.println(names[out]+"\t\t"+stipend[out]);
}
System.out.println("--------");
System.out.println("Total: " +sum);

您需要将调用移动到
JOptionPane.showMessageDialog
for-循环的
外部

退房。这对这类事情很有帮助:

StringBuilder sb = new StringBuilder();
sb.append("There are ").append(count).append(" people in the following list:\n");
for (int i = 0; i < count; i++) {
    sb.append("Person #").append(count).append('\n');
}
JOptionPane.showMessageDialog(null, sb.toString());
StringBuilder sb=新建StringBuilder();
sb.append(“有”).append(count.append(“以下列表中的人:\n”);
for(int i=0;i
您需要将调用移动到
JOptionPane.showMessageDialog
for
-循环的
外部

退房。这对这类事情很有帮助:

StringBuilder sb = new StringBuilder();
sb.append("There are ").append(count).append(" people in the following list:\n");
for (int i = 0; i < count; i++) {
    sb.append("Person #").append(count).append('\n');
}
JOptionPane.showMessageDialog(null, sb.toString());
StringBuilder sb=新建StringBuilder();
sb.append(“有”).append(count.append(“以下列表中的人:\n”);
for(int i=0;i
问题在于,由于您在循环中调用了
JOptionPane.showMessageDialog
,它将执行3次。您应该做的是将要打印的字符串连接到一个字符串对象中,如下所示:

String toBeDisplayed = "";
for(int out=0;out<numOfTutors;out++) {
   toBeDisplayed += /*.. add your string here.. */;
}

JOptionPane.showMessageDialog(null, toBeDisplayed);
String toBeDisplayed=“”;

对于(int out=0;out而言,问题在于,由于您在循环中调用了
JOptionPane.showMessageDialog
,它将执行3次。您应该做的是将要打印的字符串连接到一个字符串对象中,如下所示:

String toBeDisplayed = "";
for(int out=0;out<numOfTutors;out++) {
   toBeDisplayed += /*.. add your string here.. */;
}

JOptionPane.showMessageDialog(null, toBeDisplayed);
String toBeDisplayed=“”;

对于(int out=0;out+1),解决方案很好,正如旁注一样,您还可以将文本包装在
标记中,并使用HTML格式(例如
)为了产生更好的格式化结果-JFYIThis解决方案工作得非常好,非常感谢,我从未听说过StringBuilder,但它是一个伟大的解决方案。+1该解决方案很好,正如旁注所示,您还可以将文本包装在
标记中,并使用HTML格式(例如
)为了产生更好的格式化结果-JFYIThis解决方案工作得非常完美,非常感谢,我从未听说过StringBuilder,但它是一个很棒的解决方案。感谢您的回复,我最终选择了StringBuilder,正如前一位用户告诉我的,再次感谢您。感谢您的回复,我最终选择了StringBuilder根据前一位用户告诉我的,再次感谢您。