开发者社区> 问答> 正文

关于Java值传递的问题

比如说
public static void main(String[] args) {

int a=0;
        String b=null;
        int c=5;
tm.ceshi(a,b,c);
System.out.println(a);
         System.out.println(b);
          System.out.println(c);  

}
然后在ceshi进行了一系列操作
public void ceshi(int a,String b,int c){
a=a+2;
b="bbbb"
c=c+5;
}
最终我想在main方法中得到ceshi(...)处理的值,因为Java值传递,打印出的a还是0,b还是null,c还是5,请问:如何一个方法就能实现操作a,b,c的值,然后我再main方法里得到处理后的值?谢谢!

展开
收起
蛮大人123 2016-02-20 15:00:38 1901 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    简单说写一个类封装a,b,c然后拿个对象来调用方法,实现基本数据类型的参数传值。这个例子你看看:

    public class Example4_4 {
     public static void main(String args[]) {
     Rect rect=new Rect();
     double w=12.76,h=25.28;
     rect.setWidth(w);
     rect.setHeight(h); 
     System.out.println("矩形对象的宽:"+rect.getWidth()+" 高:"+rect.getHeight());
     System.out.println("矩形的面积:"+rect.getArea());
     System.out.println("更改向对象的方法参数传递值的w,h变量的值为100和256");
     w=100;
     h=256;
     System.out.println("矩形对象的宽:"+rect.getWidth()+" 高:"+rect.getHeight());
     }
     }
     public class Rect { //负责创建矩形对象的类
    double width,height,area;
     void setWidth(double width) {
     if(width>0){
     this.width=width;
     }
     } 
     void setHeight(double height) {
     if(height>0){
     this.height=height;
     }
     } 
     double getWidth(){
     return width;
     }
     double getHeight(){
     return height;
     }
     double getArea(){
     area=width*height;
     return area;
     }
     }
    2019-07-17 18:45:20
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载