黑马程序员技术交流社区

标题: 这道练习题不会做,请各位大虾教教 [打印本页]

作者: 宁方柳    时间: 2012-6-17 21:40
标题: 这道练习题不会做,请各位大虾教教
本帖最后由 宁方柳 于 2012-6-17 22:04 编辑

用户输入一个字符,用程序判断是否为小写字母,如果是,请输出您输入的字符是小写字母
作者: 余银桂    时间: 2012-6-17 21:55
  1. import java.util.Scanner;

  2. public class Validator {

  3. public static void main(String[] args) {

  4.   Scanner scanner = new Scanner(System.in);
  5.   
  6.   String str = scanner.nextLine().trim();
  7.   
  8.   if(str.length() > 1){
  9.    System.out.println("输入的是字符串");
  10.   }else if(str.matches("[a-z]")){
  11.    System.out.println("输入的是小写字母");
  12.   }else if(str.matches("[A-Z]")){
  13.    System.out.println("输入的是大写字母");
  14.   }else if(str.matches("[0-9]")){
  15.    System.out.println("输入的是数字");
  16.   }else{
  17.    System.out.println("输入的既不是字符串,也不是大小写字母,也不是数字!");
  18.   }

  19. }

  20. }
复制代码

作者: sbeeqnui1987    时间: 2012-6-17 21:56
方法一:
  从字符串中分离出字符,依次将每一个字符与'a','z'比较,判断是否为小写字母,与'A','Z'比较,判断是否为大写字母,其他的为非英文字母。
方法二:
  从字符串中分离出字符,依次将每一个字符在'a'~'z'中查找,如果查到则为小写字母,同样方法判断是否为大写字母,其他的为非英文字母。
方法三:
  从字符串中分离出字符,依次将每一个字符用Character.isLowerCase()方法判断是否为小写字母,Character.isUpperCase()判断是否为大写字母,其他的为非英文字母。


作者: 姚玉鹏    时间: 2012-6-17 21:56
本帖最后由 姚玉鹏 于 2012-6-17 21:57 编辑
  1. class  test
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 String str=args[0];
  6.                 if(!str.matches("[a-z]+")){
  7.                         System.out.println("不是小写");
  8.                 }
  9.                 else
  10.                         System.out.println("是小写");

  11.         }
  12. }
复制代码

作者: 宁方柳    时间: 2012-6-17 21:59
sbeeqnui1987 发表于 2012-6-17 21:56
方法一:
  从字符串中分离出字符,依次将每一个字符与'a','z'比较,判断是否为小写字母,与'A','Z'比较, ...

收到 慢慢研究您的代码。谢了
作者: 宁方柳    时间: 2012-6-17 22:01
姚玉鹏 发表于 2012-6-17 21:56

多谢指教
作者: 宁方柳    时间: 2012-6-17 22:02
sbeeqnui1987 发表于 2012-6-17 21:56
方法一:
  从字符串中分离出字符,依次将每一个字符与'a','z'比较,判断是否为小写字母,与'A','Z'比较, ...

多谢指教
作者: 宁方柳    时间: 2012-6-17 22:03
姚玉鹏 发表于 2012-6-17 21:56

多谢指教
作者: 薄炳鑫    时间: 2012-6-17 22:09
自己写的,仅供参考。
  1. public class Test
  2. {
  3.        
  4.         /**
  5.          * @param args
  6.          * @throws IOException
  7.          */
  8.         public static void main(String[] args) throws IOException
  9.         {
  10.        
  11.                 BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
  12.                 while (true)
  13.                 {
  14.                         int ch = bufr.read();
  15.                         if (ch >= 97 && ch <= 122)
  16.                         {
  17.                                 System.out.println("输入的小写字幕为" +(char) ch);
  18.                                 bufr.readLine();
  19.                         }
  20.                        
  21.                         else
  22.                         {
  23.                                 System.out.println("输入有误");
  24.                                 bufr.readLine();
  25.                         }
  26.                 }
  27.                
  28.         }
复制代码

作者: 宁方柳    时间: 2012-6-17 22:22
薄炳鑫 发表于 2012-6-17 22:09
自己写的,仅供参考。

:handshake
作者: 胡大强    时间: 2012-6-17 22:42
很简洁的一段程序。。。其实判断是字符串还是字符小写或是大写或是数字。。都可以用这个方法。。。。。。matches函数。。。其中。。元字符‘[‘和‘ ]‘用来定义一个字符集合。很多正则表达式都有这种元字符。。。
import java.util.Scanner;

class V {

public static void main(String[] args) {

  Scanner scanner = new Scanner(System.in);
  
  String str = scanner.nextLine().trim();

   if(str.matches("[a-z]"))
           {
   System.out.println("输入的是小写字母");
  }
  }

}


作者: 宁方柳    时间: 2012-6-17 22:43
胡大强 发表于 2012-6-17 22:42
很简洁的一段程序。。。其实判断是字符串还是字符小写或是大写或是数字。。都可以用这个方法。。。。。。ma ...

多谢指教




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2