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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fecuznmn 中级黑马   /  2015-5-31 15:40  /  584 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 fecuznmn 于 2015-5-31 21:16 编辑

package exam;

import java.util.Scanner;

public class Test7 {

        public static void main(String[] args) {
                Scanner s = new Scanner(System.in);
                System.out.println("请输入:");
                String str = s.next();
                String str1 = trans(str);
                System.out.println("大小写转换结果为:" + str1);
                s.close();

        }

        public static String trans(String s) {
                char[] ch = s.toCharArray();
                for (int x = 0; x < ch.length; x++) {
                        if (ch[x] >= 'a' && ch[x] <= 'z') {
                                ch[x] = Character.toUpperCase(ch[x]);
                        }
                        if (ch[x] >= 'A' && ch[x] <= 'Z') {
                                ch[x] = Character.toLowerCase(ch[x]);
                        }
                }
                return String.copyValueOf(ch);
        }

}


结果是无论输入的是大写还是小写,返回值都是小写。为什么啊?

3 个回复

倒序浏览
在第二个if 加一个else 因为你的两个判断语句是并列的,第一个把小写转换成了大写,有进行了下面if 的转换,
回复 使用道具 举报
想要那片海 发表于 2015-5-31 21:13
在第二个if 加一个else 因为你的两个判断语句是并列的,第一个把小写转换成了大写,有进行了下面if 的转换 ...

:funk:是的诶。。3q
回复 使用道具 举报
:o
好厉害\(^o^)/~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马