我创建了一个类型为Car的对象,并使用品牌,型号,年份,里程作为变量,
程序从中读取文件,并通过链接列表中的显示显示已排序和未排序的版本。我创建了一个将值添加到对象的类。我应该如何修改代码,以便在用户输入输入(例如福特)时,GUI仅显示名为福特的Cars的值?具有和对象
的对象这里是指向我要显示的GUI的链接,我想在排序列表中仅显示与用户输入的输入相同的值。
String menuName = event.getActionCommand();`
String input;
// if clicked "Add," prompt user for input dialog
// and if valid RN, add it to each list,
// then display the list to reflect the addition
if (menuName.equals("Add")) {
input = JOptionPane.showInputDialog(null, "Enter a Car to add:");
try {
StringTokenizer st = new StringTokenizer(input);
Car cr = new Car(st.nextToken(), st.nextToken(), Integer.parseInt(st.nextToken()),
Integer.parseInt(st.nextToken()));
crGUI.inOrder.add(cr);
crGUI.sorted.add(cr);
} catch (IllegalArgumentException iae) {
JOptionPane.showMessageDialog(null, "Illegal Car: " + input);
System.out.println("Illegal Car: " + input);
}
crGUI.displaySorted();
crGUI.displayUnsorted();
} } }
答案 0 :(得分:0)
如果crGui.displaySorted()可以检查它是哪种类型。如果您通过它,可能是某种字符串?
答案 1 :(得分:0)
满足您需求的最佳方法可能是使用以“ make”为键的键映射和对象列表为值的哈希映射。
Hashmap<string,List<Car>> carGui = new Hashmap<string,List<Car>>();
使用提供的代码,我无法理解carGui的整个范围。也许这可以给你一个主意。