*18.16 (求数组中大写字母的个数)
编写一个递归的方法,返回一个字符数组中大写字母的个数。需要定义下面两个方法。第二个方法是一个递归辅助方法。
public static int count(char[] chars)
public static int count(char[] chars, int high)
编写一个测试程序,提示用户在一行中输入一个字符列表,然后显示该列表中大写字母的个数。
-
代码示例
编程练习题18_16UppercaseLetters.java
package chapter_18;
import java.util.Scanner;
public class 编程练习题18_16UppercaseLetters {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a string: ");
String str = input.next();
System.out.println(count(str.toCharArray()));
input.close();
}
public static int count(char[] chars) {
return count(chars,chars.length-1);
}
public static int count(char[] chars,int high) {
int times = 0;
if(high < 0)
return 0;
if(chars[high] >= 'A'&&chars[high] <= 'Z')
times++;
return times + count(chars,high-1);
}
}
-
输出结果
Enter a string: avdDDE
3