S
Susi
Gast
Hallo ... warum funktioniert dieser Code nicht? Kann mir jemand helfen?
liegt das Problem an der doppelten if-Anweisung bei "gib LoginName"? Ist sie falsch geschrieben? Müsste ja praktisch name+matrikelnummer gleichzeitung auf ihre
substrings untersuchen?
Wenn mir jemand helfen kann bitte auf niedrigstem Niveau Very Happy ...haben JAVA-Programmierung erst seit ein paar Wochen und ich kann keine Befehle verwenden die wir noch gar nicht gelernt haben bzw. nie lernen werden..
Vielen herzlichen Dank schon mal im voraus.
LG Susi
Code:
/**
* Diese Klasse definiert Studenten in einem Uni-Verwaltungssystem.
* Sie beschreibt die Details von Studenten, die für unseren Kontext
* relevant sind.
*
* @author Michael Kölling und David J. Barnes
* @version 1.0 (3. Januar 2003)
*/
public class Student
{
// der volle Name des Studierenden
private String name;
// seine Matrikelnummer
private String matrikelnummer;
// die Anzahl der bereits erworbenen Scheine
private int scheine;
/**
* Erzeuge einen neuen Studenten mit Name und Matrikelnummer.
* Wenn weniger als 4 Buchstaben und weniger als 3 Ziffern eingegeben werden
* gib eine Warnung aus, führe die Eingabe aber trotzdem durch.
*/
public Student(String vollerName, String matrNr)
{
if (vollerName.length()<4)
{
System.out.println("Bitte geben Sie mindestens einen vier-stelligen Namen ein!");
}
if (matrNr.length()<3)
{
System.out.println("Bitte geben Sie mindestens eine drei-stellige Matrikelnummer ein!");
}
name = vollerName;
matrikelnummer = matrNr;
scheine = 0;
}
/**
* Liefere den vollen Namen dieses Studenten.
*/
public String gibName()
{
return name;
}
/**
* Trage einen neuen Namen ein.
*/
public void nameAendern(String neuerName)
{
name = neuerName;
}
/**
* Liefere die Matrikelnummer dieses Studenten.
*/
public String gibMatrikelnummer()
{
return matrikelnummer;
}
/**
* Erhöhe die Anzahl der erworbenen Scheine.
*/
public void erhoeheScheinanzahl(int weitereScheine)
{
scheine += weitereScheine;
}
/**
* Liefere die Anzahl der bereits erworbenen Scheine.
*/
public int gibScheinanzahl()
{
return scheine;
}
/**
* Liefere den Login-Namen. Der Login-Name ist eine Kombination der
* ersten vier Buchstaben des Namens mit den ersten drei Ziffern der
* Matrikelnummer.
* Wenn keine vier Buchstaben eingegeben wurden liefere
* einfach die eingegeben Buchstaben ab, wenn mehr als 4 Buchstaben eingegeben
* wurden dann berschränke den Buchstaben-Teil im Login-Namen auf die ersten 4 Ziffern.
* Wenn keine drei Ziffern eingegeben wurden liefere
* einfach die eingegeben Ziffern ab, wenn mehr als 3 Ziffern eingegeben
* wurden dann berschränke den Ziffern-Teil im Login-Namen auf die ersten 3 Ziffern.
*/
public String gibLoginName()
{
if (name.length()<4){
return name;
}
else{
return name.substring(0,4);
}
{
if (matrikelnummer.length()<3){
return matrikelnummer;
}
else{
return matrikelnummer.substring(0,3);
}
}
/**
* Gib Name und Matrikelnummer auf der Konsole aus.
*/
public void ausgeben()
{
System.out.println(name + " (" + matrikelnummer + ")");
}
}
liegt das Problem an der doppelten if-Anweisung bei "gib LoginName"? Ist sie falsch geschrieben? Müsste ja praktisch name+matrikelnummer gleichzeitung auf ihre
substrings untersuchen?
Wenn mir jemand helfen kann bitte auf niedrigstem Niveau Very Happy ...haben JAVA-Programmierung erst seit ein paar Wochen und ich kann keine Befehle verwenden die wir noch gar nicht gelernt haben bzw. nie lernen werden..
Vielen herzlichen Dank schon mal im voraus.
LG Susi