Projekte in 2 versch. Arbeitsbereichen: auf ein Projekt verweisen (ohne Fehler zu bekommen)

Diskutiere Projekte in 2 versch. Arbeitsbereichen: auf ein Projekt verweisen (ohne Fehler zu bekommen) im Java Basics - Anfänger-Themen Bereich.
C

Codix

Hallo zusammen.

Danke.

Ich bin auf dem Weg zur Lösung einer komplexen Aufgabe, in der verlangt wird, dass sie in 2 versch. Arbeitsbereichen bearbeitet wird.

Aufgabenstellung:

Erstellen Sie eine wiederverwendbare Klasse Rechnungen mit Klassenmethoden in einem Paket javaauf4. Die erste Methode quadrat() der Klasse soll das Quadrat einer übergebenen Zahl berechnen und die zweite Methode wurzel() die Quadratwurzel einer übergebenen Zahl.Für das Berechnen der Quadratwurzel können Sie die Methode sqrt() aus der Klasse Math verwenden. Die Methode erwartet einen double-Typ als Argument und liefert einen double-Typ zurück. Eine Import-Anweisung ist für die Klasse nicht erforderlich, da sie zum Paket java.lang gehört. Erstellen Sie von der Methode quadrat() jeweils eine Version, die int-Typen ver-arbeitet und einen int-Typ zurückliefert, und eine Version, die double-Typen ver-arbeitet und einen double-Typ zurückliefert. Der Aufruf soll aber nur durch den Namen quadrat() erfolgen.

Welcher Typ verarbeitet werden soll, muss die Funktion selbst anhand des Arguments feststellen können.

Kommentieren Sie die Klasse Rechnungen ausführlich. Erstellen Sie dann eine Klasse in einem Projekt in einem anderen Arbeitsbereich, die in einer main()-Methode die Klassenmethoden aus der Klasse Rechnungen jeweils mit einem int- und einem double-Wert aufruft. Nehmen Sie die Klasse Rechnungen dabei über einen Verweis in das Projekt mit der Testklasse auf. Beschreiben Sie bitte für die Lösung dieser Aufgabe zusätzlich, welche Schritte Sie mit Eclipse für das Erstellen der wiederverwendbaren Klasse durchführen und wie Sie die Klasse Rechnungen in das Projekt mit der Testklasse einbinden.

Code im ersten Arbeitsbereich (auf den ich im zweiten Arbeitsbereich verwiesen habe):

============================================================
package package7_4;

public class Rechnungen {
// Quadratwurzel
public static double quadratwurzel(double wert) {
return Math.sqrt(wert);
}

// Quadrat von int-Wert
public static int quadrat(int wert) {
return wert * wert;
}

// Quadrat von double-Wert
public static double quadrat(double wert) {

return wert * wert;

}
}

===========================================================

Code im zweiten Arbeitsbereich (mit dem Verweis auf den Code im ersten Arbeitsbereich):

package einsendeaufgabe7;

public class TestKlasse {

public static void main(String[] args) {

System.out.println("Das Quadrat von 4 ist " + Rechnungen.quadrat(4));

System.out.println("Das Quadrat von 5.3 ist " + Rechnungen.quadrat(5.3));

System.out.println("Die Quadratwurzel von 4 ist " + Rechnungen.quadratwurzel(4));

}

}

===========================================================

Ich bekomme beim Verweisen verschiedene Fehler rein: siehe angehängte Screenshots. Bitte um schnellstmögliche Hilfe bei der Fehlerbehebung.

Danke im Voraus.

Codix
 

Anhänge

Zuletzt bearbeitet:
J

JustNobody

Also beim ersten und dritten Bildschirmfoto ist die Klasse Rechnungen im default package (Steht da in der Baum-Darstellung doch auch deutlich).

Daher wird die package Zeile angemeckert, denn da gibst Du ein package an, in dem die Klasse nicht ist. Und daher kannst Du auf die Klasse nicht zugreifen, denn das default package kann nicht von außerhalb des package referenziert werden.
 
C

Codix

@JustNobody
ich habe einfach den Verweis gemacht und Eclipse hat das so einpackt, in die default package. Ich weiss auch nicht warum.
Was schlägst du vor, damit das beim Verweisen nicht mehr passiert (,dass eclipse alles in die default package packt)?
Sollte ich beim Verweisen spezielle Regeln beachten?
Danke im Voraus
 
Kirby_Sike

Kirby_Sike

Beim erstellen einer Klasse wirst du gepromtet ob du ein Package erstellen möchtest und da kannst du es machen :)
 
C

Codix

also wie bekomme ich jetzt die default package weg? Ich habe versucht den Verweis nochmals neu zu erstellen, aber dort kommt keine Auswahlmöglichkeit vor (default package oder keine). Versteht ihr wie ich das meine?
 
J

JustNobody

Ich arbeite normalerweise nicht mit eclipse aber bei Eclipse sollte es so sein wie bei jeder IDE: Erstelle einfach ein package, das Du haben willst und dann schieb die Datei da rein.

Ggf. kann Eclipse aber auch aktiv einen Fehler beheben. Bei IntelliJ gehe ich auf die Zeile, in der so ein Fehler ist und drücke Alt - Enter und dann bietet Eclipse mir Lösungsideen an.

Ich habe auch keine Ahnung, wie Du das so hin bekommen hast. Hast Du die Klasse erst so erstellt und dann später einfach die package Zeile von Hand hinzugefügt? Sowas geht in der Regel alles in der GUI der IDE. Also Package erstellen und Klassen, die da drin sein sollen, rein verschieben.
 
C

Codix

Ich arbeite normalerweise nicht mit eclipse aber bei Eclipse sollte es so sein wie bei jeder IDE: Erstelle einfach ein package, das Du haben willst und dann schieb die Datei da rein.

Ggf. kann Eclipse aber auch aktiv einen Fehler beheben. Bei IntelliJ gehe ich auf die Zeile, in der so ein Fehler ist und drücke Alt - Enter und dann bietet Eclipse mir Lösungsideen an.

Ich habe auch keine Ahnung, wie Du das so hin bekommen hast. Hast Du die Klasse erst so erstellt und dann später einfach die package Zeile von Hand hinzugefügt? Sowas geht in der Regel alles in der GUI der IDE. Also Package erstellen und Klassen, die da drin sein sollen, rein verschieben.
danke für die Antwort.
Ich habe das so gemacht: ich habe in einem Arbeitsbereich Javaprojekt: Aufgaben =>package: package7_4 => class Rechnungen erstellt.
&
im 2.ten Arbeitsbereich: ist ein anderes Java-Projekt: Aufgaben7 =>Paket testklasse mit einer Klasse TestKlasse (main class).

jetzt bin ich im 2.ten arbeitsbereich und gehe auf Ordner Aufgaben7 , rechte Maustaste, Erstellungspfad, Quelle verlinken, wähle package7_4 oder Aufgaben aus (aus dem ersten Arbeitsbereich, habe beides schon probiert) und bekomme die default package oder lipse ändert den Namen des Packets auf src.package7_4 und added ein bin.package7_4 paket dazu.

Meldung in der Klasse Rechnungen:
in der Zeile package package7_4: Das deklarierte Paket "package7_4" stimmt nicht mit dem erwarteten Paket "src.package7_4" überein
 
J

JustNobody

Also da ich nicht mit Eclipse arbeite, wenn es sich vermeiden lässt, kann ich da nicht ganz sicher etwas zu sagen.

Aber mir scheint, dass das package7_4 sowas wie ein eingebundenes Source Verzeichnis ist und eben kein package. Dafür spricht auch das zweite Bildschirmfoto: Da hast Du "src" als root für den Source in dem dann package7_4 als package ist. So ist der Ordner, den Du als package ansiehst, halt erst als root Ordner verwendet...

Das ist aber, was ich aus den Bildschirmfotos ablese. Aus der Fehlermeldung jetzt ersehe ich, dass der Source Ordner nun der Projektordner zu sein scheint, d.h. der src Ordner ist für Ihn schon ein Package und damit erwartet er ein package src.package7_4 in der java Datei....

Du musst den / die Ordner mit den Sourcen sauber im Projekt markieren. Wenn das falsch ist, dann rennst Du in genau diese Probleme.
 
Thema: 

Projekte in 2 versch. Arbeitsbereichen: auf ein Projekt verweisen (ohne Fehler zu bekommen)

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben