Klassen Konstruktor cannot find symbol

Loddakwin

Aktives Mitglied
Hallo Leute

also ich sitz jetzt schon eine weile an dem Problem der compiler spuckt immer wieder den selben fehlermeldung aus. "Cannot find symbol" es liegt am Kontruktor nur ich weiß nicht wieso das falsch sein sollte? Die aufgabe ist abzugeben also wird die Klasse BirthDay vom abgabesystem erstellt.

Mein Code bis jetzt:
Java:
public class Birthday {

    /*
     * Instance variables
     */
    final private String DATE_FORMAT = "d.m.yyyy";
    private String name; // Name des Jubilars
    private int day; // Tag des Geburtstages
    private int month; // Monat des Geburtstages
    private int year; // Jahr des Geburtstages
    /*
     * Constructors
     */
    public Birthday(String name, int day, int month, int year) {
        this.name = name;
        this.day = day;
        this.month = month;
        this.year = year;
    }

    public Birthday(BirthDay bd) {
        this.name = bd.getName();
        this.day = bd.getDay();
        this.month = bd.getMonth();
        this.year = bd.getYear();
    }
    // hab auch schon versucht so auf die Instanzvariablen zuzugreifen
public Birthday(BirthDay bd) {
        this.name = bd.name;
        this.day = bd.day;
        this.month = bd.month;
        this.year = bd.year;
    }

Ich hoffe ihr könnt mir einen tipp geben
 

Anhänge

  • Bildschirmfoto 2015-12-14 um 10.58.26.png
    Bildschirmfoto 2015-12-14 um 10.58.26.png
    186,8 KB · Aufrufe: 19
Zuletzt bearbeitet:

Joose

Top Contributor
Wo ist deine Frage?

Bitte den Fehler im Beitrag nochmal wiederholen und auch sagen wo genau er auftritt.
Ich kann jetzt nur raten und sagen im 2.Konstruktor verwendest du die getter-Methoden. Diese sehe ich in deiner Klasse aber nicht implementiert.
 

truesoul

Top Contributor
Hallo,

deine Klasse heißt Birthday und du übergibst ein BirthDay im Konstruktor.

Wobei das hier:
Java:
public Birthday(BirthDay bd) {
        this.name = bd.getName();
        this.day = bd.getDay();
        this.month = bd.getMonth();
        this.year = bd.getYear();
    }
    // hab auch schon versucht so auf die Instanzvariablen zuzugreifen
public Birthday(BirthDay bd) {
        this.name = bd.name;
        this.day = bd.day;
        this.month = bd.month;
        this.year = bd.year;
    }

auch nicht funktionieren wird.

Grüße
 

Loddakwin

Aktives Mitglied
Fehlermeldung:
Code:
Birthday.java:28: error: cannot find symbol
public Birthday(BirthDay bd) {
                ^
  symbol:   class BirthDay
  location: class Birthday
2 errors
reicht das?

Naja das hat mich auch gewundert ist aber in der angabe so drinnen? siehe screenshot
 

VfL_Freak

Top Contributor
Moin,

Fehlermeldung:
Code:
Birthday.java:28: error: cannot find symbol
public Birthday(BirthDay bd) {
                ^
  symbol:   class BirthDay
  location: class Birthday
2 errors
reicht das?
Naja das hat mich auch gewundert ist aber in der angabe so drinnen? siehe screenshot
Na, da hast Du es doch ... genauso, wie truesoul es schon sagte :rolleyes:

Viellicht liest Du einfach ganz aufmerksam das Bild mit der Aufgabe durch, das Du gepostet hast und als Tipp: vergleiche die entsprechenden Stellen :cool:

Gruß Klaus
 

Loddakwin

Aktives Mitglied
kann mir hier nochmal schnell wer helfen ?
Ich soll hier 2 geburtstage vergleichen mit nur einem Parameter?

Java:
// returns whether one birthday is on the same date, before or after
    public int compareDate(BirthDay bd) {
        if (bd.compareTo()) {
          
        }
       
    }

lg danke
 
K

kneitzel

Gast
Du hast da doch zwei Instanzen: Die, in der die Methode aufgerufen wird und die, die übergeben wird.

Also ähnlich wie im Konstruktor hast Du hier auch this.* und bd.*, die Du vergleichen kannst.

Konrad
 

VfL_Freak

Top Contributor
Hä ??? :eek: Hast Du Deinen eitrag editiert ???

In der E-Mail vom System steht noch
Java:
if (bd.compareTo(dateNow))
und das wäre dann ja das aktuelle Datum, mit verglichen wird .......

Gruß Klaus
 

Loddakwin

Aktives Mitglied
Habs gerade so versucht
Java:
String dayString = Integer.toString(day);
        String monthString = Integer.toString(month);
        String yearString = Integer.toString(year);

        String date = dayString + "." + monthString + "." + yearString;
      
        String bdDayString = Integer.toString(bd.day);
        String bdMonthString = Integer.toString(bd.month);
        String bdYearString = Integer.toString(bd.year);
      
        String bdDate = bdDayString + "." + bdMonthString + "." + bdYearString;
      
      
        if (date.compareTo(bdDate)) {
          
        }

Spuckt mir aber "Cannot convert from int to boolean" aus -.-

wh umständlicher geschrieben als es eigentlich ist ..
 

Neue Themen


Oben