![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Benutzer Registriert seit: 19.03.2005
Beiträge: 35
|
Hallo zusammen, ich versuch mich mal weiter durch mein Java-Buch zu arbeiten. Über das abtippen von Programmbeispielen kann man geteilter Meinung sein, ich meine jedoch das man hierdurch das erste Gefühl für eine Sprache bekommt. Also versuche ich die Beispiele zu verstehen. Hier das Beispiel: Code: package ch04.rectangle;
class rectangle {
public static void main(String[] arguments) {
int height;
int width;
int area;
height = 1;
width = 5;
area = height * width;
System.out.println("Fl\u00e4che = " + area + " m^2");
}
}
Code: java rectangle
Exception in thread "main" java.lang.NoClassDefFoundError: rectangle (wrong name: ch04/rectangle/rectangle)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
Viele Grüße pixel |
| | |
| | Nach oben #2 |
| Erfahrener Benutzer Registriert seit: 29.05.2004
Beiträge: 228
|
Ausführlich: http://www.javaworld.com/javaworld/j...claration.html Kürzer: Packages sind eine Zusätzliche Organisationseinheit die quasi über den Klassen steht. Das gleiche gibts in C++ mit den Namespaces. Dies ermöglicht dir z.B. eine Klasse "Button" zu haben und damit zu arbeiten wie wenn nichts wäre obwohl es in der Package java.awt schon eine Button-Klasse gibt. Gäbe es keine Packages wüsste Java nicht welche jetzt gemeint ist -> Konflikt d.h. Exception und der User hat keine Freude. Wenn du keine Package angibst kommen die Klassen in ein "Default-Package", d.h. alle Klassen ohne Packageangabe sind im selben Package. Für kleine Testanwendungen macht eine eigene Package keinen Sinn, wenns etwas grösser wird hingegen schon - auch weil evtl. jemand die Werke zweier Leute kombinieren will und es dann nicht zu Namenskonflikten kommen soll (deshalb sind auch oft die Internetadressen des Erstellers - z.B. net.sf/blabla/zeugs im Packagenamen verewigt. Damit du obige Java-Datei kompilieren könntest müsstest du sie 1) In einen Ordner ch04 Stecken 2) javac und java aus dem darüberliegenden Ordner ausführen, also javac ch04/bla.java java ch04.bla (wobei beim javac bin ich mir jetzt gerade nicht so sicher, aber beim Java ists bestimmt so, das weiss ich) MfG Peschmä
__________________ Amazon.de | The Java Trap | Freie Software | Freie Software vs. Open Source | GNU Classpath | GCJ | SableVM "We should forget about small efficiencies, say about 97% of the time: Premature optimization is the root of all evil." - Donald Knuth |
| | |
| | Nach oben #3 | |
| Benutzer Registriert seit: 19.03.2005
Beiträge: 35
| Zitat:
Ich habe einfach mal etwas rumgespielt. Soweit ich das jetzt verstanden habe setzt sich der Pfad, in welchem gesucht wird so zusammen: Code: package ch04;
class Rectangle {
[...]
wärend: Code: package ch04.rectangle;
class Rectangle {
[...]
sucht. Ich habe einfach mal die Groß- Klein- Schreibung verändert um zu sehen was der Fehler ausgibt. Viele Grüße pixel | |
| | |
| | Nach oben #4 |
| Benutzer Registriert seit: 19.03.2005
Beiträge: 35
|
Hallo zusammen, aufbauend auf dem o.g. Beispiel werden nun die unterschiedlichen Datentypen in Java erklärt und so wie das im Buch abgedruckt ist funktioniert das schon wieder nicht. Das Beispiel wurde so geändert: Code: class Rectangle {
public static void main(String[] arguments) {
byte height;
byte width;
byte area;
height = 1;
width = 5;
area = (byte) height * width;
System.out.println("Fl\u00e4che = " + area + " m^2");
}
}
Code: ch04/ex02/Rectangle.java:9: possible loss of precision
found : int
required: byte
area = (byte) height * width;
^
1 error
Viele Grüße pixel |
| | |
| | Nach oben #5 |
| Benutzer Registriert seit: 19.03.2005
Beiträge: 35
|
ok, meine Freundin **schäm** hat den Fehler gefunden. Es muß heisen: Code: area = (byte) (height * width); Viele Grüße pixel |
| | |
| | Nach oben #6 | |
| Erfahrener Benutzer Registriert seit: 29.05.2004
Beiträge: 228
| Zitat:
Ist aber nur eine Vermutung, habe gerade mein schlaues Buch nicht hier... MfG Peschmä
__________________ Amazon.de | The Java Trap | Freie Software | Freie Software vs. Open Source | GNU Classpath | GCJ | SableVM "We should forget about small efficiencies, say about 97% of the time: Premature optimization is the root of all evil." - Donald Knuth | |
| | |
| | Nach oben #7 |
| Benutzer Registriert seit: 19.03.2005
Beiträge: 35
|
Hallo, ich habe mir dann auch noch die anderen Datentypen bzw. deren deklaration angesehen. Da ist es ja wieder anderst. Beim Typ long wird hinter dem Wert dann noch ein L gestellt. Das ist etwas verwirrend. Viele Grüße pixel |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Packages und Strukturen im Eclipse | WarrenFaith | Eclipse | 14 | 12.03.2007 10:00 |
| Frage zu PEAR Package AuthHttp | la-finest | PEAR, PECL und Frameworks | 2 | 03.10.2006 15:56 |
| java standards für package Namen | bosk | Allgemeine Java-Programmierung | 1 | 20.12.2005 14:57 |
| Was ist ein package? | raZed | Allgemeine Java-Programmierung | 2 | 08.05.2005 09:42 |
| package in package in eclispe | p-flash | Allgemeine Java-Programmierung | 1 | 31.03.2005 06:27 |