2016-06-07 60 views
0

我試圖設置了一些成類,像這樣我setNumber沒有與我所期待的

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像我想要的。這可能很容易,但我現在已經失明瞭。

回答

4

你的問題很簡單。你是總是設置輸入號碼。

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

this.numero = numero; //HERE 

無論是否進入IF,它都會設置給定的數字。因此,添加其他條件,如:

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

或移動if語句之上 –

+0

我以前試過,但它也沒有工作。 –

+0

然後,你調用這個類或'Candidato'類的代碼肯定有問題,可能是一個重載的代碼。張貼在你的問題上,我會看看是否有更多的東西。對於你顯示的代碼,以及你所說的這個修復就足夠了。 –

相關問題