y的作用域,如果要得出你要的结果,代码如下:
public static void main (String [] args) {
StringBuffer a = new StringBuffer ("A");
StringBuffer b = new StringBuffer ("B");
b=operate (a,b);
System.out.println(a + "," +b);
}
static StringBuffer operate (StringBuffer x, StringBuffer y) {
x.append (y);
y = x;
return y;
}
}
public static void main (String [] args) {
StringBuffer a = new StringBuffer ("A");
StringBuffer b = new StringBuffer ("B");
b=operate (a,b);
System.out.println(a + "," +b);
}
static StringBuffer operate (StringBuffer x, StringBuffer y) {
x.append (y);
y = x;
return y;
}
}
解决方案 »
- split 问题?急
- Class.forName 和 import 的区别
- 关于java执行本地程序的问题
- 根据Hashtable的key 修改相应value的问题!急,在线等!!
- java连接MySQL数据库正常,但在createStatement时出现空指针问题,请高手帮忙!
- 请问一下这是怎么回事啊!!
- 求换行符号
- 请大家推荐一下java学习的好书吧!谢了!最好从初学到深层!!
- 连接占线导致另一个 hstmt,一般是什么原因引起的???20分!
- 培养一个人的举一翻三能力,给一个程序看看你们是否那个作其他的事情?
- 我想用JAVA做个可以拖放的画图程序,象WORD中的画图一样,请给点思路:
- 在jbuiler中,我建了一个工程,却不象别人的工程一样有src,class,bak,文件夹
x.append (y);
y = x;
}
你这方法只是传入参数y,但y并没有因此改变,全局变量y被这个方法内的y隐藏了,也就是说,y值没有被处理
public static void main (String [] args) {
StringBuffer a = new StringBuffer ("A");
StringBuffer b = new StringBuffer ("B");
operate (a,b);
System.out.println(a + "," +b);
}
static void operate (StringBuffer x, StringBuffer y) {
x.append (y);
y = x;
y.append(" test");
}
}
AB test,B
x.append (y);
y = x;
System.out.println("y:"+y);
System.out.println("x:"+x);
}
public static void main (String [] args) {
StringBuffer a = new StringBuffer ("A");
StringBuffer b = new StringBuffer ("B");
b=operate (a,b);
System.out.println(a + "," +b);
}
在函数内部输出的
y:AB
x:AB
在主函数中输出的是AB,B
这就是说结果传递的只有b,a并没有被传递。
这是变量的传值与传址的区别
1。方法不能下该基本类型的参数。
2。方法可以改变对象参数的状态。
3。方法不能使一个对象参数指向一个新的对象。对应的例子为:
//1.
public static void tripleValue(double x){
x = 3* x;
}
//2.
public static void tripeSalary(Employee x) {
x.raiseSalary(200);
}
//3.
public static void swap(Employee x, Employee y) {
Employee temp = x;
x = y;
y = temp;
}
你的程序属于第三种,即不能使一个对象参数指向一个新的对象。如果你能找到《最新java2核心技术 卷I: 原理》的话看看page119现在不是怎么能弄出最后的结果,而是先要理解实现机制。看看那本书,讲的很清楚。我确信你看了以后,对这方面不会存在问题,也就知道自己的程序该怎么设计和实现。