2013-03-07 50 views
1
public int getA() { 
    return a; 
} 

public void setA(int a) { 
    this.a = a; 
} 

现在,如果我必须增加变量......哪一个是做的方式?获取和设置并增加一个变量

variables.setA(variables.getA()+1); 

以这种方式永远是1

我可以解决这个问题?

+3

方法添加到您的类' incrementA(){a ++}' – 2013-03-07 16:41:19

+0

您的代码会将“a”加1。您是否在寻找更好的方法? – souldzin 2013-03-07 16:42:48

回答

2

你增加一个变量应该工作的方式,但你也可以定义一个新的方法:

public void incrementA(){ 
    a++; 
} 
6

该代码是正确的(如详细)。以下:

public class Main { 

    private int a = 0; 

    public int getA() { 
     return a; 
    } 

    public void setA(int a) { 
     this.a = a; 
    } 

    public static void main(String[] args) 
    { 
     Main variables = new Main(); 
     System.out.println(variables.getA()); 
     variables.setA(variables.getA()+1); 
     System.out.println(variables.getA()); 
     variables.setA(variables.getA()+1); 
     System.out.println(variables.getA()); 
     variables.setA(variables.getA()+1); 
     System.out.println(variables.getA()); 
    } 
} 

打印

0 
1 
2 
3 

鉴于variables.setA(variables.getA()+1)冗长,你可能需要将其包装成一个方法(如incrementA()addToA(int)等)