赞
踩
我想检查在给定列表中是否找到字符串.
例如,如果我有:
ArrayList list = new ArrayList();
list.add("a");
list.add("e");
list.add("i");
list.add("o");
list.add("u");
String str = "aeo";
for (int i = 0; i < list.size(); i++)
for (int j = 0; j < str.length(); j++) {
if (list.get(i).equals(str.charAt(j)))
count++;
}
System.out.println(count);
str在我的信件列表中找到,所以我必须看到我的计数值为3,因为我在列表中找到了3个匹配字符串.
无论如何,count打印值为0.
主要思想是我必须检查列表中是否找到str,无论str中字母的顺序如何.
解决方法:
您正在将String与Character进行比较,因此equals返回false.
比较字符:
for (int i = 0; i < list.size(); i++) {
for (int j=0; j < str.length(); j++) {
if (list.get(i).charAt(0) == str.charAt(j)) {
count++;
}
}
}
这假设您的列表仅包含单个字符串.顺便说一句,如果是这种情况,你可以用char []替换它:
char[] list = {'a','e','i','o','u'};
for (int i = 0; i < list.length; i++) {
for (int j = 0; j < str.length(); j++) {
if (list[i] == str.charAt(j)) {
count++;
}
}
}
标签:java,string,character
来源: https://codeday.me/bug/20190724/1523306.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。