A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package com.itheima;

  2. import java.util.Scanner;

  3. import javax.print.attribute.standard.Sides;

  4. /**
  5. * 编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转(大写字母转成小写,小写字母转成大写)
  6. *
  7. * @author zyy
  8. *
  9. */
  10. public class Test7 {
  11.         public static void main(String[] args) {

  12.                 //获取字符数组
  13.                 String str = getString();
  14.                 //数组字母大小写转换
  15.                 char[] strArray = str.toCharArray();
  16.                 reserveCase(strArray);
  17.                 //输出数组
  18.                 System.out.println(new String(strArray));

  19.         }

  20.         /**
  21.          * 大小写转换,用ASICC来操作,感觉是最简单的,也可以用正则表达式
  22.          * @param strArray
  23.          */
  24.         private static void reserveCase(char[] strArray) {
  25.                
  26.                 int dist = 'a'-'A';
  27.                 for (int i = 0; i < strArray.length; i++) {
  28.                         if('a'<=strArray[i]&&strArray[i]<='z'){
  29.                                 //小写转大写
  30.                                 strArray[i] = (char) (strArray[i] - dist);
  31.                         }else if('A'<=strArray[i]&&strArray[i]<='Z'){
  32.                                 //大写转小写
  33.                                 strArray[i] = (char) (strArray[i] + dist);
  34.                         }
  35.                 }
  36.         }

  37.         /**
  38.          * 获取一个字符串
  39.          *
  40.          * @return 返回字符串
  41.          */
  42.         private static String getString() {
  43.                 return new Scanner(System.in).next();
  44.         }
  45. }
复制代码


1 个回复

倒序浏览
大家看看有更好的实现方式吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马