Blue J Aufgabe: Mitarbeiter und Telefonbuch

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Blue J Aufgabe: Mitarbeiter und Telefonbuch

    hallo, ich hab eine aufgabe gestellt bekommen, die ich mit java blue j lösen soll, ich hab nur absolut keinen ansatzpunkt, kann mir vielleicht jemand weiterhelfen , bin für jede hilfe dankbar...

    Es ist ein firmeninternes Telefonbuch zu entwickeln. Für jeden Mitarbeiter sind die Daten
    Name, Zimmernummer (<50) sowie Apparat-Nummer (zweistellig) zu verwalten. Erarbeiten
    Sie eine Klasse Mitarbeiter mit entsprechenden Merkmalen, geeigneten Konstruktoren
    sowie Zugriffsmethoden. Fügen Sie eine toString-Methode hinzu. Die Klasse Telefonbuch
    soll in der Lage sein, mehrere Mitarbeiter-Einträge zu verwalten. Neben Konstruktoren und
    Zugriffsmethoden ist eine Methode zu entwickeln, die für einen Namen die zugehörige
    Apparatnummer zurückgibt. Fügen Sie eine Ausgabe-Methode für das Telefonbuch hinzu.
    Erweitern Sie das Telefonbuch um weitere nützliche Methoden.
  • öhm... warum hast du keine ansatzpunkte?
    hier mal Ansatzpunkte für die Klasse Mitarbeiter
    Das vorgehen bei der Klasse Telefonbuch ist dann das selbe

    Erarbeiten Sie eine Klasse Mitarbeiter

    Quellcode

    1. public class Mitarbeiter


    Für jeden Mitarbeiter sind die Daten Name, Zimmernummer sowie Apparat-Nummer zu verwalten.

    Quellcode

    1. private String Name, Zimmernummer ApparatNummer;


    geeigneten Konstruktoren

    Quellcode

    1. public Mitarbeiter(String Name, int Zimmernummer, int ApparatNummer) {
    2. this.Name = Name;
    3. this.Zimmernummer = Zimmernummer;
    4. this.ApparatNummer = ApparatNummer;
    5. }


    Zimmernummer (<50) sowie Apparat-Nummer (zweistellig)

    Quellcode

    1. Mitarbeiter(String Name, int Zimmer.....) {
    2. if(Zimmernummer>50)
    3. throw('Falsche Eingabe: Zimmernummer');
    4. if(ApparatNummer>99)
    5. throw('Falsche Eingabe: Apparat-Nummer');
    6. ...
    7. }


    sowie Zugriffsmethoden.

    Quellcode

    1. public class Mitarbeiter {
    2. ...
    3. public String getName() {
    4. return this.Name;
    5. }
    6. public int getZimmernummer() {
    7. return this.Zimmernummer;
    8. }
    9. }


    Fügen Sie eine toString-Methode hinzu.

    Quellcode

    1. public class Mitarbeiter {
    2. ...
    3. public String toString() {
    4. return "\nName: "+this.getName()+
    5. "\nZimmernummer: "+this.getZimmernummer()+
    6. "\nApparat-Nummer: "+this.getApparatNummer();
    7. }
    8. }
  • Hilfe mit einer java Blue J Aufgabe

    so ich hab das jetz so zusammgestellt, aber das klappt nicht

    der sagt immer was von nem java.lang fehler...




    Quellcode

    1. /**
    2. * Beschreiben Sie hier die Klasse Mitarbeiter.
    3. *
    4. * @author (Ihr Name)
    5. * @version (eine Versionsnummer oder ein Datum)
    6. */
    7. public class Mitarbeiter
    8. {
    9. // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
    10. private String Name;
    11. private int Zimmernummer;
    12. private int ApparatNummer;
    13. /**
    14. * Konstruktor für Objekte der Klasse Mitarbeiter
    15. */
    16. public Mitarbeiter(String Name, int Zimmernummer, int ApparatNummer)
    17. {
    18. // Instanzvariable initialisieren
    19. this.Name=Name;
    20. this.Zimmernummer=Zimmernummer;
    21. this.ApparatNummer=ApparatNummer;
    22. }
    23. Mitarbeiter(String Name, int ZimmerNummer){
    24. if(Zimmernummer>50)
    25. throw("Falsche Eingabe: ZimmerNummer");
    26. if(ApparatNummer>99)
    27. throw("Falsche Eingabe: Apparat-Nummer");
    28. }
    29. /**
    30. * Ein Beispiel einer Methode - ersetzen Sie diesen Kommentar mit Ihrem eigenen
    31. *
    32. * @param y ein Beispielparameter für eine Methode
    33. * @return die Summe aus x und y
    34. */
    35. public String getName() {
    36. return this.Name;
    37. }
    38. public int getZimmernummer() {
    39. return this.Zimmernummer;
    40. }
    41. public String toString() {
    42. return "\nName: "+this.getName()+
    43. "\nZimmernummer: "+this.getZimmernummer()+
    44. "\nApparat-Nummer: "+this.getApparatNummer();
    45. }
    46. }
    Alles anzeigen
  • sry, das war pseudocode
    aber wenn ihr noch keine exceptions hattet, dann lass die exception besser weg
    kannst ja auch ein System.err.println() verwenden

    Quellcode

    1. /**
    2. * Beschreiben Sie hier die Klasse Mitarbeiter.
    3. * @author easy-coding.de
    4. */
    5. public class Mitarbeiter implements Comparable {
    6. private String Name;
    7. private int Zimmernummer, ApparatNummer;
    8. /**
    9. * Konstruktor für Objekte der Klasse Mitarbeiter
    10. * @param Name
    11. * @param Zimmernummer
    12. * @param ApparatNummer
    13. */
    14. public Mitarbeiter(String Name, int Zimmernummer, int ApparatNummer) {
    15. this.Name = Name;
    16. this.Zimmernummer = Zimmernummer;
    17. this.ApparatNummer = ApparatNummer;
    18. }
    19. /**
    20. * Konstruktor für Objekte der Klasse Mitarbeiter
    21. * @param Name
    22. * @param ZimmerNummer
    23. * @throws Exception
    24. */
    25. public Mitarbeiter(String Name, int Zimmernummer) throws Exception {
    26. if (Zimmernummer > 50)
    27. throw new Exception("Falsche Eingabe: ZimmerNummer");
    28. if (ApparatNummer > 99)
    29. throw new Exception("Falsche Eingabe: Apparat-Nummer");
    30. this.Name = Name;
    31. this.Zimmernummer = Zimmernummer;
    32. }
    33. public String getName() {
    34. return this.Name;
    35. }
    36. public int getZimmernummer() {
    37. return this.Zimmernummer;
    38. }
    39. public int getApparatNummer() {
    40. return this.ApparatNummer;
    41. }
    42. /**
    43. * Ueberschreibt die Ausgabefunktion
    44. */
    45. public String toString() {
    46. return "\nName: " + this.getName() +
    47. "\nZimmernummer: "+ this.getZimmernummer() +
    48. "\nApparat-Nummer: "+ this.getApparatNummer();
    49. }
    50. /**
    51. * Um spaeter in der Klasse Telefonbuch nach bestimmten Kriterien sortieren zu koennen
    52. * @return -1 wort kleiner / 0 wort gleich / 1 wort groesser
    53. */
    54. public int compareTo(Object o) {
    55. return this.Name.compareTo(((Mitarbeiter)o).getName());
    56. }
    57. }
    Alles anzeigen
  • Hilfe mit einer java Blue J Aufgabe

    oh gott das klappt, aber nu seh i ja gar nich durch das is ja so viel neues...

    ehm und ein problem, der erzeugt jetzt keine neuen objekte, ich hab zum üben das programm blue j und da kann man den neue objekte normalerweise mit erzeugen, aber jetzt klappt das nich das einzige was ich machen kann in eine maske die zum objekterstellen da is was eingeben aber wenn ich damitr fertig bin kann ich auf der objektskala nix sehen....
  • das klingt ganz nach FH Wismar. Willkommen im Club...

    Die Aufgaben hat er also immernoch drin, mein Gott *g*

    Ich durfte die auch schon machen und ich hab sie so gelöst: -> siehe Anhang.

    (Ich weiß aber nicht mehr genau ob sie funzt, und falls du Teile übernimmst, änder die Namen ;) )
    Dateien
    • Telefonbuch.rar

      (4,49 kB, 478 mal heruntergeladen, zuletzt: )
  • gib mal die genaue fehlermeldung..
    (das hab ich mir oben beim lang error auch schon gedacht)

    denn meistens kann man daraus schon auf das problem schließen und ich muss mir nicht extra die klasse herunterladen

    achso.. klassen zu basteln gehört zu den absoluten grundkenntnissen..
    lies dir lieber die vorlesungen nochmal durch, bis du es 100-prozentig verstanden hast
    Danach versuchs nochmal alleine - da hast du sicherlich mehr von
  • Java lernen mit Blue J

    Das war die origanale aufgabenstellung



    Wertungsaufgabe: Firmen-Telefonbuch
    Es ist ein firmeninternes Telefonbuch zu entwickeln. Für jeden Mitarbeiter sind die Daten
    Name, Zimmernummer (<50) sowie Apparat-Nummer (zweistellig) zu verwalten. Erarbeiten
    Sie eine Klasse Mitarbeiter mit entsprechenden Merkmalen, geeigneten Konstruktoren
    sowie Zugriffsmethoden. Fügen Sie eine toString-Methode hinzu. Die Klasse Telefonbuch
    soll in der Lage sein, mehrere Mitarbeiter-Einträge zu verwalten. Neben Konstruktoren und
    Zugriffsmethoden ist eine Methode zu entwickeln, die für einen Namen die zugehörige
    Apparatnummer zurückgibt. Fügen Sie eine Ausgabe-Methode für das Telefonbuch hinzu.
    Erweitern Sie das Telefonbuch um weitere nützliche Methoden.
  • UND nun kommt mein lösungsansatz....

    Klasse Mitarbeiter...

    Quellcode

    1. /**
    2. * Erstellen der Mitarbeiterdaten in Name, Zimmernummer und Apparatnummer.
    3. *
    4. * @author
    5. * @version 29.10.2006
    6. */
    7. public class Mitarbeiter
    8. {
    9. private String name;
    10. private int zimmerNummer;
    11. private String apparatNummer;
    12. /**
    13. * Standardkonstruktor
    14. */
    15. public Mitarbeiter()
    16. {
    17. name = "";
    18. zimmerNummer = -1;
    19. apparatNummer = "";
    20. }
    21. /**
    22. * Konstruktor erzeugt Mitarbeitername, Zimmernummer und Apparatnummer.
    23. */
    24. public Mitarbeiter (String name, int zimmerNummer, String apparatNummer)
    25. {
    26. this.name = name;
    27. if (zimmerNummer >= 0 && zimmerNummer < 50)
    28. this.zimmerNummer = zimmerNummer;
    29. else
    30. this.zimmerNummer = -1;
    31. if (apparatNummer.length() == 2)
    32. this.apparatNummer = apparatNummer;
    33. else
    34. this.apparatNummer = "";
    35. }
    36. /**
    37. * Setzen des Mitarbeiternamen.
    38. */
    39. public void setName (String name)
    40. {
    41. this.name = name;
    42. }
    43. /**
    44. * Ausgeben des Mitarbeiternamen.
    45. */
    46. public String getName()
    47. {
    48. return name;
    49. }
    50. /**
    51. * Setzen der Zimmernummer.
    52. */
    53. public void setZimmerNummer (int zimmerNummer)
    54. {
    55. if (zimmerNummer >= 0 && zimmerNummer < 50)
    56. this.zimmerNummer = zimmerNummer;
    57. else
    58. this.zimmerNummer = -1;
    59. }
    60. /**
    61. * Ausgabe der Zimmernummer
    62. */
    63. public int getZimmerNummer()
    64. {
    65. return zimmerNummer;
    66. }
    67. /**
    68. * Setzen der Apparatnummer.
    69. */
    70. public void setApparatNummer (String apparatNummer)
    71. {
    72. if (apparatNummer.length() == 2)
    73. this.apparatNummer = apparatNummer;
    74. else
    75. this.apparatNummer = "";
    76. }
    77. /**
    78. * Ausgabe der Apparatnummer.
    79. */
    80. public String getApparatNummer()
    81. {
    82. return apparatNummer;
    83. }
    84. /**
    85. * Rückgabe einer Zeichenkettenrepräsentation eines Mitarbeiters.
    86. */
    87. public String toString ()
    88. {
    89. return ("Name: " + name + " Zimmernummer: " + zimmerNummer +
    90. " Apparatnummer: " + apparatNummer);
    91. }
    92. }
    Alles anzeigen
  • ALso ich hab das damals so gemacht, dass ich in der Klasse das eigentliche Programm implementiert habe, also die main-Methode.

    Verwaltet wurden bei mir die Mitarbeiter über die Klasse "Verwaltung". Gespeichert habe ich die jeweiligen Mitarbeiter in einer ArrayList. Es sollte aber auch möglich sein das ganze in einem Array vom Typ "Mitarbeiter" zu machen.

    Kommt also drauf an, wie deine Klassen aufgebaut sind und wo das eigentliche Programm liegen soll.

    Ich empfehle dir folgendes: Schreibe eine Klasse Telefonbuch, die die Mitarbeiter verwaltet.
    Dann schreibe eine "Testklasse" oder "Programm" oder so, wo dann die jeweiligen Objekte erzeugt werden. Diese Testklasse führt dann die Funktionalitäten der anderen Klassen aus.

    soweit...
  • Java lernen mit Blue J

    Es ist ein firmeninternes Telefonbuch zu entwickeln. Für jeden Mitarbeiter sind die Daten
    Name, Zimmernummer (<50) sowie Apparat-Nummer (zweistellig) zu verwalten. Erarbeiten
    Sie eine Klasse Mitarbeiter mit entsprechenden Merkmalen, geeigneten Konstruktoren
    sowie Zugriffsmethoden. Fügen Sie eine toString-Methode hinzu. Die Klasse Telefonbuch
    soll in der Lage sein, mehrere Mitarbeiter-Einträge zu verwalten. Neben Konstruktoren und
    Zugriffsmethoden ist eine Methode zu entwickeln, die für einen Namen die zugehörige
    Apparatnummer zurückgibt. Fügen Sie eine Ausgabe-Methode für das Telefonbuch hinzu.
    Erweitern Sie das Telefonbuch um weitere nützliche Methoden.


    meine lösung zur klasse Mitarbeiter sieht wie folgt aus;


    Quellcode

    1. /**
    2. * Erstellen der Mitarbeiterdaten in Name, Zimmernummer und Apparatnummer.
    3. *
    4. * @author..........
    5. * @version......
    6. */
    7. public class Mitarbeiter
    8. {
    9. private String name;
    10. private int zimmerNummer;
    11. private String apparatNummer;
    12. /**
    13. * Standardkonstruktor
    14. */
    15. public Mitarbeiter()
    16. {
    17. name = "";
    18. zimmerNummer = -1;
    19. apparatNummer = "";
    20. }
    21. /**
    22. * Konstruktor erzeugt Mitarbeitername, Zimmernummer und Apparatnummer.
    23. */
    24. public Mitarbeiter (String name, int zimmerNummer, String apparatNummer)
    25. {
    26. this.name = name;
    27. if (zimmerNummer >= 0 && zimmerNummer < 50)
    28. this.zimmerNummer = zimmerNummer;
    29. else
    30. this.zimmerNummer = -1;
    31. if (apparatNummer.length() == 2)
    32. this.apparatNummer = apparatNummer;
    33. else
    34. this.apparatNummer = "";
    35. }
    36. /**
    37. * Setzen des Mitarbeiternamen.
    38. */
    39. public void setName (String name)
    40. {
    41. this.name = name;
    42. }
    43. /**
    44. * Ausgeben des Mitarbeiternamen.
    45. */
    46. public String getName()
    47. {
    48. return name;
    49. }
    50. /**
    51. * Setzen der Zimmernummer.
    52. */
    53. public void setZimmerNummer (int zimmerNummer)
    54. {
    55. if (zimmerNummer >= 0 && zimmerNummer < 50)
    56. this.zimmerNummer = zimmerNummer;
    57. else
    58. this.zimmerNummer = -1;
    59. }
    60. /**
    61. * Ausgabe der Zimmernummer
    62. */
    63. public int getZimmerNummer()
    64. {
    65. return zimmerNummer;
    66. }
    67. /**
    68. * Setzen der Apparatnummer.
    69. */
    70. public void setApparatNummer (String apparatNummer)
    71. {
    72. if (apparatNummer.length() == 2)
    73. this.apparatNummer = apparatNummer;
    74. else
    75. this.apparatNummer = "";
    76. }
    77. /**
    78. * Ausgabe der Apparatnummer.
    79. */
    80. public String getApparatNummer()
    81. {
    82. return apparatNummer;
    83. }
    84. /**
    85. * Rückgabe einer Zeichenkettenrepräsentation eines Mitarbeiters.
    86. */
    87. public String toString ()
    88. {
    89. return ("Name: " + name + " Zimmernummer: " + zimmerNummer +
    90. " Apparatnummer: " + apparatNummer);
    91. }
    92. }
    Alles anzeigen




    Jetzt brauch ich noch die Klasse Telefonbuch, die wie in der aufgabenstellung mehrere Mitarbeiter verwalten kann...


    Komm da nich weiter

    bin dankbar für jede hilfe
  • daran scheiter ich..

    Quellcode

    1. public class Telefonbuch {
    2. // instance variables
    3. private Mitarbeiter[] telbuch;
    4. private int ztb;
    5. private int max=50;
    6. //-- Constructor for objects of class Telefonbuch
    7. public Telefonbuch(){ this(max);}
    8. public Telefonbuch(int mx){ max=mx; telbuch = new Mitarbeiter[max]; ztb=0;}
    9. public int getTelNr(String mitarbeiter){
    10. int z=0;
    11. while(z<ztb && !telbuch[z].getName().equals(mitarbeiter)) z++;
    12. if(z==ztb) return -1; else return telbuch[z].getTelefon();
    13. }//gettelNr
    14. public void neuerMitarbeiter(String name, int tel, int zi){
    15. //-- Einfaches Anfuegen -- Sortiertes Einfuegen waere besser
    16. //-- Pruefung auf volles Array fehlt!
    17. telbuch[ztb] =new Mitarbeiter(name,tel,zi);
    18. ztb++;
    19. }//neuerMitarbeiter
    20. }//Telefonbuch
    Alles anzeigen



    beim compile da muckt er immer rum...