注册 登录
编程论坛 JAVA论坛

从键盘输入一行英文字符串,把所有小写字母变成大写字母,其他字母和字符保持不变。

lousang 发布于 2018-03-23 16:32, 8398 次点击
只有本站会员才能查看附件,请 登录
6 回复
#2
疯狂的小a2018-03-23 17:40
你输入字符串,然后toUpperCase()就好了
#3
清衍2018-03-23 22:45
回复 2楼 疯狂的小a
大佬,有没有可以自动把单词首字母变大写的?
#4
疯狂的小a2018-03-23 23:33
回复 3楼 清衍
你可以把首字母拿出来,做判断,如果在a-z之间就转大写字母,大写字母跟小写字母只差32
#5
verona2018-03-30 00:45
创建键盘录入对象
然后可以用string类型的变量s接收
然后变为大写:s.toUpperCase()
最后输出结果就可以了
#6
xiaonuo2018-03-30 17:32
回复 楼主 lousang

    public static char toUpper(char aa){
        int bb = 0;
        if(aa >= 97 && aa <= 122){
            bb = aa - 32;
        }
        else{
            bb = aa;
        }
        return (char)bb;
    }
#7
xiaonuo2018-03-30 18:11
回复 3楼 清衍
//多个单词组成的字符串数组
public static void toUpper1(String[] arr){
    if(arr == null || arr.length == 0){
        System.out.println("INVALID ARRAY");
        System.exit(-1);
    }
    for(int i=0; i< arr.length; i++){
        if(arr[i].charAt(0) >= 97 && arr[i].charAt(0) <= 122){
            char[] carr = arr[i].toCharArray();
            carr[0] = (char)(carr[0] - 32);
            for(int j = 0; j<carr.length; j++){
                System.out.print(carr[j]);
            }
            System.out.print(" ");
        }
        else{
            System.out.print(arr[i]);
        }        
    }
}

//单个单词
public static void toUpper2(String str){
    if(str.charAt(0) >= 97 && str.charAt(0) <= 122){
        char[] sarr = str.toCharArray();
        sarr[0] = (char)(sarr[0] - 32);
        for(char c: sarr){
            System.out.print(c);
        }
    }
    else{
        System.out.print(str);
    }
}
1