【问题标题】:error: incompatible types java [closed]错误:不兼容的类型java [关闭]
【发布时间】:2014-03-29 01:19:54
【问题描述】:

当我尝试返回结果时收到此错误消息

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

提前谢谢你。

【问题讨论】:

  • 你希望char[][] result = ' '; 做什么?
  • 你来自javascript吗?

标签: java arrays


【解决方案1】:
char[][] result = ' '; 

' 'type 字符,resultchar[][] 类型(char 数组的数组)。

正如编译器所说,确切地说,它们是不兼容的类型

您有两种解决方案:

  • 奇怪的解决方案:char[][] result = {{' '}};
  • 不奇怪的解决方案:char result = ' ';

【讨论】:

    【解决方案2】:

    ' ' 值是 char,而不是 char[][]
    所以你不能这样做。

    【讨论】:

      【解决方案3】:
      char[][]result = ' ';
      

      ' ' 是单个字符,因此它不能用于二维数组。二维数组初始化为{{},{},..}

      char[][] result = {{' '}};
      

      这里的结果[0][0] 将是' '

      【讨论】:

        猜你喜欢
        • 2013-09-23
        • 1970-01-01
        • 2016-09-11
        • 2013-10-29
        • 1970-01-01
        • 1970-01-01
        • 2011-08-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多