Java 数组列表中的元素将显示在新行上
我的ArrayList每次循环时都会添加一个Java 数组列表中的元素将显示在新行上,java,string,user-interface,arraylist,joptionpane,Java,String,User Interface,Arraylist,Joptionpane,我的ArrayList每次循环时都会添加一个字符串,但是它会显示在一个大的行上。如何使每个字符串在循环时显示在JOptionPane中的新行上 以下是我的报告方法: public String report() { return(name + "\t" + height + " inches\t" + weight + " pounds\tBMI: " + df.format(bmiValue()) + "\t" + bmiStatus()
字符串
,但是它会显示在一个大的行上。如何使每个字符串在循环时显示在JOptionPane中的新行上
以下是我的报告方法:
public String report()
{
return(name + "\t" + height + " inches\t" + weight + " pounds\tBMI: "
+ df.format(bmiValue()) + "\t" + bmiStatus() );
}
下面是ArrayList的代码:
ArrayList a = new ArrayList();
if(JFileChooser.APPROVE_OPTION)
{
File f = choose.getSelectedFile();
Scanner s = new Scanner(new FileInputStream(f));
int l = scanner.nextInt();
for(int i = 0; i < l; i++)
{
int height = s.nextInt();
int weight = s.nextInt();
String name = s.nextLine();
BmiRecord r = new BmiRecord(name, height, weight);
a.add(r.report());
}
confirm = JOptionPane.showConfirmDialog(null, a, "BMI Calc",
JOptionPane.YES_NO_OPTION);
ArrayList a=新的ArrayList();
if(JFileChooser.APPROVE\u选项)
{
文件f=choose.getSelectedFile();
扫描器s=新扫描器(新文件输入流(f));
int l=scanner.nextInt();
对于(int i=0;i
您的report()函数应该是:
public String report()
{
return(name + "\t" + height + " inches\t" + weight + " pounds\tBMI: "
+ df.format(bmiValue()) + "\t" + bmiStatus() + "\n");
}
请注意,我添加了\n
,它在report()函数返回的字符串末尾添加了一个新行
另外,应将ArrayList a=new ArrayList();
更改为ArrayList a=new ArrayList();
使用ArrayList的String参数可确保类型安全,因为ArrayList只能保存字符串对象,而ArrayList是可以保存任何对象的原始类型,并且不是类型安全的