【发布时间】:2011-12-26 17:29:27
【问题描述】:
Java 初学者使用旧教科书和 Head First: Java 书籍来弄清楚一些东西。
我有三个平行的阵列。我需要能够根据用户选择按标题、作者或页数进行排序。我可以使用Arrays.sort() 对一个数组进行排序,但我对如何对其他两个数组进行排序以对应于新排序的数组感到困惑。
假设我对BookTitle 数组进行了排序,但我需要显示其各自数组的正确作者和页数,我很困惑。
do
{
entry = JOptionPane.showInputDialog(null,
"Enter your sort preference: \n" +
"T = Sort by TITLE\n" +
"A = Sort by AUTHOR\n" +
"P = Sort by PAGE Count");
c = entry.charAt(0);
switch (c)
{
case 't':
case 'T':
Arrays.sort(BookTitle);
for (int x = 0; x < BookTitle.length; x++)
{
msg += ("Title: " + BookTitle[x] + "\n");
}
JOptionPane.showMessageDialog(null, msg);
isValid = true;
break;
case 'a':
case 'A':
isValid = true;
break;
case 'p':
case 'P':
isValid = true;
break;
default:
JOptionPane.showMessageDialog(null, "Invalid entry");
break;
}
} while (isValid == false);
【问题讨论】:
-
它们是否需要并行?因为最好的方法是拥有 1 个对象数组,其中每个对象包含标题、作者和页数。
-
把它们都放在一个类中。对该类的对象数组进行排序。或类似的东西;我不知道Java。见stackoverflow.com/questions/4018090/…