pta凯撒密码加密的题,想问一下我这么写为什么不对呢?自己测试好多样例都对了,但是平台测就不对

import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
        char[] in=input.readLine().toCharArray();
        String p=input.readLine();
        int x=Integer.parseInt(p);

        for(int i=0;i<in.length;i++)
        {
            if(x>=0)
            {
                if(in[i]>='A'&&in[i]<='Z')
                {
                    in[i]=(char)(65+(in[i]-65+x)%26);
                }
                if(in[i]>='a'&&in[i]<='z')
                    in[i]=(char)(97+(in[i]-97+x)%26);
            }
            if(x<0)
            {
                x=x%26;
                if(in[i]>='A'&&in[i]<='Z')
                {
                    if((char)(in[i]+x)>='A')
                        in[i]=(char)(in[i]+x);
                    else
                        in[i]=(char)(91+in[i]+x-65);
                }
                if(in[i]>='a'&&in[i]<='z')
                    if((char)(in[i]+x)>='a')
                        in[i]=(char)(in[i]+x);
                    else
                        in[i]=(char)(123+in[i]+x-97);
            }
        }
            System.out.println(in);
    }
}

 

查看全部
m0_47470899
SDU陌兮
2020/12/04 19:14
  • java
  • 点赞
  • 收藏
  • 回答
    私信

1个回复