Buchführungsprogramm

sevael

Mitglied
Hallo Leute!
Ich habe einen Thread zur selben Aufgabe in diesem Forum gefunden, habe allerdings ein anderes Problem mit der Aufgabe; Falls ich mein Problem unter den anderen Thread hätte setzen sollen, bitte ich um Entschuldigung!

Nun zu meiner Aufgabe:

Es sollen Buchfuehrungseintraege verwaltet werden. Erstellen Sie dafuer eine Klasse
BookingEntry. Diese Klasse enthaelt die Attribute consecutiveNumber (ein int),
purpose (ein String) und ein value (ein float).
Schreiben Sie eine Klasse Booking mit einer main-Methode. Hier sollen vier
BookingEntry Objekte erzeugt werden. Fuellen sie die Objekte mit folgenden Werten: [...]

Die Aufgabe ansich war kein Problem, das Programm funktioniert in NetBeans einwandfrei... Das einzige Problem bekomme ich, wenn ich mit javac die Booking.java kompilieren möchte. von der BookingEntry.java ließ sich eine .class Datei erstellen, nur wenn ich von der Booking.java Datei eine .class Datei erstellen möchte, bekomme ich folgenden error:

error: cannot find symbol
symbol: class BookingEntry
location: class Booking

Die BookingEntry.java und die Booking.java sind natürlich im selben Package.

Vielen Dank im Vorraus!


Edit: http://www.java-forum.org/hausaufgaben/128256-buchfuehrungsprogramm.html der Link zum anderen Thread, habe die Aufgabe im Grunde auf die selbe Weise gelöst.
 

sevael

Mitglied
Wie genau kann ich das importieren? Bekomme nun die Fehlermeldung "Package "BookingEntry" does not exist".

Okay, grad korrigiert; Die Meldung "Import aus dem selben Package" kann ich ignorieren?
 

sevael

Mitglied
Java:
package booking;

import booking.BookingEntry;

public class Booking {

    public static void main(String[] args) {
        
        BookingEntry bookingentry1 = new BookingEntry();

So sieht der Anfang nun aus.


Edit: Grad probiert per cmd auszuführen, klappt noch nicht :( Was könnte ich noch falsch machen? Bin totaler Java-Anfänger...
 
Zuletzt bearbeitet:

turtle

Top Contributor
Grad probiert per cmd auszuführen, klappt noch nicht

Was heisst das?

Rechner stürzt ab, die Erde verdunkelt sich, so dass Du den Bildschirm nicht lesen konntest, oder es kam eine Fehlermeldung, oder?

PS: Wenn beide Klassen im gleichen Package sind, brauchst Du die import-Zeile NICHT.
 
Zuletzt bearbeitet:
S

SlaterB

Gast
einen import für Klassen im selben package brauchst du nicht

du musst aber javac vom Grundverzeichnis, ein Verzeichnis höher als die Klasse (da eine package-Ebene) ausführen,
und die Verzeichnisnamen müssen auch immer zu den packages passen

c:/test/booking/BookingEntry.java
c:/test/booking/Booking.java

aus c:/test/ ausführen:
javac booking/Booking.java

evtl.
javac -cp . booking/Booking.java
 

sevael

Mitglied
Falls das irgendwie weiterhilft, hier mal meine Klassen:

Java:
package booking;

import booking.BookingEntry;

public class Booking {

    public static void main(String[] args) {
        
        BookingEntry bookingentry1 = new BookingEntry();
            bookingentry1.consecutiveNumber = 1;
            bookingentry1.purpose = "bus-ticket";
            bookingentry1.value = -20.00f;
            
        BookingEntry bookingentry2 = new BookingEntry();
            bookingentry2.consecutiveNumber = 2;
            bookingentry2.purpose = "sold book";
            bookingentry2.value = +50.25f;
            
        BookingEntry bookingentry3 = new BookingEntry();
            bookingentry3.consecutiveNumber = 3;
            bookingentry3.purpose = "sold car";
            bookingentry3.value = +4012.12f;
            
        BookingEntry bookingentry4 = new BookingEntry();
            bookingentry4.consecutiveNumber = 4;
            bookingentry4.purpose = "bought used car";
            bookingentry4.value = -2135.13f;
            
         float total;
         total = 500.00f;
        
         
          System.out.println ("1.: " + total);
 
            System.out.println ("2.: " + bookingentry1.consecutiveNumber +" "+bookingentry1.purpose +" "+ bookingentry1.value );
            total = total + bookingentry1.value;
            System.out.println ("3.: " + total);
 
            System.out.println ("4.: " + bookingentry2.consecutiveNumber +" "+bookingentry2.purpose +" "+ bookingentry2.value );
            total = total + bookingentry2.value;
            System.out.println ("5.: " + total);
 
            System.out.println ("6.: " + bookingentry3.consecutiveNumber +" "+bookingentry3.purpose +" "+ bookingentry3.value );
            total = total + bookingentry3.value;
            System.out.println ("7.: " + total);
 
            System.out.println ("8.: " + bookingentry4.consecutiveNumber +" "+bookingentry4.purpose +" "+ bookingentry4.value );
            total = total + bookingentry4.value;
            System.out.println ("9.: " + total);
         
         
        
    }
}

Und die 2.:

Java:
package booking;


public class BookingEntry {
    
    int consecutiveNumber;
    String purpose;
    float value;
}
 

sevael

Mitglied
einen import für Klassen im selben package brauchst du nicht

du musst aber javac vom Grundverzeichnis, ein Verzeichnis höher als die Klasse (da eine package-Ebene) ausführen,
und die Verzeichnisnamen müssen auch immer zu den packages passen

c:/test/booking/BookingEntry.java
c:/test/booking/Booking.java

aus c:/test/ ausführen:
javac booking/Booking.java

evtl.
javac -cp . booking/Booking.java

Vielen Dank! Genau das wars, hatte javac immer direkt im Verzeichnis booking ausgeführt. mit javac bookin\Booking.java hats geklappt!
 

Neue Themen


Oben