当我尝试返回结果时收到此错误消息
error: incompatible types
char[][]result = ' ';
^
required: char[][]
found: char
在此代码中。 我需要将结果更改为char [] []的另一部分 我的代码,但不知道如何做到这一点。 我似乎无法得到它。
public class Encryptor {
private int N;
public Encryptor( int N ) {
this.N = N;
}
////////////////////added/////////////////
public char[][] encrypt( char[][] P ) {
char ch;
char[][]result = ' ';
for ( int i = 0; i < P.length; i++ ) {
for ( int j = 0; j < P[0].length; j++ ) {
ch = P[i][j];
if ( ( ch >= '0' ) && ( ch <= '9' ) ) {
ch = rotate( ch, '0', '9' );
} else if ( ( ch >= 'A' ) && ( ch <= 'Z' ) ) {
ch = rotate( ch, 'A', 'Z' );
} else if ( ( ch >= 'a' ) && ( ch <= 'z' ) ) {
ch = rotate( ch, 'a', 'z' );
} else {
// no need to encrypt
}
result += ch;
}
}
return result;
}
///////////////////////////////////////////
private char rotate( char c, char min, char max ) {
int counter = N;
while( counter > 0 ) {
c++;
if ( c > max ) c = min;
counter--;
}
return c;
}
public String encrypt( double D ) {
return encrypt( "" + D );
}
public int getN() {
return N;
}
}
提前谢谢。
答案 0 :(得分:3)
char[][] result = ' ';
' '
属于类型字符,result
属于char[][]
类型(char
数组的数组)。
正如编译器所说,确切地说,它们是不兼容的类型。
您有两种解决方案:
char[][] result = {{' '}};
char result = ' ';
答案 1 :(得分:0)
' '
值为char
,而不是char[][]
所以你不能这样做。
答案 2 :(得分:0)
char[][]result = ' ';
' '
是单个字符,因此它不适合2D数组。 2D数组使用{{},{},..}
char[][] result = {{' '}};
这里结果[0] [0]将是' '
。