【华为】大小写字母转换

题目:

  • 输入任意个字符串,将其中的小写字母变为大写,大写字母变为小写,其他字符不用处理;

  • 输入描述:
    任意字符串:abcd12#%XYZ

  • 输出描述:
    输出字符串:ABCD12#%xyz

  • 示例1:
    输入: abcd12#%XYZ
    输出: ABCD12#%xyz

题解:注意a的ASCII码是97,A的ASCII码是65,0的ASCII码是48.

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);        
        String str1 = sc.nextLine();
        System.out.println(changeStr(str1));        
    }
    public static String changeStr(String str){  
        //str.toUpperCase();  
        char[] ch = str.toCharArray();          
        int a = 'a'-'A';   //获得大小写之间差值  
        for(int i = 0; i < ch.length; i++){  
            if('a' <= ch[i] && ch[i] <= 'z'){  
                ch[i] = (char)(ch[i]-a);  
            }else if('A' <= ch[i] && ch[i] <= 'Z'){  
                ch[i] = (char)(ch[i]+a);  
            }           
        }  
        String s=new String(ch);
        return s;  
    }  
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值