Mein erstes Java Programm

M

Mahlzeit123

Mitglied
Hallo. Es geht um ein kleines Beispielprogramm, welches die Erzeugung von Book und Libraryelementen simuliert. Im Folgenden mein Quelltext:


  1. Hello Library
    Java:
    public class HelloLibrary {
    
      // Simulation durch main()
      public static void main(String[] args) {
      
       // Erzeugung von 2 Book-Objekten
      Book hdr = new Book("Herr der Ringe");
      Book hp = new Book("Harry Potter");
      
       // Erzeugung eines Library-Objektes
      Library slub = new Library();
      
       // register Books in Library
       slub register(hdr);
       slub register(hp);
        
    
       }
    
    }
  2. Book ->
    Java:
    public class Book {
    
      // Deklaration privater Titel
      private String title;
    
      // setzt privaten Titel auf Titel, der der Methode übergeben wird
      public Book(String title) {
        this.title = title;
      }
    
     
      
      }
  3. Library ->
    Java:
    public class Library {
     
         // deklariert privates Array von Büchern 
        private Book [] myBooks;
        
         // deklariert private Nummer
        private int number;
        
         // Methode stellt Bücherarray 10 Plätze zur Verfügung, setzt Number auf 0, macht Ausgabe
        public Library() {
            myBooks = new Book[10];
            number = 0;
            System.out.println("Hello, I am a small library for at most 10 books.");
            }
            
         // Methode registriert Buch an aktueller Stelle im Array, erhöht Number, macht Ausgabe
        public void register(Book book) {
            myBooks[number] = book;
            number += 1;
            System.out.println("A new book is registered: " + book);
         }
    }
Beim Kompillieren meldet die Konsole Probleme in folgenden Zeilen der HelloLibrary-class:
slub register(hdr);
slub register(hp);

Diese Zeilen sollen eigentlich lediglich die zuvor erzeugten Bücher in der zuvor erzeugten Library registrieren. Ich hab syntaktisch auch schon etwas rumprobiert, aber keine Lösung gefunden. Kann mir jemand auf die Sprünge helfen? :)

MfG
 
M

Major_Sauce

Bekanntes Mitglied
Jap, der Methodenaufruf wird in Java immer mit einem Punkt davor ausgeführt, bzw nicht nur der Methodenaufruf sondern alle Aufrufe in einer Klasse.

ps: Normalerweise sieht das erste Programm immerso aus:
Java:
System.out.println("Hello world !");

mfg Major
 
M

Mahlzeit123

Mitglied
Ach herrje, da hätt ich auch selber drauf kommen können :D Vielen Dank, jetzt läufts.

Einen kleinen Schönheitsfehler gibt es aber dennoch. Das Programm gibt nach "A new Book is registered:" nicht wie geplant den Titel, sondern den Speicherplatz des Buchs aus. Brauch ich dafür noch eine Extramethode, welche diesen in ein String umwandelt?

MfG
 
F

franky27

Bekanntes Mitglied
Du musst die toString() Methode deiner Books Klasse überschreiben, dass sie ausgibt was du möchstest.
 
M

Mahlzeit123

Mitglied
Um der kleinen Bibliothek wenigstens etwas Sinnhaftigkeit zu verleihen, hab ich mir ausgedacht eine kleine Ausleihfunktion zu integrieren.
Die Bücher haben also alle einen Status
Java:
  // Deklaration privater Ausleihstatus
  private boolean state;
+ Methoden zum "Getten und Setten" dieses Statusses
Java:
  // macht Ausleihstatus öffentlich
  public boolean getState() {
  return state;
}  

  // verändert Ausleihstatus
  public void setState(boolean state) {
  this.state=state;
  }
und eine GetTitle Methode
Java:
  // macht Titel öffentlich
  public String getTitle() {
    return title;
  }

Damit kann ich nun in meine Bibliothek eine Ausleih- und eine Suchmethode (weil man das Buch ja erst finden muss) implementieren.

Java:
      // deklariert private testnumber für Schleifensuche
    private int testnumber;
// Methode sucht ob es Buch mit übergebenen Titel in der Bibliothek gibt und gibt dieses zurück
     public Book search(String title){
     testnumber=0;
     while(testnumber<=number){
     if(myBooks[testnumber].getTitle().equals(title)) {
     return myBooks[testnumber];
     }
     else testnumber += 1;
     }      
     return null;
     }
     
     // Methode verleiht Buch mit übergebenen Titel
     public void loan(String title){     
     if(search(title)==null) System.out.println("Book is not registered");
     if(search(title).getState()==false) System.out.println("Book is not available at the moment.");
     else {
     System.out.println("Here you are.");
     search(title).setState(false);     
     }
     }

Soweit so gut. Funktioniert alles bis auf den Fall, dass kein Buch mit dem gewünschten Titel existiert. Wenn ich versuche ein solches Buch auszuleihen bekomm ich einen "java.lang.nullpointerexception"-Error. Dieser steht laut Google wohl dafür, dass der Skript auf nicht vorhandene Objekte zugreifen will. Das leuchtet mir auch ein, aber trotzdem muss ich diesen Fall doch abdecken können, wenn die search()-Methode eine null zurückgibt?
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
T mein erstes Java projekt Java Basics - Anfänger-Themen 8
T OOP Mein erstes Java-Spiel - Schiffe versenken! Java Basics - Anfänger-Themen 2
E Mein erstes Java Projekt - Sauberer code? Java Basics - Anfänger-Themen 28
M OOP Mein erstes Textadventure... Java Basics - Anfänger-Themen 3
M Mein erstes Programm Java Basics - Anfänger-Themen 3
1 Mein erstes Programm, HELP!! Java Basics - Anfänger-Themen 2
D Mein erstes Programm flackert Java Basics - Anfänger-Themen 5
B Methoden Mein erstes Programm - und gleich Probleme Java Basics - Anfänger-Themen 6
M Sammlung von Anfängerfragen für mein erstes Programm Java Basics - Anfänger-Themen 15
P Mein erstes JAR-File Java Basics - Anfänger-Themen 8
L Suche Verbesserungsvorschläge für mein erstes Programm Java Basics - Anfänger-Themen 34
Bierhumpen mein erstes großes Programm. Was ändern? verbessern? Java Basics - Anfänger-Themen 12
A Mein erstes Programm Java Basics - Anfänger-Themen 6
T Mein Programm hat Fehler Java Basics - Anfänger-Themen 4
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
S Wie ende ich mein Pogrammierung? [Hilfe] Java Basics - Anfänger-Themen 1
R Mein Plugin funktioniert nicht? Java Basics - Anfänger-Themen 10
J Mein Programm beendet sich ohne mein Zutun Java Basics - Anfänger-Themen 9
A Eine Krone in der Textausgabe - Mein Code Java Basics - Anfänger-Themen 11
M Warum berechnet mein Primzahlenprog zu hohe Zahlen nicht? Java Basics - Anfänger-Themen 20
G Mein Java Projekt funktioniert nicht Java Basics - Anfänger-Themen 5
W Wieso funktioniert mein Switch Case nicht ?! Java Basics - Anfänger-Themen 9
L Mein Taschenrechner lässt sich plötzlich nicht mehr öffnen Java Basics - Anfänger-Themen 5
x-tshainge Mein Programm lässt sich nicht Starten Java Basics - Anfänger-Themen 8
W Warum läuft mein Programm nicht? Java Basics - Anfänger-Themen 14
W Warum funktioniert mein Programm nicht ? Java Basics - Anfänger-Themen 12
W Warum funktioniert mein Programm nicht ? Java Basics - Anfänger-Themen 6
W Ist mein Struktogram richtig erstellt worden? Java Basics - Anfänger-Themen 4
W Erste Schritte Warum funktioniert mein Programm nicht ? ~if Anweisung~ Java Basics - Anfänger-Themen 4
A Erste Schritte Mein Programm erkennt die variable EinAus.readInt nicht Java Basics - Anfänger-Themen 15
N Warum terminiert mein Programm nicht? Java Basics - Anfänger-Themen 13
G Wie kann ich mein Quellcode als Programm vom desktop starten? Java Basics - Anfänger-Themen 1
P Wie kann ich mein Programm zu einer App umwandeln? Java Basics - Anfänger-Themen 4
A Mein 1x1 Programm funktioniert nicht? Java Basics - Anfänger-Themen 2
G Input/Output Wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
G Variablen Was ist mein Fehler? Java Basics - Anfänger-Themen 2
C Warum funktioniert mein If Statement nicht richtig? Java Basics - Anfänger-Themen 18
B Drucken: Default Paper von Drucker? Mein Drucker druckt falsch Java Basics - Anfänger-Themen 3
W Compiler-Fehler Fehler - <identifier> expected, wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
stylegangsta Input/Output Hat eclipse eine Macke oder mein Code Array Datei einlesen Java Basics - Anfänger-Themen 5
S Wieso wird mein JFrame transparent dargestellt? Java Basics - Anfänger-Themen 5
N mein RegEx Java Basics - Anfänger-Themen 2
N Mein Bubblesort sortiert mein Array nicht Java Basics - Anfänger-Themen 2
W Wie hat mein Lehrer das gemacht. Java Basics - Anfänger-Themen 2
Z Klassen Warum wird mein Objekt nicht erkannt? Java Basics - Anfänger-Themen 2
J Erste Schritte Zweithöchster Wert eines Arrays herausfinden - warum klappt mein Code nicht? Java Basics - Anfänger-Themen 3
A Wie kann ich mein Programm noch effizienter machen? Java Basics - Anfänger-Themen 1
C Mein Video zu Java Grundlagen Java Basics - Anfänger-Themen 8
T Eclipse kennt mein Button nicht... Java Basics - Anfänger-Themen 5
J Wo liegt nur an dieser einfachen Bedingung mein Fehler? Java Basics - Anfänger-Themen 8
E Mein eigener Listener (Hilfe gesucht) Java Basics - Anfänger-Themen 2
D Brauche Hilfe für mein übungsprogramm Java Basics - Anfänger-Themen 16
T Mein String in ein JLabel stecken Java Basics - Anfänger-Themen 2
H Kann ich mein Programm vereinfachen? Java Basics - Anfänger-Themen 3
J Methoden Wo ist mein Fehler ?! Java Basics - Anfänger-Themen 9
R .txt in mein Javaprogramm hineinschmelzen Java Basics - Anfänger-Themen 6
S Mein Code is unübersichtlich - besseren Stil Java Basics - Anfänger-Themen 6
H Ich kann mein Java Programm Test.class nicht ausführen Java Basics - Anfänger-Themen 6
H Probleme mein Ausführen der .class (Ubuntu JDK6) Java Basics - Anfänger-Themen 2
M Mein TableEvent problem Java Basics - Anfänger-Themen 3
C Boolsche Ausdrücke - Wo ist mein Fehler? Java Basics - Anfänger-Themen 14
propra Wie mache ich einem JPanel mein bereits instanziertes Model bekannt Java Basics - Anfänger-Themen 9
M Warum wird mein Icon bei den JTree Nodes nicht angezeigt? Java Basics - Anfänger-Themen 7
K Mein Programm... Heute: Settings-Datei in .jar speichern und auslesen Java Basics - Anfänger-Themen 9
M Kann mein Java Programm nicht starten Java Basics - Anfänger-Themen 6
V Mein erster Konstruktor Java Basics - Anfänger-Themen 3
S GaussJordan in Java, wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
O Warum terminiert mein Programm nicht!? Java Basics - Anfänger-Themen 15
U2nt Mein Chat Java Basics - Anfänger-Themen 10
S Wo ist mein Fehler? Java Basics - Anfänger-Themen 2
I OOP This-Referenzs > wo liegt mein Denkfehler? Java Basics - Anfänger-Themen 24
L Hashtable nicht wirklich geeignet für mein Vorhaben? Java Basics - Anfänger-Themen 3
W ArrayListe , Wo ist mein Fehler? Java Basics - Anfänger-Themen 6
H wie bekomm ich ein Foto in mein Programm rein? Java Basics - Anfänger-Themen 8
M Mein Externes Programm startet nicht Java Basics - Anfänger-Themen 13
M Timer unterbrechen? Wo ist mein Thread? Java Basics - Anfänger-Themen 2
S wieso ist mein Code falsch? Java Basics - Anfänger-Themen 2
S Mein Computer kennt "javac" und "java" nicht mehr! Java Basics - Anfänger-Themen 6
B XML? Für Uhrzeit und Datum für mein HP? Java Basics - Anfänger-Themen 6
JeromeM90 Mein Java Applet zeitverzögern ? Java Basics - Anfänger-Themen 2
Developer_X Mein erster Internet Explorer Java Basics - Anfänger-Themen 14
B könnte nochmal jemand über mein Projekt schauen? Java Basics - Anfänger-Themen 4
J Mein Objekt will nicht! Java Basics - Anfänger-Themen 2
Screen Scanner Arrays wo liegt mein Fehler? Java Basics - Anfänger-Themen 11
F.S.WhiTeY Java RegEx Will nicht so wie ich will. Wo ist mein fehler ? Java Basics - Anfänger-Themen 3
GambaJo Brauche Bewertung + Tipps für mein kleines Projekt Java Basics - Anfänger-Themen 4
W ich und mein erster Veresuch hilfe Java Basics - Anfänger-Themen 23
F Exception verweist nicht auf mein Programm Java Basics - Anfänger-Themen 10
I String, Split, match, wo liegt mein Fehler ? Java Basics - Anfänger-Themen 4
S Mein Quicksort Problem: he method quickSort(int[], int, int) Java Basics - Anfänger-Themen 2
K Warum akzeptiert der Compiler mein Objekt nicht ? Java Basics - Anfänger-Themen 3
K JPanel, JFrame, paint() und wo ist mein Viereck ? Java Basics - Anfänger-Themen 19
F Wie bekomme ich mein "Fenster"? Java Basics - Anfänger-Themen 3
O graphics methode zeigt mein bild nicht an Java Basics - Anfänger-Themen 7
L Hilfe, ich versteh nicht was mein Prof genau von mir will! Java Basics - Anfänger-Themen 9
ChackZz Java-Rätsel: Mein erster Versuch Java Basics - Anfänger-Themen 19
Y Failed to load mein class manifest from. Java Basics - Anfänger-Themen 17
F Wie benutze ich mein java programm ohne editor? Java Basics - Anfänger-Themen 2
N Mein Applet findet -online- einfach die Klasse nicht ! Java Basics - Anfänger-Themen 6
G Warum funktioniert mein Updater nicht? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben