Verständnisproblem

Status
Nicht offen für weitere Antworten.
D

Destiny1985

Gast
Also erstmal der Code, nachfolgend die Frage

Code:
import java.io.*;

public class StudentenTest {
  
  public static void main(String[] args) {
    
    /** Erzeugen der Studentenobjekte studi1 und studi2 */
    
    Student studi1 = new Student();
    Student studi2 = new Student();
        
    /** Zuweisung von Namen und Matrikelnummern an die Studentenobjekte */
    
    studi1.setName("Peter Parker");
    studi1.setNummer(eingabeNummer());
           
    studi2.setName("Tiny Toon");
    studi2.setNummer(77777);
    
    /** Holen der Namen und Nummern der Studentenobjekte und Speicherung in Variablen */
    
    String studentenName1 = studi1.getName();
    int studentenNummer1 = studi1.getNummer();
    
    String studentenName2 = studi2.getName();
    int studentenNummer2 = studi2.getNummer();
    
    /** Ausgabe von Name und Matrikelnummer der Studentenobjekte */
    
    System.out.println("\nName des 1. Studenten: " + studentenName1);
    System.out.println("Nummer des 1. Studenten: " + studentenNummer1);
    
    System.out.println("\nName des 2. Studenten: " + studentenName2);
    System.out.println("Nummer des 2. Studenten: " + studentenNummer2);
  }
  
  public static int eingabeNummer() {
    
    BufferedReader read = new BufferedReader (new InputStreamReader(System.in));
    String matNr = "";
    int matrikelNummer = 0;
    System.out.print("\nMatrikelnummer: ");
  
    try
    {
      matNr = read.readLine();
      matrikelNummer = Integer.parseInt(matNr);
    }
    catch (IOException e)
    {
      System.out.println("\n* SCHWERER AUSNAHMEFEHLER *");
    }
    catch (NumberFormatException e2)
    {
      System.out.print("\nSie muessen eine Zahl eingeben!");
    }
    
    return matrikelNummer;
  }
}

und die Klasse Student

Code:
public class Student {
  
  /** Der Name des Studenten */
  private String name;
  
  /** Die Matrikelnummer des Studenten */
  private int nummer;
  
  /** RÜckgabe des Studentenname als String */
  public String getName() {
    return this.name;
  }
  
  /** Namen des Studenten auf einen übergebenen Wert setzen */
  public void setName(String name) {
    this.name = name;
  }
  
  /** Rückgabe der Matrikelnummer des Studenten als Integer */
  public int getNummer() {
    return this.nummer;
  }
  
  /** Matrikelnummer des Studenten auf einen übergebenen Wert setzen */
  public void setNummer(int n) {
    int alteNummer = nummer;
    nummer = n;
    if (!validateNummer()) { // Neue Nummer ungültig
      System.out.println("Die neue Nummer ist ungültig, Nummer wird zurückgesetzt");
      nummer = alteNummer;
    }
  }
  
  /** Überprüfung der Matrikelnummer auf ihre Gültigkeit */
  public boolean validateNummer() {
    return
      (nummer >= 10000 && nummer <= 99999 && nummer % 2 != 0);
  }  
}

Ok...was ich nicht ganz verstehe ist folgendes: in der instanzmethode "setNummer" ist eine überpüfung eingebaut, die die übergebene nummer prüfen soll und im falle, das sie ungültig ist, die alte Nummer weiterhin beibehält. Das gabze ist ein Beispiel aus dem Buch, ich habe es aber vorher mal alleine geschrieben, der Übung halber...bei mir sah die Methode so aus

Code:
/** Matrikelnummer des Studenten auf einen übergebenen Wert setzen */
  public void setNummer(int nummer) {
    int alteNummer = nummer;
    this.nummer = nummer;
    if (!validateNummer()) { // Neue Nummer ungültig
      System.out.println("Die neue Nummer ist ungültig, Nummer wird zurückgesetzt");
      nummer = alteNummer;
    }
  }

So funktioniert die Abfrage nicht, er setzte auch die neue Nummer wenn sie laut der Abfrage ungültig ist. Der Unterschied liegt ja nur darin, das einmal statt

Code:
public void setNummer(int nummer) {
das hier ist
Code:
public void setNummer(int n) {

und das statt

Code:
this.nummer = nummer;
das hier ist
Code:
nummer = n;

Ich verstehe nicht wo denn auf einmal das n herkommt ?? Das ist das erste mal das in dem Buch etwas nicht gut beschrieben ist. Alles heisst doch nummer, und auf einmal kommen die da mit int n...kann mir das jemand erklären bitte ? Hoffe ihr versteht das Problem

mfg
 

Wildcard

Top Contributor
So klarer?

Code:
  /** Matrikelnummer des Studenten auf einen übergebenen Wert setzen */ 
  public void setNummer(int n) { 
    int alteNummer = this.nummer; 
    this.nummer = n; 
    if (!validateNummer()) { // Neue Nummer ungültig 
      System.out.println("Die neue Nummer ist ungültig, Nummer wird zurückgesetzt"); 
      this.nummer = alteNummer; 
    } 
  }
 
D

Destiny1985

Gast
wtf, wo kommt das n her ^^

das n aus diesem code

Code:
public void setNummer(int n) {

wird doch dieser Methode übergeben, aber von wo kommt das denn ? was in aller welt ist diese n ?

Oder steh ich einfach nur auf der Leitung...
 

Wildcard

Top Contributor
Code:
public void setNummer(int blupp)
funktioniert genauso. Wichtig ist nur das ein int wert übergeben wird. Wie ihn die Methode setNummer intern
benennt ist uninteressant.
 
D

Destiny1985

Gast
Achso, also wenn ich der Methode irgendeinen int-wert übergebe ist für die mthode nur wichtig, das sie dann auch einen int-wert "empfängt" ?

Sprich die Namen sind egal, wenn man scheisse benennt ist das einzige Problem, das man selber keinen Durchblick mehr hat später...so korrekt ?
 

Wildcard

Top Contributor
ist das gleiche wie wenn du eine Variable initalisierst.
Code:
public void foo(int bar)
in foo wird die Variable bar initialisert. Ihren Wert erhält sie dann beim Methodenaufruf.
 
D

Destiny1985

Gast
OK, herzlichen dank :) wusste bis eben nicht das das geht, daher auch das unverständnis.

*thread abhaken tu*
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Verständnisproblem bei Server/Client Java Basics - Anfänger-Themen 3
nonickatall Grundsätzliches Verständnisproblem des Aufbaus eines Programms Java Basics - Anfänger-Themen 19
X Verständnisproblem Call-By-Reference Java Basics - Anfänger-Themen 5
P JavaFX: Verständnisproblem bei ComboBox/ChoiceBox etc. Java Basics - Anfänger-Themen 9
T Verständnisproblem mit Assoziationen Java Basics - Anfänger-Themen 7
M Verständnisproblem der Rekursion bei Arrays Java Basics - Anfänger-Themen 8
A Erste Schritte Verständnisproblem Java Basics - Anfänger-Themen 5
S Verständnisproblem Aufgabe Java Basics - Anfänger-Themen 9
S Model View Controller: Verständnisproblem Java Basics - Anfänger-Themen 13
temi Verständnisproblem Class.forName() Java Basics - Anfänger-Themen 3
2 Verständnisproblem bei Anwendung von Lower Bounded Wildcards Java Basics - Anfänger-Themen 5
V Verständnisproblem Java Basics - Anfänger-Themen 22
L [Verständnisproblem] Array wird trotz void rückgabe verändert. Java Basics - Anfänger-Themen 5
A Verständnisproblem Ausgabe Do-While-Schleife Java Basics - Anfänger-Themen 3
J Verständnisproblem einer Methode Java Basics - Anfänger-Themen 20
M Konstruktur - Verständnisproblem Java Basics - Anfänger-Themen 4
C Postinkrement und println - Verständnisproblem Java Basics - Anfänger-Themen 8
T Verständnisproblem beim Vigenere-Verfahren Java Basics - Anfänger-Themen 2
Q MVC Verständnisproblem: Controller vs model.modelChanged() Java Basics - Anfänger-Themen 0
N Verständnisproblem InsertionSort. Java Basics - Anfänger-Themen 2
D Verständnisproblem Java Basics - Anfänger-Themen 2
B VerständnisProblem mit Beispielaufgabe aus Buch Java Basics - Anfänger-Themen 1
H Polymorphie Verständnisproblem Vererbung/Polymorphie Java Basics - Anfänger-Themen 4
FrankR2 Grundsätzliches Verständnisproblem: Java 32/64-bit; Windows 7/8, 32/64-bit-System Java Basics - Anfänger-Themen 5
S Verständnisproblem bei Interfaces Java Basics - Anfänger-Themen 6
V Verständnisproblem Java Basics - Anfänger-Themen 5
V Arrays-verständnisproblem Java Basics - Anfänger-Themen 4
M Collections HashSet verständnisproblem Java Basics - Anfänger-Themen 9
S Verständnisproblem einer Übungsaufgabe Java Basics - Anfänger-Themen 6
H Abstrakte Basisklasse Verständnisproblem! Java Basics - Anfänger-Themen 8
G Verständnisproblem mit swing Java Basics - Anfänger-Themen 6
F Methoden Cannot refer to a non-final variable.. verständnisproblem. Java Basics - Anfänger-Themen 7
P Verständnisproblem main Methode Java Basics - Anfänger-Themen 9
S Klassen Verständnisproblem Konstruktor Java Basics - Anfänger-Themen 7
I e.getMessage(); - Verständnisproblem Java Basics - Anfänger-Themen 6
lesni Vererbung Vererbung - Verständnisproblem Java Basics - Anfänger-Themen 2
M OOP Polymorphie/Vererbung Verständnisproblem Java Basics - Anfänger-Themen 2
J Verständnisproblem Methoden-Kettung Java Basics - Anfänger-Themen 3
A Vererbung Verständnisproblem bei Übung Java Basics - Anfänger-Themen 5
E Verständnisproblem Typkonvertierung Java Basics - Anfänger-Themen 4
S OOP Verständnisproblem Umsteiger Java Basics - Anfänger-Themen 22
C Array Verständnisproblem Java Basics - Anfänger-Themen 3
P White-Box-Test Verständnisproblem Java Basics - Anfänger-Themen 11
D : ? Operator -Verständnisproblem Java Basics - Anfänger-Themen 24
G Verständnisproblem: Exceptions Java Basics - Anfänger-Themen 17
L Eclipse verlangt "{" nach ";"... Verständnisproblem Java Basics - Anfänger-Themen 5
D charAt(i) verständnisproblem Java Basics - Anfänger-Themen 4
D Verständnisproblem Marken und Schleifen Java Basics - Anfänger-Themen 19
M Verständnisproblem bei Ternären Operanten bzw. Bedingungsoperator Java Basics - Anfänger-Themen 8
T Datentypen Verständnisproblem mit main Methode Java Basics - Anfänger-Themen 3
M Verständnisproblem Threads Java Basics - Anfänger-Themen 7
X Threads und synchronized - Verständnisproblem Java Basics - Anfänger-Themen 3
W ArrayLists: Verständnisproblem bei remove() Java Basics - Anfänger-Themen 2
B Verständnisproblem zu Swing und Methoden Java Basics - Anfänger-Themen 8
A Postinkrement-Verständnisproblem Java Basics - Anfänger-Themen 12
R Iterator Liste, Verständnisproblem Java Basics - Anfänger-Themen 4
1 Verständnisproblem mit Foreach Java Basics - Anfänger-Themen 4
B Verständnisproblem bei Vererbung Java Basics - Anfänger-Themen 3
W generisches Programmieren - Verständnisproblem Java Basics - Anfänger-Themen 4
A Verständnisproblem Nr 2 Java Basics - Anfänger-Themen 14
A Verständnisproblem Java Basics - Anfänger-Themen 6
A Array Verständnisproblem Java Basics - Anfänger-Themen 8
G Verständnisproblem --> JTree Java Basics - Anfänger-Themen 6
M Verständnisproblem mit der Klasse Thread Java Basics - Anfänger-Themen 10
N BufferedReader Verständnisproblem Java Basics - Anfänger-Themen 12
G Verständnisproblem: Code kompelieren und interpretieren Java Basics - Anfänger-Themen 3
S Polymorphie Verständnisproblem Java Basics - Anfänger-Themen 4
G Verständnisproblem Türme von Hanoi Java Basics - Anfänger-Themen 4
G Verständnisproblem Serverinput einlesen. Java Basics - Anfänger-Themen 4
J Array und Schleifen Verständnisproblem Java Basics - Anfänger-Themen 25
G Verständnisproblem Java Basics - Anfänger-Themen 4
N Verständnisproblem: Mehrere Objekte einer Klasse erstellen Java Basics - Anfänger-Themen 2
S SelectionListener + repaint().Verständnisproblem ;) Java Basics - Anfänger-Themen 7
V Verständnisproblem mit Abstrakten zu Konkreten Klassen Java Basics - Anfänger-Themen 7
A Problem mit der Stringgrösse, bzw Verständnisproblem? Java Basics - Anfänger-Themen 14
A Verständnisproblem mit ScrollPanel Java Basics - Anfänger-Themen 3
R Verständnisproblem mit Hibernate Java Basics - Anfänger-Themen 2
T Verständnisproblem mit equals() Java Basics - Anfänger-Themen 4
N datei byte für byte auslesen (verständnisproblem) Java Basics - Anfänger-Themen 2
T Verständnisproblem packages/import Java Basics - Anfänger-Themen 9
Chucky Lineare Listen Programm Verständnisproblem Java Basics - Anfänger-Themen 38
S for Schleifen: Verständnisproblem Java Basics - Anfänger-Themen 15
T Vererbung von Attributen und Methoden, Verständnisproblem Java Basics - Anfänger-Themen 4
bernd while-Schleife: Verständnisproblem Java Basics - Anfänger-Themen 7
S verständnisproblem drucken Java Basics - Anfänger-Themen 11
G GridBagLayout: Verständnisproblem Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben