在java里如何判断输入的是大写字母还是小写字母?
public class  two
{
public static void main(String[] args) 
{
if(args.length!=0){
for(int i=0;i<args.length;i++){
if(args[i]>="a" && args[i]<="z")
 
System.out.println(j);
else
System.out.println("您所输入的字母是大写!");
}}
}
}
这样写不对,应该如何判断呢?在线等待!谢谢各位的指点!

解决方案 »

  1.   

    用正则表达式。 args[i].matchs([a-z])  // 大概
      

  2.   

    楼主思路没错,不过得得把 args[i]转变化char之后再比ascii码楼上也没错
      

  3.   

    两种方法
    1:
        String str="sd Afasfa";
        System.out.println(str.toLowerCase().equals(str));2:
        boolean isInSmallCase=true;
        for(int i=0;i<str.length();i++){
          char c=str.charAt(i);
          if( Character.isUpperCase(c)){
            isInSmallCase=false;
            break;
          }
        }
        System.out.println(isInSmallCase);第一种方法方便,但效率不如第二种方法注意,第二种方法Character.isUpperCase(c)不可以替换成!Character.isLowerCase(c),因为java中非字母字符在这两个判断中都是false
      

  4.   

    ask码也可以判断
    取这个字符的ask码  在一定范伟内必定就是大写字母
      

  5.   

    大写:Character.isUpperCase(args[i].charAt(j))==true
    小写:Character.isLowerCase(args[i].charAt(j))==true
      

  6.   

    大写:Character.isUpperCase(args[i].charAt(j))==true
    小写:Character.isLowerCase(args[i].charAt(j))==true
    ---------------------------------------------------
    学习一下这个方法
      

  7.   

    fool_leave()
    --------------------- 
    两种方法
    1:
        String str="sd Afasfa";
        System.out.println(str.toLowerCase().equals(str));2:
        boolean isInSmallCase=true;
        for(int i=0;i<str.length();i++){
          char c=str.charAt(i);
          if( Character.isUpperCase(c)){
            isInSmallCase=false;
            break;
          }
        }
        System.out.println(isInSmallCase);第一种方法方便,但效率不如第二种方法
    --------------------------------------
    这种效率如何判断啊?
      

  8.   

    效率的判断是要看源代码的toLowerCase方法要重新生成一个String,然后一个一个字符的放进去。equals方法又要遍历比较。所以比较耗时第二种方法直接通过charAt方法遍历数组,判断每个元素的大小写。和第一种方法比起来要少好多步骤。不过一般都以为自己写的代码越少越好,习惯了也就比较喜欢第一种方法了。对于小字符串来说无所谓,但大字符串就不一样了。
      

  9.   

    准确点的,还是用ascii码的范围比较精确
    别的比如是非字母的,那么上面很多算法可能都会有问题
      

  10.   

    to hdhmail2000(禅剑飞雪)
    见我3楼的方法2,有一个备注。
      

  11.   

    我还是建议用ascii码或者正则表达式解决简洁点,没必要那么复杂啊
      

  12.   

    if(args[i]>="a" && args[i]<="z")
     
    System.out.println(j);
    else
    System.out.println("您所输入的字母是大写!");这个逻辑思想就不对,难道不是小写的字母就都是大写的了?
      

  13.   

    static boolean isLower(int ch) {
            return ((ch-'a')|('z'-ch)) >= 0;
        }    static boolean isUpper(int ch) {
            return ((ch-'A')|('Z'-ch)) >= 0;
        }