D
DMX2310
Hi,
ich habe vor zwei Tagen angefangen ein Buch über Java durch zuarbeiten. Eigentlich klappt es ja ganz gut, aber ein paar Aufgaben(besonders die mit substring und irgendetwas mit length) sind mir zu schwer und da es keine Lösungen für die Aufgaben des Buches gibt wäre es nett wenn mir jemand den Quelltext mal so schreiben könnte wie es sein muss.
1. Aufgabe:
Die Klasse String definiert eine sondierende Operation length, die die Länge einer Zeichenkette zurückliefert. Sie hat folgende Signatur:
public int length()
Fügen Sie bedingte Anweisungen in den Konstruktor von Student ein, die eine Feglermeldiung ausgeben, wenn der Parameter vollerName weniger als vier Zeichen hat oder wenn matrNr weniger als drei Zeichen hat. In jedem Fall soll der Konstruktor die übergebenen Werte benutzen, um die Datenfelder zu initialisieren, auch wenn eine Fehlermeldung ausgegeben wird. Hinweis: Benutzen Sie eine if-Anweisung der folgenden Form (also ohne einen else-Teil), um die Fehlermeldung auszugeben:
if (führe eine Prüfung an eine mder Parameter aus) {
Fehlermeldung ausgeben, wenn die Prüfung true geliefert hat
}
Quelltext folgt:
/**
* 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.
*/
public Student(String vollerName, String matrNr)
{
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.
*/
public String gibLoginName()
{
return name.substring(0,4) + matrikelnummer.substring(0,3);
}
/**
* Gib Name und Matrikelnummer auf der Konsole aus.
*/
public void ausgeben()
{
System.out.println(name + " (" + matrikelnummer + ")");
}
}
2.Aufgabe:
Passen Sie Ihre Methode detailsAusgeben (Titel, Autor und Seitenanzahl sollen ausgegeben werden) so an, dass sie auch die Referenznummer mit ausgibt. Allerdings soll sie nur dann ausgegeben werden, wenn tatsächlich ein Wert eingetragen wurde - also wenn das Datenfeld eine nichtleere Zeichenkette enthält. Falls das Datenfald nicht gesetzt wurde, geben Sie stattdessen "ZZZ" aus. Hinweis: Benutzen Sie eine bedingte Anweisung, die in ihrer Prüfung die Methode length an refNummer aufruft.
Quelltext folgt:
/**
* Eine Klasse, deren Exemplare Informationen über ein Buch halten.
* Dies könnte Teil einer größeren Anwendung sein, einer
* Bibliothekssoftware beispielsweise.
*
* @author (Ihren Namen hier eintragen.)
* @version (das heutige Datum eintragen.)
*/
class Buch
{
// Exemplarvariablen
private String autor;
private String titel;
private int seiten;
private String refNummer;
/**
* Setze den Autor und den Titel, wenn ein Exemplar erzeugt wird.
*/
public Buch(String buchautor, String buchtitel, int buchseiten)
{
autor = buchautor;
titel = buchtitel;
seiten = buchseiten;
refNummer = "";
}
// weitere Methoden hier einfügen ...
public void autorAusgeben()
{
System.out.println("Autor: " + autor);
}
public void titelAusgeben()
{
System.out.println("Titel: " + titel);
}
public int gibSeiten()
{
return seiten;
}
public void detailsAusgeben()
{
System.out.println("Titel: " + titel + ", Autor: " + autor + ", Seiten: " + seiten);
}
public void setzeRefNummer(String ref)
{refNummer = ref;
System.out.println("Referenznummer: " + ref);
}
public void gibRefNummer()
{
System.out.println("Referenznummer: " + refNummer);
}
}
Danke schonmal
DMX2310
ich habe vor zwei Tagen angefangen ein Buch über Java durch zuarbeiten. Eigentlich klappt es ja ganz gut, aber ein paar Aufgaben(besonders die mit substring und irgendetwas mit length) sind mir zu schwer und da es keine Lösungen für die Aufgaben des Buches gibt wäre es nett wenn mir jemand den Quelltext mal so schreiben könnte wie es sein muss.
1. Aufgabe:
Die Klasse String definiert eine sondierende Operation length, die die Länge einer Zeichenkette zurückliefert. Sie hat folgende Signatur:
public int length()
Fügen Sie bedingte Anweisungen in den Konstruktor von Student ein, die eine Feglermeldiung ausgeben, wenn der Parameter vollerName weniger als vier Zeichen hat oder wenn matrNr weniger als drei Zeichen hat. In jedem Fall soll der Konstruktor die übergebenen Werte benutzen, um die Datenfelder zu initialisieren, auch wenn eine Fehlermeldung ausgegeben wird. Hinweis: Benutzen Sie eine if-Anweisung der folgenden Form (also ohne einen else-Teil), um die Fehlermeldung auszugeben:
if (führe eine Prüfung an eine mder Parameter aus) {
Fehlermeldung ausgeben, wenn die Prüfung true geliefert hat
}
Quelltext folgt:
/**
* 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.
*/
public Student(String vollerName, String matrNr)
{
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.
*/
public String gibLoginName()
{
return name.substring(0,4) + matrikelnummer.substring(0,3);
}
/**
* Gib Name und Matrikelnummer auf der Konsole aus.
*/
public void ausgeben()
{
System.out.println(name + " (" + matrikelnummer + ")");
}
}
2.Aufgabe:
Passen Sie Ihre Methode detailsAusgeben (Titel, Autor und Seitenanzahl sollen ausgegeben werden) so an, dass sie auch die Referenznummer mit ausgibt. Allerdings soll sie nur dann ausgegeben werden, wenn tatsächlich ein Wert eingetragen wurde - also wenn das Datenfeld eine nichtleere Zeichenkette enthält. Falls das Datenfald nicht gesetzt wurde, geben Sie stattdessen "ZZZ" aus. Hinweis: Benutzen Sie eine bedingte Anweisung, die in ihrer Prüfung die Methode length an refNummer aufruft.
Quelltext folgt:
/**
* Eine Klasse, deren Exemplare Informationen über ein Buch halten.
* Dies könnte Teil einer größeren Anwendung sein, einer
* Bibliothekssoftware beispielsweise.
*
* @author (Ihren Namen hier eintragen.)
* @version (das heutige Datum eintragen.)
*/
class Buch
{
// Exemplarvariablen
private String autor;
private String titel;
private int seiten;
private String refNummer;
/**
* Setze den Autor und den Titel, wenn ein Exemplar erzeugt wird.
*/
public Buch(String buchautor, String buchtitel, int buchseiten)
{
autor = buchautor;
titel = buchtitel;
seiten = buchseiten;
refNummer = "";
}
// weitere Methoden hier einfügen ...
public void autorAusgeben()
{
System.out.println("Autor: " + autor);
}
public void titelAusgeben()
{
System.out.println("Titel: " + titel);
}
public int gibSeiten()
{
return seiten;
}
public void detailsAusgeben()
{
System.out.println("Titel: " + titel + ", Autor: " + autor + ", Seiten: " + seiten);
}
public void setzeRefNummer(String ref)
{refNummer = ref;
System.out.println("Referenznummer: " + ref);
}
public void gibRefNummer()
{
System.out.println("Referenznummer: " + refNummer);
}
}
Danke schonmal
DMX2310