黑马程序员技术交流社区

标题: 求大神优化大小写转化 [打印本页]

作者: 非5莫属    时间: 2014-7-2 22:38
标题: 求大神优化大小写转化
本帖最后由 非5莫属 于 2014-7-7 08:18 编辑

/*编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转(大写字母转成小写,小写字母转成大写)。*/
import java.util.Scanner;
public class Test7 {
        public static void main(String[] args){
                Scanner in=new Scanner(System.in);
                System.out.println("请输入字符串:");
                String str=in.next();
                char[] ch1=str.toCharArray();
                char[] ch2=new char[ch1.length];
                for(int i=0;i<ch1.length;i++){
                        ch2=ch1;
                if(ch2 >= 97 && ch2 <= 122)
                {
                        ch2=(char)((int)ch2-32);
                        System.out.print(ch2);
                        }
                else if(ch2 >= 65 && ch2 <= 90){
                        ch2=(char)((int)ch2+32);
                        System.out.print(ch2);
                        }
                else{
                        System.out.print("输入不符合要求");
                }
                }
        }
}

作者: 海世山盟    时间: 2014-7-2 22:41
不是有touppercase  和tolowercase的方法吗?直接调用就完了。
作者: 黎志勇    时间: 2014-7-2 23:05
本帖最后由 黎志勇 于 2014-7-2 23:10 编辑

我就这样写的。
  1.         public static String convert(String string) {
  2.                 char[] charArray = string.toCharArray();
  3.                 for (int i = 0; i < charArray.length; i++) {
  4.                         if (charArray[i] >= 'a' && charArray[i] <= 'z') {
  5.                                 charArray[i] = (char) (charArray[i] + 'A' - 'a');
  6.                         } else if (charArray[i] >= 'A' && charArray[i] <= 'Z') {
  7.                                 charArray[i] = (char) (charArray[i] + 'a' - 'A');
  8.                         }
  9.                 }
  10.                 return String.copyValueOf(charArray);
  11.         }
复制代码







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