| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: Java: Kann Programme nicht ausführen im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo, ich versuch mal alle Informationen zusammenzutragen. Habe j2sdk-1_4_2-nb-3_5_1-bin-windows.exe in das Verzeichnis H:\Programme\j2sdk_nb installiert. Der .bin- Ordner ist somit ...
![]() |
| | #1 (permalink) |
| Registriert seit: 18.04.02 ![]() Likes: 0 | Anzeige Hallo, ich versuch mal alle Informationen zusammenzutragen. Habe j2sdk-1_4_2-nb-3_5_1-bin-windows.exe in das Verzeichnis H:\Programme\j2sdk_nb installiert. Der .bin- Ordner ist somit hier: H:\Programme\j2sdk_nb\j2sdk1.4.2\bin Habe dann anschließend bei den Umgebungsvariablen unter Path folgendes manuell hinzugefühgt ( Alles was in rot steht): H:\Programme\j2sdk_nb\j2sdk1.4.2\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\Sy stem32\Wbem;H:\Programme\j2sdk_nb\j2sdk1.4.2\bin;"H:\Programme\Norton SystemWorks\Norton Ghost\";h:\Programme\Support Tools\;H:\PROGRA~1\SECUREFX Zum schreiben benutzt ich NetBeans IDE 3.5.1, was hier installiert ist: H:\Programme\j2sdk_nb\netbeans3.5.1\bin\runidew.ex e Während dieses Programm läuft: Code: public class Test
{
public static void main (String[] args)
{
System.out.println (" i");
System.out.println (" i**i");
System.out.println (" i**i**i");
System.out.println (" i**i**i**i");
System.out.println (" i**i**i**i**i");
System.out.println ("i**i**i**i**i**i**i");
System.out.println (" *");
System.out.println (" *");
}
} Code: class GanzeZahlen
{
public static void main(String args[]) {
int zahl; // speichert die Benutzereingabe
System.out.print("Geben Sie eine Zahl ein: ");
zahl = Eingabe.inteingabe();
System.out.println("Ihre Zahl: " + zahl);
}
} Code: import java.io.*;
public class Eingabe {
public static int inteingabe(){
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try{
return Integer.parseInt(in.readLine());
} catch(Exception e){
System.err.println("\ninvalid format !?!");
}
return Integer.MIN_VALUE;
}
public static String stringeingabe(){
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try{
return in.readLine();
} catch(Exception e){}
return null;
}
public static double doubleeingabe(){
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try{
return Double.parseDouble(in.readLine());
} catch(Exception e){
System.err.println("\ninvalid format !?!");
}
return Double.MIN_VALUE;
}
} Code: java.lang.NoClassDefFoundError: Wi-Inf/GanzeZahlen (wrong name: GanzeZahlen)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
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)
Exception in thread "main" THX für eure Hilfe. |
| | |
| | #2 (permalink) |
| Registriert seit: 05.03.03 ![]() Likes: 0 | Einen Fehler hab ich entdeckt: Klassen in Java sind abstract .. d.h. Du kannst mit ihnen nicht direkt arbeiten. Um mit einer Klasse arbeiten zu koennen, musst Du eine Instanz der Klassen bilden. (new) Eingabe eingabe = new Eingabe(); zahl = eingabe.inteingabe(); Allerdings sagt dies IMO die Fehlermeldung nicht aus ... Zeigt Dein CLASSPATH auch auf das Verzeichnis, wo GanzeZahlen und Eingabe stehen? |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Registriert seit: 08.01.04 ![]() Likes: 0 | @Deef: Das erste was du gesagt hast, stimmt so leider nicht ganz. Alle Methoden in Eingabe sind static. D.h. sie existieren schon bevor es eine instanz des Objektes gibt. Das mit der CLASSPATH-Variablen kann ich mir leider auch nicht vorstellen, weil sich Eingabe im selben Verzeichniss befindet. |
| | |
| | #4 (permalink) | |
| Member of Honour ![]() Registriert seit: 28.05.03 ![]() Likes: 1 | Zitat:
das is der falsche begriff (besser wäre: klassen sind objekte und man braucht eine instanz davon um mit dieser zu arbeiten, wenns nicht grad static ist) abstracte klassen haben das schlüsselwort abstract und von diesen klassen kann man keine instanzen erzeugen (weil die abstracten funktionen dort nur deklariert aber nicht implementiert werden) man kann sie nur als basisklasse für eine andere klasse verwenden und dort muss man dann alle abstracten funkionen implementieren @Quetzalcoatl versuch mal den . zum CLASSPATH hinzuzufügen damit auch im aktuellen arbeitsverzeichnis nach klassen gesucht wird und du musst den java befehl dann auch in dem ordner ausführen wo die class dateien liegen
__________________ http://livehabo.hackerboard.de | http://livebb.sourceforge.net | |
| | |
| | #5 (permalink) | |
| Guest Likes: | Zitat:
![]() Du hast zwar die Umgebungsvariablen für deine Javainstallation gesetzt, doch fehlt dir explizit das Verzeichnis in welchem du den Code ausfürhst. Du hast 2 Möglichkeiten: a.) dein "Working Directory" in welchem deine Projektfile liegen den globalen Pfaden hinzufügen b.) die beiden .java Dateien in ein "package" du schieben. Methode B ist vorzuziehen damit das Programm auch auf/in anderen Rechnern/Verzeichnissen läuft Schreibe dazu ganz oben (noch vor den imports!) in deine beiden Java-Files etwa folgendes: Code: package myproject; Edit: Bei mir klappt das Programm ansonsten so wie es ist einwandfrei: Code: Geben Sie eine Zahl ein: 23 Ihre Zahl: 23 | |
|
| | #6 (permalink) | |
| Guest Likes: | Zitat:
Edit: typecast hat allerdings dahingegen recht dass es auch mit einem Import von Eingabe allein funktionieren sollte | |
|
| | #7 (permalink) | |
| Themenstarter Registriert seit: 18.04.02 ![]() Likes: 0 | Zitat:
Ich habe jetzt einfach bei mir auf der Platte ein Ordner erstellt für das Projekt und den Classpath neu auf den Ordner gesetzt. Die Codes laufen jetzt. THX nochmal für eure Hilfe. Was mir nur grad auffällt ist das ich Plötzlich keine Java Applets mehr im Browser ausführen kann. Gibt es eine Möglichkeit die Classpath für das ganze System zu setzen? | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Java Array NICHT ausführen wenn kein Eintrag vorhanden | Havoc17 | Code Kitchen | 3 | 02.06.09 10:48 |
| Greasemonkey: Java-Script im anderen Frame ausführen? | theend | (Web-) Design und webbasierte Sprachen | 0 | 04.02.09 22:05 |
| Kann Exe-Datei nicht ausführen | mimili | (In)security allgemein | 3 | 29.06.05 17:13 |
| Programme auf netzwerkrechner ausführen. | kloppel | (In)security allgemein | 13 | 02.02.05 22:47 |
| kann einige programme unter xp nicht löschen ..wieso??? | martyberlin | Die Problemzone | 12 | 01.06.04 10:55 |