java - 如何将对象数组合并为单个格式化字符串

标签 java arrays string swing

过去 2 小时我一直在寻找这个答案,但没有成功,所以我现在发布我的问题。如果它与已经提出的问题类似,我很抱歉,但我无法从已经回答的内容中得到明确的答案。

这里是:

我正在做一个学校项目,其中我们读取“计算机”对象的文本文件(这种形式总共有 8 个字段:manufacturer:model:memory:diskMemory:CPU:opticalDrive:OSVersion:零售价) 读取文件后,您应该分隔字段并使用接受所有上述参数(分隔)的构造函数构造一个 Computer 对象数组,并将它们的引用存储在数组的每个位置。

这是我的问题: 然后显示一个菜单,用户选择几个选项,最简单的就是在 JOPtionPane 上以以下形式显示计算机对象列表:

Manufacturer1     model1     memory1     disk1     CPU1 optical1     OS1     retailPrice1
Manufacturer2     model2     memory2     disk2     CPU2 optical2     OS2     retailPrice2

依此类推,直到完成数组。我无法弄清楚如何将对象数组压缩为上面形式的单个字符串。 Computer 类对每个字段都有一个 getMethod ,我只是很难让它们以这种方式对齐。它必须位于简单的 .INFORMATION_MESSAGE 类型的 JOPtionPane 上。如果你们都需要查看计算机类代码,请告诉我,我可以发布它。这是我第一次在这个网站上发帖,如果内容不恰当,我深表歉意。

非常感谢您的帮助, 鲍勃

编辑: 输出应如下所示: http://i229.photobucket.com/albums/ee38/Yukijin-Uchiha/ScreenShot2014-03-14at113759AM_zps05b5dbb5.png

最佳答案

如果你正确地实现了ComputertoString()函数,你应该得到你想要的。例如:

public class Computer  {
   public String toString()  {
      return  (new StringBuilder(getManufacturer()).append(":").
         append(getModel()).append(":").
         append(getMemory()).append(":").
         append(getDiskMemory()).append(":").
         append(getCPU()).append(":").
         append(getOpticalDrive()).append(":").
         append(getOSVersion()).append(":").
         append(getRetailPrice()).
      toString();
   }
}

然后调用它

String computerObjAsString = aComputerInstance.toString();

要使用 Computer 对象数组来执行此操作:

StringBuilder outBldr = new StringBuilder();
for(Computer cmptr : anArrayOfComputers)  {
   outBldr.append(cmptr).append(System.getPropetry("line.separator", "\r\n"));
}
System.out.println(outBldr);

关于java - 如何将对象数组合并为单个格式化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22409087/

相关文章:

java - 如何在PHP服务器上显示android POST字符串?

java - <mvc :resources> - Does it cache to memory? Spring 4.0.5

arrays - Array 与 ArraySeq 比较

java - java中无法编译的源代码错误

java - 用 ".split"分割字符串,但将分隔符(字符串)保留在匹配数组中

php - 截断字符串,但删除字符串的中间而不是结尾

java - Java写意画

java - 当我从 Eclipse (Juno) 运行 Sonar 本地分析时出错 - 我使用 maven 来构建

javascript - 比较 2 个或更多排序数组 javascript

string - 使用scala开头的后缀数组