Java 字符串中元音的总数
我在说“表达式的类型必须是数组类型,但它已解析为字符串”时出错Java 字符串中元音的总数,java,string,Java,String,我在说“表达式的类型必须是数组类型,但它已解析为字符串”时出错 公共类StringWord{ 公共静态void main(字符串[]args){ 字符串s=新字符串(“Ahmedabad”); 整数计数=0; System.out.println(s.length()); 对于(int i=0;i
公共类StringWord{
公共静态void main(字符串[]args){
字符串s=新字符串(“Ahmedabad”);
整数计数=0;
System.out.println(s.length());
对于(int i=0;i
等于
方法比较两个字符串
。在这里,您要比较角色
使用s.charAt(i)
而不是s[i]
,因为您想比较两个字符。要获得字符
,可以使用索引i
字符(索引)
方法。使用两个比较两个字符==运算符
if(s.charAt(i)=='A'||s.charAt(i)=='E'||s.charAt(i)=='I'||s.charAt(i)=='O'||s.charAt(i)=='U')||s.charAt(i)=='a'||s.charAt(i)=='e'||s.charAt(i)=='i'||s.charAt(i)=='o'||s.charAt(i)=='u')
等于
方法比较两个字符串
。在这里,您要比较角色
使用s.charAt(i)
而不是s[i]
,因为您想比较两个字符。要获得字符
,可以使用索引i
字符(索引)
方法。使用两个比较两个字符==运算符
if(s.charAt(i)=='A'||s.charAt(i)=='E'||s.charAt(i)=='I'||s.charAt(i)=='O'||s.charAt(i)=='U')||s.charAt(i)=='a'||s.charAt(i)=='e'||s.charAt(i)=='i'||s.charAt(i)=='o'||s.charAt(i)=='u')
JavaString
对象不是字符数组,不能对它们使用数组语法。相反,您需要使用charAt
,它返回一个char
,而不是像您预期的那样返回一个字符串,并且您需要使用=
来比较原语:
if(s.charAt(i) == 'a' || ...)
此外,您可以使用indexOf
方法大大简化if
语句:
static final String VOWELS = "aeiouAEIOU";
for(int i = 0; i < s.length(); i++)
if(VOWELS.indexOf(s.charAt(i)) > -1
count++;
static final String元音=“aeiouAEIOU”;
对于(int i=0;i-1
计数++;
JavaString
对象不是字符数组,您不能对它们使用数组语法。相反,您需要使用charAt
,它返回一个char
,而不是您显然期望的字符串
,您需要使用=
来比较原语:
if(s.charAt(i) == 'a' || ...)
此外,您可以使用indexOf
方法大大简化if
语句:
static final String VOWELS = "aeiouAEIOU";
for(int i = 0; i < s.length(); i++)
if(VOWELS.indexOf(s.charAt(i)) > -1
count++;
static final String元音=“aeiouAEIOU”;
对于(int i=0;i-1
计数++;
是。您在这里使用的是字符串s
。那里没有索引
。使用s
中的char
数组。或者您可以使用s.charAt(索引)
是的。您在这里使用的是字符串s
。那里没有索引
。使用字符
数组从s
。或者您可以使用字符(索引)字符串
不能被某个字符串[索引]
访问(此符号用于数组)
改为使用charAt(index)
,但请注意charAt()
返回一个char
,因此您必须将其与=
进行比较,而不是与字符串所使用的equals()
进行比较
您还可以通过以下方式简化此过程:
if ("AaEeIiOoUu".contains(Character.toString(s.charAt(i))) )
{...}
someString[index]
无法访问Strings
(此符号用于数组)
改为使用charAt(index)
,但请注意charAt()
返回一个char
,因此您必须将其与=
进行比较,而不是与字符串所使用的equals()
进行比较
您还可以通过以下方式简化此过程:
if ("AaEeIiOoUu".contains(Character.toString(s.charAt(i))) )
{...}
不正确。请忽略
您需要将字符串转换为数组
s.ToCharArray();
注意:这是c代码,我不知道它是否与java相似。不正确。请忽略
您需要将字符串转换为数组
s.ToCharArray();
注意:这是c#代码,我不知道它是否与java相似。您的变量s
是一个字符串
,但您通过执行s[I]
将其视为一个数组
你应该使用
s.charAt(i)//字符串类的一种方法,返回索引i处的字符
您的变量s
不是s[i],而是String
,但您通过执行s[i]
将其视为数组
你应该使用
s.charAt(i)//字符串类的一种方法,返回索引i处的字符
我们知道你的意思,s[i]
不,s.charAt(i)='A'
@Rahul,但是如果你明确提到为什么应该使用charAt()
,并且[]
不能用于访问字符串中的字符
@JasonC Ok.。我会的。不,s.charAt(i)=='A'
@Rahul我们知道你的意思,但是如果你明确提到为什么应该使用charAt()
,并且[]
不能用于访问字符串中的字符@JasonC好的..我会的。将字符串转换为数组将允许你使用[]
访问字符,但您不“需要”执行OP试图执行的任务。@Jason好的。谢谢您的澄清。我不熟悉java,所以我不确定我是否正确哈哈。将字符串转换为数组将允许您使用[]
访问字符,但您不“需要”这样做是为了执行OP试图执行的任务。@Jason好的。谢谢你的澄清。我不熟悉java,所以我不确定我是否正确哈哈。