【发布时间】:2021-05-22 10:33:47
【问题描述】:
我想检查输入是否包含"Cheese Sandwich", "Corn Sandwich" 和"Mix Veg Sandwich"。条件是:
- 如果输入的输入与
Arraylist<String>中存储的元素匹配,则打印出元素。- 如果输入与
Arraylist中存储的元素不匹配,则打印Incorrect Input。- 如果输入可以包含以逗号分隔的长字符串,则必须忽略逗号并打印出逗号之间的字符串。
在我的程序中,我创建了一个列表并将这三个字符串存储在其中,然后循环它们并检查输入是否与存储的元素匹配。问题是当输入以字符串的形式给出,然后用逗号添加这些元素时,它没有给我任何或不正确的输入。如何忽略逗号并将要打印的字符串拆分如下。
示例:
String Input = "Cheese Sandwich, Corn Sandwich, Mix Veg Sandwich";
预期输出
cheese sandwich
corn sandwich
mix veg sandwich
我的计划
static void storeElements(String input) {
List<String> sandwiches = new ArrayList<>();
sandwiches.add("corn sandwich");
sandwiches.add("mix veg sandwich");
sandwiches.add("cheese sandwich");
sandwiches.add("mix veg sandwich");
sandwiches.add("cheese sandwich");
boolean a = sandwiches.contains(input);
boolean b = input.contains(",");
List<String> list = new ArrayList(Arrays.asList(input.split(",")));
我不知道怎么做这个ArrayList检查逗号
在字符串输入中,然后验证输入是否与存储的 ArrayList 三明治中的元素之一匹配。
for (int i = 0; i < input.length(); i++) {
if (b) {
for (String c : sandwiches) {
if (a) {
System.out.println(c);
}
else {
System.out.println("Incorrect Input");
}
}
}
}
}
【问题讨论】:
-
你是什么意思:“将字符串打印到数组列表中”?如果需要检查列表是否包含 c,为什么还要检查 if(a)?
-
我还有一个问题:if input exist in element..是什么意思?
-
@GiorgiTsiklauri 我想他的意思是:如果元素在列表中,则打印元素。
-
@Stultuske 然后他/她必须澄清,这是否可以是一个空字符串元素。
-
另外,如果您正在处理“输入”,那么这个 ArrayList 在这种情况下必须做什么?请edit您的问题,使其更清晰并定义您要解决的确切问题。
标签: java validation arraylist input