【发布时间】:2018-02-26 09:50:23
【问题描述】:
我们的任务是制作一个接受用户输入的程序。用户可以使用两种类型的输入,第一种是“输入尺寸”,第二种是“输入样式”,用户可以在第一个字段或第二个字段中输入。当用户点击确定时,这两个输入将用于排序一个数组列表,其中包含大小和样式的类型。
public void viewResult(String style, String size) {
style = style.toLowerCase();
size = size.toLowerCase();
new_list = new ArrayList<>();
for(Items_container items:current_arrayList)
{
if (items.getStyle().toLowerCase().contains(style) && items.getSize().toLowerCase().contains(size))
{
new_list.add(items);
break;
}
else if (items.getSize().toLowerCase().contains(size)) {
new_list.add(items);
break;
}
else if (items.getStyle().toLowerCase().contains(style)) {
new_list.add(items);
break;
}
}
current_arraylist.clear();
adapter.filterSearch(new_list);
if (new_list.size() == 0) {
results.setText("Search not found");
} else {
results.setText("Results");
}
}
这是我用来整理 Items_container 的方法,现在它确实可以正常工作(我猜)
但问题是,例如,用户在尺寸输入字段中输入“大”,在样式输入字段中输入“耀眼”,程序必须使用给定的输入对 items_container 进行排序,但它不起作用,因为程序还包括所有具有相同尺寸或相同样式的项目。
我尝试在循环中添加一个中断,但现在它只显示一个数据,如果有两个或更多数据与给定输入匹配,我该怎么做?
【问题讨论】:
-
为什么你没有一个 OR 块而不是上面的 3 个条件?
-
那么我将如何区分条件呢?
-
只有第一个条件但是放||而不是 &&。
-
哦,好吧,我想效率更高