Mein Lehrbuch: Hans-Peter Habelitz - Programmieren lernen mit Java
Ich habe das Programm "Bruchmultiplikation" mit der Klasse "Bruch" erfolgreich unter den Namen "BruchmultiplikationN" und "BruchN" geschrieben. Es funktiniert tadellos.. Nun will ich es mit der downgeloadeteten Lösung des Autors vergleichen. Diese aber liefert die Fehlermeldung "Error: Could not find or load main class de.habelitz.uebung06.Bruchmultiplikation".
Java:
Code:
Java:
packagede.habelitz.uebung06;/*
* Programm Bruchmultiplikation
* @author Hans-Peter Habelitz
* @date 2019-08-29
*/importjavax.swing.JOptionPane;publicclassBruchmultiplikation{publicstaticvoidmain(String args[]){var eingabe =JOptionPane.showInputDialog("Geben Sie den Zähler von Bruch a ein: ");var z =Integer.parseInt(eingabe);
eingabe =JOptionPane.showInputDialog("Geben Sie den Nenner von Bruch a ein: ");var n =Integer.parseInt(eingabe);var a =newBruch(z, n);
eingabe =JOptionPane.showInputDialog("Geben Sie den Zähler von Bruch b ein: ");
z =Integer.parseInt(eingabe);
eingabe =JOptionPane.showInputDialog("Geben Sie den Nenner von Bruch b ein: ");
n =Integer.parseInt(eingabe);var b =newBruch(z, n);var c = a.multipliziere(b);System.out.println("Bruch a: "+ a.bruchToString());System.out.println("Bruch b: "+ b.bruchToString());System.out.println("Bruch c: "+ c.bruchToString());}}
Vermutlich hast Du die Java-Datei nicht im zum Paket passenden Ordner liegen. Die müsste in Deinem Source-Verzeichnis, dort unter de/habelitz/uebung06 liegen.
Wo liegt denn denn die Datei und wie heisst diese?
Wenn Du ein Java Projekt in Eclipse angelegt hast, dann sollten die Sourcen alle in dem Verzeichns src liegen.
Wenn ein Package angegeben wird, so muss dies als Verzeichnisstruktur verwendet werden, wobei die . durch / ersetzt werden. Der Code sollte also bei dem Projekt in src/de/habelitz/uebung06/Bruchmultiplikation.java liegen.
Dann schau mal, was er Dir genau für Probleme in der Datei meldet. Da sind Fehler in der Datei und daher kann er das nicht übersetzten. Da die Datei sich nicht übersetzen lässt, wird keine .class erzeugt und damit kann er die Klasse auch nicht finden.
Also einfach mal etwas nach unten scrollen um zu schauen, woran es scheitert.
Evtl. erkennt er die Klasse Bruch nicht, weil die Klasse Bruch auch rot markiert ist. Daher wäre die Folgefrage: Was stimmt bei Dir mit Bruch nicht?
Grundsätzlich ist es ein guter Ratschlag:
* Keine Compile-Fehler irgendwo zu haben - jedes deiner Projekte hat rote X, was darauf hindeutet, dass irgendwas nicht kompiliert.
Das führt zu Folgefehlern und kann je nach Build-Tool auch dazu führen, dass eigentliche saubere Klassen nicht gebaut werden, weil der Build vorher abbricht.