该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
ry-cacth判断输入字符串(非字母(数字,空格,符号)字母部分则统记每个字母个数后输出结果)像这样:
Enter a phrase:I love , 21
Not a letter:
Not a letter:
Not a letter: ,
Not a letter:
Not a letter:2
Not a letter: 1
E:1
I: 1
L: 1
O: 1
V: 1
import java.util.Scanner;
import java.lang.Error;
public class CountLetters
{
public static void main(String[] args)
{
int[] counts = new int[26];
Scanner scan = new Scanner(System.in);
System.out.print("Enter a phrase:");
String word = scan.nextLine();
word = word.toUpperCase();
try
{
for (int i=0; i < word.length(); i++)
counts[word.charAt(i)-'A']++;
System.out.println();
}
catch (ArrayIndexOutOfBoundsException excption)
{
for(int i = 0; i
{
if(!Character.isLetter(counts[i]))
{
System.out.println("Not a letter:"+ counts[i]); i++;
}
}
for (int i=0; i < counts.length; i++)
if (counts [i] != 0)
System.out.println((char)( i+'A') + ":" + counts[i]);
}
}
}
好像循环有问题,结果就是不对变成这样的结果了~~请问应该怎么改?~~~
Enter a phrase:hu87hjk
Not a letter:0
Not a letter:0
Not a letter:0
Not a letter:0
H:1
U:1