我的setNumber并没有按照我的预期进行相应的改变

时间:2016-06-07 22:03:49

标签: java class getter-setter

我试图将一个数字设置为类,类似这样的

public class Governador extends Candidato{
    private int numero;
    private static int limite_inferior = 77;

    public Governador(String nome, String partido, int numero) {
        super(nome, partido);
        this.numero = numero;
    }

    public int getNumero() {
        return numero;
    }

    public void setNumero(int numero) {
        if (numero > 99 || numero < limite_inferior) {
            this.numero = limite_inferior;
            limite_inferior++;
        }
        this.numero = numero;
    }
}

但是当我得到像42这样的数字时,它并没有像我希望的那样变成77。它可能非常简单,但我现在却失明了。

1 个答案:

答案 0 :(得分:4)

你的问题很简单。您始终设置输入数字。

if (numero > 99 || numero < limite_inferior) {
    this.numero = limite_inferior;
    limite_inferior++;
}

this.numero = numero; //HERE

无论是否进入IF,都会设定给定的数字。所以添加一个else条件,如:

if (numero > 99 || numero < limite_inferior) {
    this.numero = limite_inferior;
    limite_inferior++;
}else{
    this.numero = numero;
}