Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字符与字符串不兼容_Java_String_Encryption_Char - Fatal编程技术网

Java 字符与字符串不兼容

Java 字符与字符串不兼容,java,string,encryption,char,Java,String,Encryption,Char,我必须创建一个程序来解密消息:mmZ\dxZmx]Zpgy 加密方法是ASCII码。 这应该是所有我需要的,但我得到一个不兼容的类型错误 在这里: 我知道从技术上讲这是一个字符串,但我想不出任何其他方法来实现这一点。。 这是我的全部代码 package decrypt; public class Decrypt { public static void decrypt(char encrypted[], int key) { System.out.printl

我必须创建一个程序来解密消息
:mmZ\dxZmx]Zpgy
加密方法是ASCII码。 这应该是所有我需要的,但我得到一个不兼容的类型错误 在这里:

我知道从技术上讲这是一个字符串,但我想不出任何其他方法来实现这一点。。 这是我的全部代码

package decrypt;

public class Decrypt 
{
    public static void decrypt(char encrypted[], int key)
    {
        System.out.println(key + ": ");
        for (int i=0; i < encrypted.length; i++)
        {
            char originalChar = encrypted[i];
            char encryptedChar;
            if ((originalChar -key) < 32)
                encryptedChar = (char) (originalChar - 32 + 127 -key);
            else 
                encryptedChar = (char) (originalChar -key);
            System.out.println(encryptedChar);
        }    
    }

    public static void main(String[] args) 
    {
        char encrypted[]= "(:mmZ\\dxZmx]Zpgy)";    
        for (int i=1; i <=100; i++)
        {
            decrypt(encrypted, i);
        }
    }
}
包解密;
公共类解密
{
公共静态无效解密(字符加密[],整数密钥)
{
System.out.println(键+“:”);
for(int i=0;i“(:mmZ\\dxZmx]Zpgy)”
是一个字符串

要将其转换为
charArray
,请使用:

char encrypted[] = "(:mmZ\\dxZmx]Zpgy)".toCharArray();
字符串一个字符数组

字符数组应由单个字符元素组成,而不是整个字符串

  char encrypted[]= "(:mmZ\\dxZmx]Zpgy)";
应该是

char encrypted[]= {'(',':',.....remaining elements ..};
或者很容易

   char encrypted[]= "(:mmZ\\dxZmx]Zpgy)".toCharArray();

您必须添加toCharArray,因为这是一个字符串,您需要char数组

char encrypted[]= "(:mmZ\\dxZmx]Zpgy)".toCharArray();

快速查看一下,您可以使用

"(:mmZ\\dxZmx]Zpgy)".toCharArray()

您正在创建一个字符数组,但将字符串分配给它。这会给您带来错误,但如果您只是创建一个字符串并将其作为参数传递给该方法,那么您的方法将如下所示

public static void decrypt(String encrypted,int key){
System.out.println(key + ": ");
for (int i=0; i < encrypted.length; i++){
    char originalChar = encrypted.CharAt(i);
    char encryptedChar;
    if ((originalChar -key) < 32)
        encryptedChar = (char) (originalChar - 32 + 127 -key);
    else 
        encryptedChar = (char) (originalChar -key);
    System.out.println(encryptedChar);

}

}
公共静态无效解密(字符串加密,整数密钥){
System.out.println(键+“:”);
for(int i=0;i
@caustr01没有问题。每个程序员都会遇到。编码快乐。
public static void decrypt(String encrypted,int key){
System.out.println(key + ": ");
for (int i=0; i < encrypted.length; i++){
    char originalChar = encrypted.CharAt(i);
    char encryptedChar;
    if ((originalChar -key) < 32)
        encryptedChar = (char) (originalChar - 32 + 127 -key);
    else 
        encryptedChar = (char) (originalChar -key);
    System.out.println(encryptedChar);

}

}