"Programmieren lernen mit Java" Fehler

Chillerchief

Mitglied
Hallo Forum

Ich habe das Buch Programmieren lernen mit Java. Ich bin mir sicher ich habe den Code richtig abgeschrieben und auch als ich ihn kopiert habe gab es sogar noch mehr Fehler. Also der Code ist folgender:
Java:
/* Beispiel mit Programmfenster */

import java.awt.*;
import javax.swing.*;
public class GrussMitProgrammfenster extends JFrame {
    public GrussMitProgrammfenster() {
        super("Hallo");

        Icon icon = new ImageIcon("java-logo.jpg");
        JLabel label1 = new JLabel("Viel Erfolg beim", JLabel.CENTER);
        JLabel label2 = new JLabel ("Programmieren mit Java!", JLabel.CENTER);
        JLabel label3 = new JLabel(icon);
        Font schrift = new Font("SansSerif", Font.Bold, 24);
        label1.setFont(schrift);
        label1.setForeground(Color.red);
        label2.setFont(schrift);
        label2.setForeground(Color.red);
        Container c = getContentPane();
        c.setLayout(new FlowLayout());
        c.setBackground(Color.white);
        c.add(label1);
        c.add(label2);
        c.add(label3);j
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(300,250);
        setVisible(true);
    }
    
    public static void main(String [] args) {
        new GrussMitProgrammfenster();
    }
}

Und wenn ich es Compilieren will zeigt mir einen Fehler an (Bild im Anhang)
Ich wäre froh könnte sich jemand das mal anschauen 🙂
MfG
July
 

Anhänge

  • JavaFehler.png
    JavaFehler.png
    17,9 KB · Aufrufe: 119
Heisst das also der Fehler war nur bei dem j? Dumm dass ich das nicht gesehen habe 😀 Muss ich sonst noch was verändern? Jetzt sollte es eigentlich stimmen... Probiere es gleich wenn ich wiedrr zuhause bin 🙂 Danke!
 
Wenn du das
Java:
setDefaultCloseOperation(EXIT_ON_CLOSE);
so lässt, dann solltest du einen Compilerfehler bekommen, also dass auch ändern.
 
Blödsinn ... wenn man schon von JFrame erbt (was natürlich keinen sinn macht) kann man auch einfach EXIT_ON_CLOSE schreiben. Vorher mal selbst ausprobieren bevor man mist labert.
 
Finals sind immer groß zu schreiben, also:
Color.red => Color.RED
Color.white => Color.WHITE
Font.Bold => Font.BOLD
 
Also ich habe keine Ahnung ich probieres einfach mal 😀 Es geht erst um das compilieren etc. Noch keine codes selber schreiben sondern nur abschreiben 😉 Also ich probiers mal und geve dann nochmals ein Feedback 🙂 Danke !

Sent from my awesome Galaxy S III
 
Blödsinn ... wenn man schon von JFrame erbt (was natürlich keinen sinn macht) kann man auch einfach EXIT_ON_CLOSE schreiben. Vorher mal selbst ausprobieren bevor man mist labert.

1. Ist das wirklich nicht die Art und Weise, die wir hier gerne sehen, zumindest was das "...mist labert" angeht.

2. Ja du hast Recht, wenn man von JFrame erbt, dann genügt ein einfaches EXIT_ON_CLOSE.

3. Macht evtl. auch das erben von JFrame Sinn. Ich habe zum Beispiel eine Klasse VFrame, die von JFrame erbt und mir Konstruktoren bereitstellt, die ich presönlich gerne so hätte. EXIT_ON_CLOSE kann ich zum Beispiel mit einem einfachen boolean zuweisen. Dann kann ich einen Faktor angeben, in welchem Größenverhältnis zum Screen der Frame angezeigt wird und ob er in´s Zentrum des Screens gesetztwerden soll. usw., usf.

Demnach waren 2 deiner 3 Aussagen, wie du es nanntes "Blödsinn".

Wäre nett, wenn du in Zukunft ein wenig weniger herrablassend zu deinen Forenmitgliedern bist.

Gruß Vanny
 
Irgendwann werden auch in Swing Enums Einzug halten, was dann viel Freude bei allen auslösen wird, die an solchen Stellen [c]3[/c] statt [c]EXIT_ON_CLOSE[/c] geschrieben haben. Solche Konstanten waren von Anfang an nur eine Notlösung, und wer sie mit Werten statt Namen anspricht, bettelt um Ärger.
 
Fehler mit ';' expected beziehen sich meist immer auf die vorherige Zeile, in der man ein ; vergessen hat. Aus meiner Anfängerzeit weiß ich das noch 😉
 
Ich habe schon wieder eine (etwa 20) Fehlermeldungen 🙁 Woran liegt das?

Java:
/*Programm zum Testen der Verwendung von Variablen
Datum: 26.07.2012
*/

public calss Variablen1 {
    public static void main(String [] args) {
    // Variablendeklarationen
        byte bZahl;
        short sZahl;
        int iZahl;
        long lZahl;
        float fZahl;
        double dZahl;
        boolean bestanden;
        char zeichen;

    // Wertzuweisungen
        bZahl = 28;
        sZahl = -18453;
        iZahl = 4356576;
        lZahl = 345236577970L;
        fZahl = 4.37456678f;
        dZahl = 3645.564782;
        bestanden = true;
        zeichen = '%';

    // Ausgabe der Variablenwerte
         system.out.print("bZahl=");
         system.out.println(bZahl);
         system.out.print("sZahl=");
         system.out.println(sZahl);
         system.out.print("iZahl=");
         system.out.println(iZahl);
         system.out.print("lZahl=");
         system.out.println(lZahl);
         system.out.print("fZahl=");
         system.out.println(fZahl);
         system.out.print("dZahl=");
         system.out.println(dZahl);
         system.out.print("bestanden=");
         system.out.println(bestanden);
         system.out.print("zeichen=");
         system.out.println(zeichen);
    }
}
 

Anhänge

  • Error.png
    Error.png
    23,8 KB · Aufrufe: 53
Hey,

Java:
System.out.printLn

System ist eine Klasse und muss groß geschrieben werden, und "printLn" ist eine vordefinierte Methode, die der Compiler nur dann erkennt, wenn die Groß- und Kleinschreibung beachtet wird.

Edit: Hmm... schon wieder zu spät 😀
 
Wenn du schon die "float" und "long" Variablen mit einem Buchstaben als Erkennungsmerkmal versiehst, kannst du das auch bei deiner "double" Variable machen.
Java:
dZahl = 3645.564782D;
jedoch muss du es nicht 😀 Normalerweise muss man keinen Buchstaben hinter dem Wert der Variable setzen, da diese eigentlich nur der Übersichtlichkeit dienen. Spätestens wenn du ein Java Programm dekompilierst erkennst du, dass der Decompiler automatisch solche Buchstaben setzt.
Somit sind diese eigentlich nicht unbedingt von Bedeutung.

MfG
 
Zuletzt bearbeitet:
Es zeigt mir immer noch Fehler an und zwar auf dem S von System obwohl jetzt alles gross geschrieben ist...

Edit: Alle Fehler waren, weil ich class falsch geschrieben hatte :lol: Sorry ^^
Aber danke 🙂
 
Zuletzt bearbeitet:
Jetzt wo du es sagst, fällt es mir auch auf, dass du
Java:
class
falsch geschrieben hast. 😀

Edit #19: Habe die Methode
Java:
println
mit einer anderen verwechselt. Natürlich muss diese komplett klein geschrieben werden. 😳

Naja.. mein Fehler.
 
Wenn du schon die "float" und "long" Variablen mit einem Buchstaben als Erkennungsmerkmal versiehst, kannst du das auch bei deiner "double" Variable machen.
Java:
dZahl = 3645.564782D;
jedoch muss du es nicht 😀 Normalerweise muss man keinen Buchstaben hinter dem Wert der Variable setzen, da diese eigentlich nur der Übersichtlichkeit dienen. Spätestens wenn du ein Java Programm dekompilierst erkennst du, dass der Decompiler automatisch solche Buchstaben setzt.
Somit sind diese eigentlich nicht unbedingt von Bedeutung.
Probier das doch einmal selbst aus:
Java:
        long lZahl = 345236577970;
        float fZahl = 4.37456678;
Das wird garantiert zu einem Compile Error führen, denn das Literal L bzw. f ist hier mitnichten optional!
 
Ich würde mal ein anderes Tuturial nehmen,
wenn alles was da drin steht falsch ist.
Andererseits fördert das deine Fähigkeiten beim
debuggen🙂
 
Zuletzt bearbeitet:

Zurück
Oben