在将一个代码从一个代码传递到另一个代码时我遇到了错误?

时间:2018-06-05 07:20:32

标签: java arrays string

代码1

public class Program {
  public static void main(String[] args) {
      char[] aa = new char[] {'a','b'};
      possibleStrings(3, aa,"");
      char[] bb = new char[] {'|','&'};
      possibleStrings(2, bb,"");
      result(aa,bb);   }

代码2

    public static void possibleStrings(int maxLength, char[] alphabet, String curr) 
{  //THIS CODE IS COMMON FOR STRING aa and bb.}

代码3

  public static void result(char[] a,char[] b) {
//APPENDING BOTH THE STRING CHARACTER BY CHARACTER
        char[] arrayA = a.toCharArray();
        char[] arrayB = b.toCharArray();    
        StringBuilder sb = new StringBuilder();
        int i = 0;
        while( i < arrayA.length && i < arrayB.length){
        sb.append(arrayA[i]).append(arrayB[i]);
        ++i;
        }
        for(int j = i; j < arrayA.length; ++j){
            sb.append(arrayA[j]);
        }
        for(int j = i; j < arrayB.length; ++j){
            sb.append(arrayB[j]);
        }
        System.out.println(sb.toString()); 
  }           
}

我正在尝试将字符串aa和bb从代码1传递到代码3.但是我正面临错误。 它显示如下:

Program.java:31: error: cannot find symbol
        char[] arrayA = a.toCharArray();
                         ^
  symbol:   method toCharArray()
  location: variable a of type char[]
Program.java:32: error: cannot find symbol
        char[] arrayB = b.toCharArray();    
                         ^
  symbol:   method toCharArray()
  location: variable b of type char[]
2 errors

我没有得到我错的地方。请帮帮我。

1 个答案:

答案 0 :(得分:0)

在你的功能中:

 public static void result(char[] a,char[] b) {
//APPENDING BOTH THE STRING CHARACTER BY CHARACTER
        char[] arrayA = a.toCharArray();
        char[] arrayB = b.toCharArray();    
        StringBuilder sb = new StringBuilder();
        int i = 0;
        while( i < arrayA.length && i < arrayB.length){
        sb.append(arrayA[i]).append(arrayB[i]);
        ++i;
        }
        for(int j = i; j < arrayA.length; ++j){
            sb.append(arrayA[j]);
        }
        for(int j = i; j < arrayB.length; ++j){
            sb.append(arrayB[j]);
        }
        System.out.println(sb.toString()); 
  }           
}

您已经将char数组作为争论传递。所以你在行char[] arrayA = a.toCharArray();中试图将char数组转换为char数组。而且这种方法不存在。