在下面的代码中,如果我使用90到122,程序不起作用,但如果我使用65到92,即使字符是UpperCase,它仍然有效。
import java.util.Scanner;
class rep
{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
String s=sc.nextLine();
s=s.toUpperCase();
char b;
int i,a,c;
a=s.length();
for(i=90;i<=122;i++){
c=0;
for(int j=0;j<a;j++){
if((char)i==s.charAt(j)){
c+=1;
}
}
if(c>0)
System.out.println((char)i+"\t\t\t" +c);
}
}
}
答案 0 :(得分:0)
90-122是小写字母(97-122),而65-92是大写字母。你的代码中有这一行:s = s.toUpperCase();它将整个String转换为大写。这就是它没有检测到小写字母的原因。
顺便说一句。 Java惯例是用首字母大写命名你的类。