增加加密的字符值

时间:2015-11-02 05:45:03

标签: java encryption encoding caesar-cipher

我正在制作一个程序,通过将每个字符的值增加5来加密字符串。例如A = F,B = G等。这是我到目前为止所提出的:

public class CharArray 
{
    public static void main(String[] args) 
    {   
        String str = "This sentence will be encrypted"; 

        char[] charArray = str.toCharArray(); 

        int pos=0; 

        while (pos<str.length())
        {
            char x = (charArray[pos]); 
            System.out.print((x+5) + " "); 
            //System.out.print(charArray[x]); This causes an exception error
            pos++;
        }


    }
}

但是输出的结果是:

89 109 110 120 37 120 106 115 121 106 115 104 106 37 124 110 113 113 37 103 106 37 106 115 104 119 126 117 121 106 105 

1 个答案:

答案 0 :(得分:3)

别忘了施展。在进行算术运算时,你的char被隐含地转换为int,因此你必须明确地将其转换回来

解决方案

System.out.println((char)(x+5));