Beschreibung des Codes

Status
Nicht offen für weitere Antworten.

Angelika_25

Bekanntes Mitglied
Hallo, ich habe folgenden Code:
Code:
 private int nummer;

 public int getNummer() {
    return nummer;
  }

public void setNummer(int n) {
    int alteNummer = nummer;
    nummer = n;
    if (!validateNummer()) { // neue Nummer ist nicht gueltig
      nummer = alteNummer;
    }
  }

public boolean validateNummer() {
    return
      (nummer >= 10000 && nummer <= 99999 && nummer % 2 != 0);
  }
in einer Klasse.
Code:
private int nummer;
ist eine Variablendeklaration und bedeutet, dass nummer nicht öffentlich ist und vom Typ Integer ist.

Code:
 public int getNummer() {
    return nummer;
  }
Das ist eine get-Methode, mit der ich den Inhalt der Variable nummer kopiere und zurückgebe.

Code:
public void setNummer(int n) {
    int alteNummer = nummer;
    nummer = n;
    if (!validateNummer()) { // neue Nummer ist nicht gueltig
      nummer = alteNummer;
    }
  }

public boolean validateNummer() {
    return
      (nummer >= 10000 && nummer <= 99999 && nummer % 2 != 0);
  }
Diesen Teil verstehe ich nicht so ganz. Ich weiß, dass ich mit dieser Methode irgend wie eine Gültigkeit überprüfe, verstehe aber den Ablauf nicht so ganz. Das int n, das in Klammern steht, hat ja noch keinen Wert, oder? Danach weise ich nummer "alteNummer" zu. Woher weiß mein Programm, was Nummer ist? Mein Parameter weist danach nummer den Wert zu. Dann kommt die if-Bedingung. Wenn die Methode validateNummer den Wert false zurückliefert, dann bekommt nummer den Wert von alteNummer.

Kann mir bitte jemand ein bißchen auf die Sprünge helfen, was von dem richtig war, was ich geschrieben habe und was nicht?

Liebe Grüße
 

manuche

Bekanntes Mitglied
es wird eine lokale (!!!) Variable alte Nummer erzeugt und in einem Zug der aktuelle Stand der Instanzvariable nummer zugewiesen. Danach bekommt die Instanzvariable nummer den neuen zu setzenden Wert n übergeben!
Nun wird geprüft ob die neu gesetzte Nummer überhaupt gültig ist. Wenn dies nicht der Fall ist, wird in Nummer wieder der ursprüngliche Wert geschrieben, welcher ja in der lokalen Variable alteNummer zur Sicherheit noch gespeichert ist!

Einfacher wäre es zunächst zu prüfen ob der zu setzende Wert n überhaupt gültig ist und falls ja ihn dann erst zu setzen!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kydo Programm Beschreibung Java Basics - Anfänger-Themen 3
Kydo Beschreibung meines programms Java Basics - Anfänger-Themen 2
M Lambda - Ausdruck zu Beschreibung erstellen Java Basics - Anfänger-Themen 7
B Console Beschreibung Java Basics - Anfänger-Themen 1
M Problem mit Datei-Beschreibung Java Basics - Anfänger-Themen 5
C Frage zur Beschreibung Java Basics - Anfänger-Themen 4
A Beschreibung von Code und Rückgabe von Anzahl in ArrayList Java Basics - Anfänger-Themen 5
N Beschreibung. Java Basics - Anfänger-Themen 28
G Beschreibung eines 'leeren' char-Wertes Java Basics - Anfänger-Themen 3
C Darstellung von Datum - Codes richtig? Java Basics - Anfänger-Themen 2
A Rekursive Implementation eines Codes Java Basics - Anfänger-Themen 4
S Den Minimumberechnen 2 codes vergleichen Java Basics - Anfänger-Themen 4
S Allgemeine Java Codes lesen und verstehen Java Basics - Anfänger-Themen 7
M Benutzereingabe eines Codes verbessern Java Basics - Anfänger-Themen 3
A Variablen Definitionen zu Codes und Funktionen. Java Basics - Anfänger-Themen 3
C Codes einrücken Java Basics - Anfänger-Themen 5
M Compiler-Fehler Fehler beim Ausführen des Codes Java Basics - Anfänger-Themen 25
L Codes Java Basics - Anfänger-Themen 6
Y "Optimierung" des Codes Java Basics - Anfänger-Themen 14
J Kann mir bitte mal jemand diese Codes erklären? Java Basics - Anfänger-Themen 19
T Erste Schritte 2 Codes zusammen fügen / Label in JFrame Java Basics - Anfänger-Themen 1
Y Erste Schritte Verknüpfung zweier JAVA-Codes Java Basics - Anfänger-Themen 8
M Aufbessern meines Codes Java Basics - Anfänger-Themen 11
Kenan89 Wo sind die Java Standard Library Source Codes zu finden? Java Basics - Anfänger-Themen 5
C ASCII CODES in Linux anders als auf Windows? Java Basics - Anfänger-Themen 4
C ASCII Codes in Buchstaben umwandeln Java Basics - Anfänger-Themen 2
M Java codes bedeutung Java Basics - Anfänger-Themen 9
N Eclipse und ascii codes, welchen wählen? Java Basics - Anfänger-Themen 3
G Dringende Frage bzgl. meines Codes Java Basics - Anfänger-Themen 30

Ähnliche Java Themen

Neue Themen


Oben