BlueJ - Erstellen von Objekten mit Fehlermeldung

Peter Griffin

Commander
Registriert
Jan. 2010
Beiträge
2.884
Ich möchte ein Objekt von einer Klasse in BlueJ erstellen, doch nachdem ich die erforderlichen Daten eingegeben habe, kommt eine Fehlermeldung (siehe Anhang). Der Quelltext meiner Klasse sieht folgendermaßen aus (erfolgreich kompiliert):
Code:
public class Buch 
{
    private int seiten;
    private String autor;
    private String titel;
        
    private String refNummer;
    
    public Buch(String buchautor , String buchtitel, int seitenAnzahl)
    {
        autor = buchautor;
        titel = buchtitel;
        seiten = seitenAnzahl;
        refNummer = "";
    }
    
    public void setzeRefNummer(String ref)
    {
        refNummer = ref;
    }    
    
    public String gibAutor()
    {
        return autor;
    }    
    
    public String gibTitel()
    {
        return titel;
    }
    
    public void autorAusgeben()
    {
        System.out.println("Der Autor dieses Buches hat den Namen: " + autor);
    }    
    
    public void titelAusgeben()
    {
        System.out.println("Der Buchtitel lautet: " + titel);
    }    
    
    public int gibSeiten()    
    {
        return seiten;
    }
    
    public void detailsAusgeben()
    {
        System.out.println("Titel: " + titel + ", Autor: " + autor + ", Seiten: " + seiten);
    }
 
    
}
Autor und Titel sind ja als String eingestuft, Seitenzahl hingegen als integer.
Ich sehe da überhaupt nicht durch, was aber auch kein Wunder bei unserem Infolehrer ist. :lol: Google habe ich auch schon bemüht, aber nichts Brauchbares dazu gefunden.

Danke im Voraus. :)
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    11,7 KB · Aufrufe: 309
Zuletzt bearbeitet:
"3" != 3
steht doch dabei: expected java.lang.String but expected int
Wenn du schon mit Strings arbeiten möchtest, musst du prüfen ob es nur Zahlen sind und die dann intern mittels (int) casten, was ich aber für schlecht halte.

Sowas hat auch nichts mit dem Infolehrer oder Google zu tun. Dein "Problem" heißt starke Typisierung und zeichnet z.A. die Sprache Java aus - du musst dich schon an die Vorgaben halten, oder beschwerst du dich wenn du Diesel in deinen Benziner tankst und dann der Wagen nicht mehr vernünftig arbeitet?
 
Zuletzt bearbeitet:
"3" != 3
steht doch dabei: expected java.lang.String but expected int
Danke erstmal für die Antwort, leider hilft mir das erstmal nicht weiter. Was bedeutet das Ausrufezeichen mit dem Gleichheitszeichen und der 3 dahinter? Muss das irgendwo im Programmiercode stehen? Also wie gesagt, ich bin, was das angeht, Legastheniker. ^^
 
ich denke es geht darum das auf dem screenshot bei seitenzahl "3" eingetragen ist.

!= steht in der programmierung für nicht gleich, ungleich etc.

Da seitenzahl ein int wert ist hätte ich erwartet das auch in der eingabe maske 3 eingetragen wird (ohne ""), da anführungszeichen eigentlich immer strings markieren.
 
st0rax schrieb:
Da seitenzahl ein int wert ist hätte ich erwartet das auch in der eingabe maske 3 eingetragen wird (ohne ""), da anführungszeichen eigentlich immer strings markieren.
Vielen Dank, jetzt geht es endlich. :D :)
 
Zurück
Oben