for(int indexDes = 0; indexDes < strDes.size(); indexDes++)
{
System.out.print("\"" + strDes.get(indexDes).toString() + "\"");
}
System.out.println();
}
}
为什么打印结果是:
"a""b""c"
"ba""ca""ab""cb""ac""bc"
"ba""ca""ab""cb""ac""bc"
哪里出错,怎么修改?作者: 李金中 时间: 2014-2-10 13:02
哈哈 ,知道问题点了。。 这个JAVA 跟C++很不一样,因为它没有指针。我一直搞不懂 变量怎么存储的。。。。比如:如果定义一个函数参数,形参是string类型,那么你在函数内部对它重新赋值,是不能传出改变后的参数的。
如下小例子:
public class Java{
public static void main(String[] args)
{
String str = new String("HI!");
change(str);
System.out.println(str);
}
public static void change(String str)
{
str = new String("Hello!");
}
}
打印结果是 HI。。。。
因此,我将上面的程序稍微改动了下,结果好使了。。。。
public class Test6 {
public static void main(String[] args)
{
ArrayList<StringBuilder> strDes = new ArrayList<StringBuilder>();
String strSource = "abc";
int length = 3;
new Test6().printAll(strSource, length);
}
public ArrayList<StringBuilder> printAll(String strSource, int length)
{
char[] cArr = strSource.toCharArray();
int lengthSource = strSource.length();
ArrayList<StringBuilder> strTemp = new ArrayList<StringBuilder>();
ArrayList<StringBuilder> strDes = new ArrayList<StringBuilder>();