Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Arrays - Fatal编程技术网

错误:不兼容的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吗?