错误:不兼容的java类型
我在尝试返回结果时收到此错误消息错误:不兼容的java类型,java,arrays,Java,Arrays,我在尝试返回结果时收到此错误消息 error: incompatible types char[][]result = ' '; ^ required: char[][] found: char 在这个代码中。 我需要将另一部分的结果更改为char[]] 我的代码,但不知道如何做到这一点。 我就是不明白 public class Encryptor { private int N; public Encryptor( int N ) { thi
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;
}
}
公共类加密机{
私人int N;
公共加密机(int N){
这个,N=N;
}
////////////////////增加/////////////////
公共字符[][]加密(字符[][]P){
char ch;
字符[][]结果='';
for(int i=0;i='0')&&(ch='A')&&(ch='A')&(ch='A')&&(ch 0){
C++;
如果(c>max)c=min;
计数器--;
}
返回c;
}
公共字符串加密(双D){
返回加密(“+D”);
}
公共int getN(){
返回N;
}
}
先谢谢你
char[][] result = ' ';
'
为char类型,结果
为char[][]
类型(字符数组)
正如编译器所说,确切地说,它们是不兼容的类型
您有两种解决方案:
- 奇怪的解决方案:
char[]]result={{{'};
- 不奇怪的解决方案:
charresult='';
字符,而不是字符[]
所以你不能这么做
char[][]result = ' ';
'
是一个字符,因此它与2D数组不兼容。2D数组使用{{},{},…}
char[][] result = {{' '}};
这里的结果[0][0]将是'
您希望char[]result='';
做什么?您来自javascript吗?