Topic: 请问调值运算的问题 |
Print this page |
1.请问调值运算的问题 | Copy to clipboard |
Posted by: zsjust Posted on: 2005-12-13 02:14 class A { public static void main(...) { PassTest obj=new PassTest(); int x=5,y=30; System.out.println("x and y before call"+x+""+y); f(x,y); System.out.println("x and y after call"+x+""+y); } public void f(int i,int j) { i*=2; j/=2; } } f调用后输出值并没有发生变化,如何才能使函数f真正改变变量x,y的值呢? 请那位大大清楚说一下或者指点应该看什么帖子,谢谢 |
2.Re:请问调值运算的问题 [Re: zsjust] | Copy to clipboard |
Posted by: liuliu1231111 Posted on: 2005-12-13 09:12 zsjust wrote: 1. public void f(int i,int j) 应改成静态函数 因为他要直接被public static void main(...)函数调用。 2.public void f(int i,int j) 中 i,j 是局部变量,调用后就释放资源,而不保留值,所以调用后,x,y的值仍然不会改变。可以 System.out.println("x and y after call"+x+""+y);写在函数里面。 public staic void f(int i,int j) { i*=2; j/=2; System.out.println("x and y after call"+i+""+j); } } |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |