大小写转换问题

题目:
密码字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
原文字母:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

分析:

由题中“密码字母”和“原文字母”分析可得,可将字母分为以下情况,以“E”与“F"为分界点

则情况为:

密码字母:A B C D E          F G H  I J K L M N O P Q R S T U V W X Y Z

原文字母:V W X Y Z         A  B C D E F G H I J K L M N O P Q R S T  U

分析可得,E之前的给“密码字母”减5可得“原本文字母”,E之后的给“密码字母”加21可得“原本文字母”

因此代码如下:

public class Main{
 public static void main(String[] args) {
        Scanner sc = new Scanner ( System.in );
        while (sc.hasNext ( )) {
            String value = sc.nextLine ( );
             //将字符串转换为字符数组,以便调用字符
            char[] chars = value.toCharArray ( );
            for (int i = 0; i < chars.length; i++) {
                char c = chars[i];
                if ('A' <= c ) {
                  //核心代码,进行大小写的转换
                    c = (char) ( 'E' < c ? ( c - 5 ) : ( c + 21 ) );
                    chars[i] = c;
                }
            }
            System.out.println ( new String ( chars ) );
        }
    }
}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值