for(int j=0 ; j<str.length() ; j++) {
if(char[j]==(a||e||i||o||u))
count++;
}
我知道的结果(a||e||i||o||u)
是布尔值,因此无法进行比较,但是我们如何检查是否存在多个字符?
这不是您想要的。请使用堆栈switch
语句:
for(int j = 0; j < str.length(); j++)
switch(str.charAt(j)) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
count++;
}
或者,由于我是 正则表达式的狂热者 ,因此这是一种使用 正则表达式 的方法!:)
Matcher matcher = Pattern.compile("[aeiou]").matcher(str);
while(matcher.find())
count++;
由于user2980077
,此后修复的代码中有一个错误
问题内容: 我想知道如何在一行中比较多个字符串。我尝试使用|| 但不适用于布尔值或字符串。这是我的代码是什么样的: 对于那些将其标记为重复的对象,我在此处检查了200多个关于堆栈溢出的问题,但没有一个起作用。@Chrylis发布的一个实际上没有帮助。他们只是在问==和.equals()的区别 问题答案: 首先,不要用于字符串。稍后您将了解原因。您想按字符串的内容而不是它们在内存中的位置比较字符串。
如何检查一个字符串是否在另一个字符串中,但匹配项需要在前面,而不是中间或最后。例如,a="
问题内容: 我有一个简单的疑问。如果有人帮助我,那就太好了。 我有两个字符串: 这两个值相等,但是如何在Java中比较它们呢?我们拥有并用于比较字符串alpha值,类似地,如何比较数字值。 问题答案: 这就对了。您可以使用方法将数字字符串转换为整数,该方法将返回类型。然后比较与相同。
问题内容: 我是Java的新手,为了实践起见,我试图创建一个十六进制到十进制的数字转换器,因为我已经成功地制作了一个二进制到十进制的转换器。 我遇到的问题基本上是将一个字符串中的给定字符与另一个字符串进行比较。这就是我定义要比较的当前字符的方式: 这是我尝试比较角色的方法: 当我尝试通过仅输入数字(例如12)来运行代码时,它可以工作,但是当我尝试使用“ b”时,会出现一个奇怪的错误。这是运行程序的
问题内容: 我从书中看到以下代码: 但没有提到为什么“一个”大于“四个”。我试过了,它小于a和b。我想知道JavaScript如何比较这些字符串。 问题答案: 因为和许多编程语言一样,字符串是按字典顺序进行比较的。 你可以认为这是一个空想家版本的字母顺序,区别在于字母排序仅覆盖了26个字符通过。