说明:
编写一个名为sumConsonants的方法,该方法将两个作为参数
大写字母。您的函数应返回的所有ascii值的总和
起始字符和结束字符之间的辅音。你的
main方法应将两个值传递给函数,并输出所有
辅音字符值,包括第一个和最后一个。
例如,如果输入为AE,则程序将在A和E之间添加所有辅音值,这些辅音值将为B(66),C(67),D(68),其总计为201。输入的是EA,那么它仍然会合起来。
我陷入了for循环方法。谢谢!
这是我到目前为止所拥有的...
public int sumConsonants(int a, int b) {
int sum = 0;
for (int i = 0; i <= b; i++) {
if ( i == 'A' || i == 'E' || i == 'I' || i == 'O' || i == 'U' )
;
else
sum += i;
}
return sum;
}
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
Assignment11 c = new Assignment11();
int a,b;
System.out.println("Enter two uppercase characters");
String s = in.nextLine();
String upper = s.toUpperCase();
a = upper.charAt(0);
b = upper.charAt(1);
System.out.println("The sum of the consonants is " + c.sumConsonants(a,b));
}
最佳答案
您的循环超出了它引入的值数量。
for(int i = 0; i <= b; i++)
这应该绑定在
a
和b
之间。for(int i = a; i <= b; i++)
为了确保获得最小值作为下限(假定为
a
),并获得最大值作为上限(假定为b
),您需要采用这两个值的最小值和最大值,但我将其留给读者练习。