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);
}
}