2016-07-26 9 views
0

Ich habe eine KlasseInteliJ erzeugt einen Setter für jedes Element des Arrays statt für das gesamte Array

Class HighScores{ 
    private int[] scores = new int[10]; 

    void setScores(int[] in){ 
     this.scores = in; 
    } 
} 

Aber was ich will jedes Element des Arrays eingestellt ist in der Lage zu tun, um die Lage sein, es ist eigener Getter. Kann InteliJ die Getter erzeugen? Oder müsste ich es so von Hand schreiben?

Class HighScores{ 
     private int[] scores = new int[10]; 

     void setScores(int inZero){ 
      this.scores[0] = inZero; 
     } 

     void setScoresZero(int inZero){ 
      this.scores[0] = inZero; 
     } 
     void setScoresOne(int inOne){ 
      this.scores[1] = inOne; 
     } 
    } 

Danke.

+2

Wie wäre es mit zwei Argumenten erste Index und der zweite Wert? – dty

Antwort

-1

Wenn Sie die Arrays.fills() verwenden, dann können Sie einen sehr ähnlichen Ansatz erhalten:

void setScoresToValue(int value) { 
    Arrays.fill(this.scores, value); 
    System.out.println(Arrays.toString(this.scores)); 
} 

public static void main(String[] args) { 
    SomeClass sc = new SomeClass(); 
    sc.setScoresToValue(255); 
} 

so, wenn Sie so das Array gesetzt möchten den Anruf auf Null

sc.setScoresToValue(0); 

Edit:

Wenn Sie nach einer Möglichkeit suchen, den Wert für einen bestimmten Index im Array festzulegen, sollten Sie eine Methode definieren, mit der Sie den Index und den neuen Wert übergeben können ...

Beispiel:

void setScoresAtIndex(int index, int value) { 
// you can either validate the index or let it throw the IndexOutOfBoundsException 
    this.scores[index] = value; 
    System.out.println(Arrays.toString(this.scores)); 
    } 
+0

Das OP fragte, ob die Werte einzeln eingestellt werden sollen und nicht alle Werte auf einmal eingestellt werden sollen. – bradimus

+0

@bradimus, thnxs für den Kommentar ... Ich denke, jetzt ist die Antwort auf dem neuesten Stand ... werfen Sie einen Blick und lassen Sie es mich wissen .... –