cannot find symbol, symbol: constructor

sebolicious

Mitglied
Hallo, ich habe folgendes Problem:

Ich habe mir - um mich ein bisschen in Java zu üben - ein kleines Programm erstellt, das meine Dienste verwaltet und bearbeitet.

Kurzer Überblick:
ich habe einzelne Dienste, die in einer HashMap<String, Dienst>, der Klasse Dienstplan, gespeichert werden.
Zusätzlich möchte ich um mir einen Überblick zu verschaffen ein paar Bearbeitungen einbauen, einerseits eine bereits funktionstüchtige Histogramm-Ausgabe und andererseits eine Ausgabe von bestimmten Elementen aus dem Dienstplan (an der ich gerade scheitere).

Der Probleme verursachende Teil ist der Folgende,

der Aufruf in der Main Klasse:
Java:
String tag = scan.next();
OutputOperation dayoutput = new OutputOperation(dp);
System.out.println(dayoutput.tag(tag));

ich wollte hier nicht die ganze main Methode posten, da diese sehr groß ist, zur Erklärung:
scan ist - wie der Name vermuten lässt - mein Scanner
dp ist ein bereits gefüllter Dienstplan vom Typ HashMap<String, Dienst>

und meine OutputOperation Methode:
Java:
import java.util.*;
public class OutputOperation {
	
private Dienstplan dienstplan = new Dienstplan();
	
public Dienstplan OutputOperation(Dienstplan dienstplan) {
	return Dienstplan;
}
	
public Dienstplan tag(String tag) {
	return dienstplan; 	
}
}

Der Compiler gibt mir nun den Fehler:
Dienstplantester.java:34: cannot find symbol
symbol : constructor OutputOperation(Dienstplan)
location: class OutputOperation
OutputOperation dayoutput = new OutputOperation(dp);
........................................^

Vielen Dank im Voraus,
sebolicious
 
Anfänger ja? Okay, wie sag ich's... Die Klasse OutputOperation hat keinen Konstruktor. Aber sie hat eine Methode mit Konstruktornamen. Eigentlich sollte dich deine IDE vor solchen Dingen wie in Zeile 6 warnen, statt dessen liefet sie eine Fehlermeldung. Wenn du deine Klasse wie folgt änderst, sollte der Fehler nicht mehr auftauchen.
[JAVA=6]public class OutputOperation {

private final Dienstplan dienstplan;

public OutputOperation(Dienstplan dienstplan) {
this.dienstplan = dienstplan;
}

public Dienstplan tag(String tag) {
return dienstplan;
}
}[/code]Aber ich denke mal, du willst dir vom Dienstplan ausgeben lassen, ob du nicht zufällig an jenem Tag Urlaub hättest. Eine Methode [c]getTag(String tag)[/c] in der Klasse Dienstplan wäre da angebrachter (Aber ja nicht in einer Klasse "Chef" eine Methode "getUrlaub()" einfügen... das gibt Exceptions ohne Ende :lol🙂.
 
Jaa, dann erstmal ein ganz großes Facepalm >_<

Und als zweites ein großes Danke! Es funktioniert.

Und ja, ich würd mich schon noch als Anfänger werten..^^

Liebe Grüße,
sebolicious.
 

Zurück
Oben