Java 有多少个元音?
我需要让代码告诉用户第一个字符串和第二个字符串中有多少个元音(a、e、I、o、u)。这是我到目前为止所做的工作,但我被困在如何打印总共有多少个元音的问题上Java 有多少个元音?,java,Java,我需要让代码告诉用户第一个字符串和第二个字符串中有多少个元音(a、e、I、o、u)。这是我到目前为止所做的工作,但我被困在如何打印总共有多少个元音的问题上 Scanner in=new Scanner(System.in); System.out.println( "Enter String 1: "); String s1=in.next(); System.out.println( "Enter String 2: "); String s2=in.next
Scanner in=new Scanner(System.in);
System.out.println( "Enter String 1: ");
String s1=in.next();
System.out.println( "Enter String 2: ");
String s2=in.next();
int a= s1.length();
int b= s2.length();
if (a<b)
System.out.println( s2 + "is longer than " + s1);
else if (b<a)
System.out.println( s1 + " is longer than " + s2);
else
System.out.println(s1 + " and " + s2 + " are the same length.");
int c=(s1.indexOf(('a')));
int d=(s1.indexOf(('e')));
int e=(s1.indexOf(('o')));
int f=(s1.indexOf(('i')));
int g=(s1.indexOf(('u')));
if (c>=0)
System.out.println( "AFFIRMATIVE FOR A");
if (d>=0)
System.out.println( "AFFIRMATIVE FOR E");
if (e>=0)
System.out.println( "AFFIRMAtive fOR O");
if (f>=0)
System.out.println( "AFFIRMATIVE for I");
if (g>=0)
System.out.println( "AFFIRMATIVE for U");
Scanner-in=新的扫描仪(System.in);
System.out.println(“输入字符串1:”);
字符串s1=in.next();
System.out.println(“输入字符串2:”);
字符串s2=in.next();
int a=s1.length();
int b=s2.length();
如果(a=0)
System.out.println(“E为肯定”);
如果(e>=0)
System.out.println(“O的肯定值”);
如果(f>=0)
System.out.println(“对I的肯定”);
如果(g>=0)
System.out.println(“U的肯定值”);
试试看
试一试
请尝试此代码段
int a=0,o=0,i=0,e=0,u=0;
for (int ii = 0;ii<s1.length();ii++)
{
if (s1.charAt(ii)=='a')a++;
if (s1.charAt(ii)=='o')o++;
if (s1.charAt(ii)=='i')i++;
if (s1.charAt(ii)=='u')u++;
if (s1.charAt(ii)=='e')e++;
}
for (int ii = 0;ii<s2.length();ii++)
{
if (s2.charAt(ii)=='a')a++;
if (s2.charAt(ii)=='o')o++;
if (s2.charAt(ii)=='i')i++;
if (s2.charAt(ii)=='u')u++;
if (s2.charAt(ii)=='e')e++;
}
int total = a+o+i+u+e;
System.out.println (total);
inta=0,o=0,i=0,e=0,u=0;
对于(intii=0;ii请尝试此代码段
int a=0,o=0,i=0,e=0,u=0;
for (int ii = 0;ii<s1.length();ii++)
{
if (s1.charAt(ii)=='a')a++;
if (s1.charAt(ii)=='o')o++;
if (s1.charAt(ii)=='i')i++;
if (s1.charAt(ii)=='u')u++;
if (s1.charAt(ii)=='e')e++;
}
for (int ii = 0;ii<s2.length();ii++)
{
if (s2.charAt(ii)=='a')a++;
if (s2.charAt(ii)=='o')o++;
if (s2.charAt(ii)=='i')i++;
if (s2.charAt(ii)=='u')u++;
if (s2.charAt(ii)=='e')e++;
}
int total = a+o+i+u+e;
System.out.println (total);
inta=0,o=0,i=0,e=0,u=0;
对于(intii=0;ii,就像我上面的那个家伙说的,你需要设置一个名为totalvouels的变量(或类似的东西),并在每次遇到元音时递增它
我将使用您自己的代码(使其更容易),并对其进行一些修改,以便您能够理解我的意思
int totalVowels=0;
int letterA=(s1.indexOf(('a')));
int letterE=(s1.indexOf(('e')));
int letterO=(s1.indexOf(('o')));
int letterI=(s1.indexOf(('i')));
int letterU=(s1.indexOf(('u')));
if(letterA >=0){
totalVowels ++; (this increments the total number of vowels)
}
if(letterE >=0){
totalVowels ++;
}
if(letterO >=0){
totalVowels ++;
}
if(letterI >=0){
totalVowels ++;
}
if(letterU >=0){
totalVowels ++;
}
System.out.println ("String1 contains" + totalVowels +" of the 5 vowels");
totalVowels =0;
现在,这并不是最好的方法,但它严格遵循您的代码,应该可以完成这项工作。就像我上面的那个人说的,您需要设置一个名为totalvorels(或类似的)的变量,并在每次遇到元音时递增它
我将使用您自己的代码(使其更容易),并对其进行一些修改,以便您能够理解我的意思
int totalVowels=0;
int letterA=(s1.indexOf(('a')));
int letterE=(s1.indexOf(('e')));
int letterO=(s1.indexOf(('o')));
int letterI=(s1.indexOf(('i')));
int letterU=(s1.indexOf(('u')));
if(letterA >=0){
totalVowels ++; (this increments the total number of vowels)
}
if(letterE >=0){
totalVowels ++;
}
if(letterO >=0){
totalVowels ++;
}
if(letterI >=0){
totalVowels ++;
}
if(letterU >=0){
totalVowels ++;
}
System.out.println ("String1 contains" + totalVowels +" of the 5 vowels");
totalVowels =0;
现在这并不是最好的方法,但它紧跟着你的代码,应该可以完成这项工作。你需要另一个变量,可能叫做totalVowels
或其他什么,你可以在每个if语句中增加它。这样,当你完成if语句时,你已经计算到了总数。在我之前为了提供帮助,我真的建议你对变量使用更多描述性名称。这可能是你被否决的主要原因。另外,确切的问题是什么?你需要打印每个元音出现多少个实例吗?@Seeker谢谢。我需要一行字,上面写着“”(字符串1)包含5个元音中的uu。这是唯一的一行。@0101001101000010听起来你是对的,但是我应该在每个if语句中添加什么?@J.Cole在每个if语句中只需在System.out.println
行下添加totalvowells++
。这样,每当一个元音在字符串中,计数器都会添加一个。你需要另一个变量,可能称为totalVowels
或其他什么,在每个if语句中递增。这样,当您完成if语句时,您已经计算到了总数。在我尝试提供帮助之前,我建议您对变量使用更具描述性的名称。这可能是y的主要原因你被否决了。另外,确切的问题是什么?你需要打印每个元音出现多少个实例吗?@Seeker谢谢。我需要一行字,上面写着,“(字符串1)包含5个元音中的uu。这是唯一的一行。@0101001101000010听起来你是对的,但是我应该在每个if语句中添加什么?@J.Cole在每个if语句中,只需在System.out.println
行下添加totalvowells++
。这样,每次元音在字符串中,计数器都会添加一个。很好,除了这个你的意思是int而不是var。这是一种不同的语言:)。很好,只是你的意思是int而不是var。这是一种不同的语言:)。这很有效;不过,我还有一个问题。我需要让用户输入一个“搜索键”,它将在我的字符串中搜索用户输入的值。例如:再见不包含by。这是我到目前为止所做的工作,但我收到一条错误消息说,“int不能转换为boolean。”有什么建议吗?这很有效;不过,我还有一个问题。我需要让用户输入一个“搜索键”,它将在我的字符串中搜索用户输入的值。例如:再见不包含by。这是我到目前为止所做的工作,但我收到一条错误消息,上面说,“int不能转换为boolean。”有什么建议吗?