题解 | #字符串加解密#

字符串加解密

http://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a

public class Main{
    //加密算法
    public static String encry(String s){
        StringBuffer sb=new StringBuffer(s);
        for(int i=0;i<s.length();i++){
            char temp=s.charAt(i);
            //数字加密
            if(temp>='0'&&temp<='9'){
                sb.replace(i,i+1,Integer.toString(((temp-'0'+1)%10)));
                continue;
            }
            //字母加密
            if(temp>='A'&&temp<='Z'){
                char bigchar=(char)(((int)temp-(int)'A'+1)%26+(int)'a');
                sb.replace(i,i+1,Character.toString(bigchar));
                continue;
            }
            if(temp>='a'&&temp<='z'){
                char smallchar=(char)(((int)temp-(int)'a'+1)%26+(int)'A');
                sb.replace(i,i+1,Character.toString(smallchar));
                continue;
            }
        }
            return(sb.toString());
    }
    //解密算法
    public static String decry(String s){
        StringBuffer sb=new StringBuffer(s);
        for(int i=0;i<s.length();i++){
            char temp=s.charAt(i);
            if(temp>='0'&&temp<='9'){
                sb.replace(i,i+1,Integer.toString(((((temp-'0')==0?10:(temp-'0'))-1)%10)));
                continue;
            }
            if(temp>='A'&&temp<='Z'){
                char bigchar=(char)((((temp-'A')==0?26:(temp-'A'))-1)%26+(int)'a');
                sb.replace(i,i+1,Character.toString(bigchar));
                continue;
            }
            if(temp>='a'&&temp<='z'){
                char smallchar=(char)((((temp-'a')==0?26:(temp-'a'))-1)%26+(int)'A');
                sb.replace(i,i+1,Character.toString(smallchar));
                continue;
            }
        }
        return(sb.toString());
    }
    
    public static void main(String[] args){
        Scanner sc= new Scanner(System.in);
        while(sc.hasNext()){
            String s=sc.nextLine();
            String ds=sc.nextLine();
            System.out.println(encry(s));
            System.out.println(decry(ds));
        }
        
    }
}
全部评论

相关推荐

10-31 20:07
门头沟学院 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务