Java 当从一个代码向另一个代码传递sting时,我会遇到错误吗?
代码1 代码2Java 当从一个代码向另一个代码传递sting时,我会遇到错误吗?,java,arrays,string,Java,Arrays,String,代码1 代码2 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); }
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); }
代码3
public static void possibleStrings(int maxLength, char[] alphabet, String curr)
{ //THIS CODE IS COMMON FOR STRING aa and bb.}
我不会走错方向。请帮助我。在您的功能中:
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
公共静态无效结果(char[]a,char[]b){
//一个字符接一个字符地追加两个字符串
char[]arrayA=a.toCharArray();
char[]arrayB=b.toCharArray();
StringBuilder sb=新的StringBuilder();
int i=0;
而(i
您已经将字符数组作为参数传递。因此,您在第行
char[]arrayA=a.toCharArray()代码>您正在尝试将字符数组转换为字符数组。而这种方法并不存在。a.tocharray()
a
以及b
都已经是char数组了
,因此对于它们来说,这种方法不存在^“当从一个代码向另一个代码传递sting时,我面临错误?”char[]
!=<代码>字符串
意思是,这与传递字符串对象无关。将字符数组转换为字符数组不会带来问题。实际的问题是char数组的方法tocharray()
甚至不存在,所以:String的方法tocharray()不转换任何内容。它返回一个基于字符串的字符数组,但字符串本身保持不变。
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
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());
}
}