GUI mit if-Verzweigung kombiniert - Illegal start of expression (Dringend)

R

Rohrverleger

Gast
Schönen Abend

Ich schreib morgen eine Klausur Wirtschaftsgymnasium Stufe 13/1 im Fach Datenverarbeitung. Thema: GUI in Java
Die Gestaltung der Oberfläche, so wie die Lösung von einfachen Aufgaben bereitet mir keine Probleme. Doch mein Lehrer, den ich erst seit diesem Kurs habe, erwartet von uns, damit wir auch if-Verzweigungen anwenden können und da das schon eine längere Weile her ist, sind meine Fähigkeiten darin mittlerweile etwas eingerostet.
Zur Übung möchte ich einen simplen Zins-Rechner gestalten, bei dem man den aktuellen Kontostand eingibt und die Zinsen sowie den Kontostand am Ende des Jahres ausgegeben bekommt. Ist der Kontostand <=1000, so rechnet man mit nem Zinssatz von 2%, ist er <=1500, rechnet man mit einem Zinssatz von 5% und mit allem darüber mit nem Satz von 10%. Beim Klick auf den "Loeschen"-Button sollen alle Felderinhalte gelöscht werden.

Mein Quelltext schaut so aus:

Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/**
  *
  * description
  *
  * @version 1.0 from 12.12.2010
  * @author Rohrverleger
  */

public class Zinssatz extends JApplet {
  // Anfang Attribute
  private JLabel lblZinssatzrechner = new JLabel();
  private JLabel lblKontostand = new JLabel();
  private JLabel lblZinsen = new JLabel();
  private JLabel lblKontostandE = new JLabel();
  private JTextField tfKontostand = new JTextField();
  private JTextField tfZinsen = new JTextField();
  private JTextField tfKontostandE = new JTextField();
  private JButton btnLoeschen = new JButton();
  private JButton btnRechnen = new JButton();
  // Ende Attribute

  public void init() {
    Container cp = getContentPane();
    cp.setLayout(null);
    cp.setBounds(0, 0, 371, 524);
    // Anfang Komponenten
    lblZinssatzrechner.setBounds(8, 16, 150, 32);
    lblZinssatzrechner.setText("Zinssatzrechner");
    lblZinssatzrechner.setFont(new Font("MS Sans Serif", Font.PLAIN, 18));
    cp.add(lblZinssatzrechner);
    lblKontostand.setBounds(8, 96, 90, 20);
    lblKontostand.setText("Kontostand");
    lblKontostand.setFont(new Font("MS Sans Serif", Font.PLAIN, 15));
    cp.add(lblKontostand);
    lblZinsen.setBounds(8, 272, 48, 20);
    lblZinsen.setText("Zinsen");
    lblZinsen.setFont(new Font("MS Sans Serif", Font.PLAIN, 15));
    cp.add(lblZinsen);
    lblKontostandE.setBounds(8, 344, 124, 20);
    lblKontostandE.setText("Kontostand Ende");
    lblKontostandE.setFont(new Font("MS Sans Serif", Font.PLAIN, 15));
    cp.add(lblKontostandE);
    tfKontostand.setBounds(200, 96, 153, 24);
    tfKontostand.setText("");
    cp.add(tfKontostand);
    tfZinsen.setBounds(200, 272, 153, 24);
    tfZinsen.setText("");
    cp.add(tfZinsen);
    tfKontostandE.setBounds(200, 344, 153, 24);
    tfKontostandE.setText("");
    cp.add(tfKontostandE);
    btnLoeschen.setBounds(32, 416, 129, 33);
    btnLoeschen.setText("Löschen");
    btnLoeschen.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        btnLoeschen_ActionPerformed(evt);
      }
    });
    cp.add(btnLoeschen);
    btnRechnen.setBounds(208, 416, 121, 33);
    btnRechnen.setText("Rechnen");
    btnRechnen.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        btnRechnen_ActionPerformed(evt);
      }
    });
    cp.add(btnRechnen);
    // Ende Komponenten
  }

  // Anfang Methoden
  public void btnLoeschen_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
    tfKontostand.setText("");
    tfZinsen.setText("");
    tfKontostandE.setText("");
  }

  public void btnRechnen_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
    int Kontostand = Integer.parseInt(tfKontostand.getText());
    public double berechneZinsen() {
      double Zinsen;
      //Verzweigung
      if (Kontostand <= 1000)
      {
        Zinsen=Kontostand*0,02;
      }
      else if (Kontostand <= 1500)
      {
        Zinsen=Kontostand*0,05;
      }
      else
      {
        Zinsen=Kontostand*0,10;
      }
    }

    double KontostandE=Kontostand+Zinsen;
    tfZinsen.setText(" " +Zinsen);
    tfKontostandE.setText(" " +KontostandE);
  }

  // Ende Methoden
}

Nun gibt er mir aber folgende Fehler aus:

Compiliere C:\Dokumente und Einstellungen\<Name> mit Java-Compiler
Zinssatz.java:96:5: illegal start of expression
public double berechneZinsen() {
^
Zinssatz.java:96:33: ';' expected
public double berechneZinsen() {
^
Zinssatz.java:101:28: ';' expected
Zinsen=Kontostand*0,02;
^
Zinssatz.java:105:28: ';' expected
Zinsen=Kontostand*0,05;
^
Zinssatz.java:109:28: ';' expected
Zinsen=Kontostand*0,10;
^
5 errors



Bin momentan etwas verzweifelt, ich kenne mich nicht besonders gut aus und kann den Fehler nicht finden. Für die Klausur morgen sollte ich es aber können. Ich hoffe doch sehr, dass ihr mir mit dem wohl simplen Fehler helfen könnt und möglichst noch vor 8:15 am Montag Morgen ;-)
Schon einmal Danke!

MfG

Mario
 

andiv

Bekanntes Mitglied
Dein Fehler ist, dass du nicht einfach so eine Methode berechneZinsen() innerhalb einer anderen Methode schreiben darfst. Lass die berechneZinsen-Methode einfach weg.
 
R

Rohrverleger

Gast
Okay, sowas in der Art dachte ich mir schon. Doch was muss ich nun genau ändern bzw. weglassen? Einfach nur diese Zeile?

Java:
public double berechneZinsen() {

Nur das allein klappt nicht, folgende Fehler treten auf:


Compiliere C:\Dokumente und Einstellungen\<Name> mit Java-Compiler
Zinssatz.java:90:28: ';' expected
Zinsen=Kontostand*0,02;
^
Zinssatz.java:94:28: ';' expected
Zinsen=Kontostand*0,05;
^
Zinssatz.java:98:28: ';' expected
Zinsen=Kontostand*0,10;
^
Zinssatz.java:103:21: <identifier> expected
tfZinsen.setText(" " +Zinsen);
^
Zinssatz.java:103:22: illegal start of type
tfZinsen.setText(" " +Zinsen);
^
Zinssatz.java:103:25: ')' expected
tfZinsen.setText(" " +Zinsen);
^
Zinssatz.java:103:27: ';' expected
tfZinsen.setText(" " +Zinsen);
^
Zinssatz.java:103:33: illegal start of type
tfZinsen.setText(" " +Zinsen);
^
Zinssatz.java:103:34: <identifier> expected
tfZinsen.setText(" " +Zinsen);
^
Zinssatz.java:103:35: ';' expected
tfZinsen.setText(" " +Zinsen);
^
Zinssatz.java:104:18: illegal start of type
tfKontostandE.setText(" " +KontostandE);
^
Zinssatz.java:104:27: illegal start of type
tfKontostandE.setText(" " +KontostandE);
^
Zinssatz.java:104:30: ')' expected
tfKontostandE.setText(" " +KontostandE);
^
Zinssatz.java:104:32: ';' expected
tfKontostandE.setText(" " +KontostandE);
^
Zinssatz.java:104:43: illegal start of type
tfKontostandE.setText(" " +KontostandE);
^
Zinssatz.java:104:44: <identifier> expected
tfKontostandE.setText(" " +KontostandE);
^
Zinssatz.java:104:45: ';' expected
tfKontostandE.setText(" " +KontostandE);
^
17 errors



Ich danke wieder für die schnelle Hilfe bisher.
 
R

Rohrverleger

Gast
Okay, habe vergessen die zweite Klammer zu löschen, mein Quelltext schaut nun so aus:

Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/**
  *
  * description
  *
  * @version 1.0 from 12.12.2010
  * @author Rohrverleger
  */

public class Zinssatz extends JApplet {
  // Anfang Attribute
  private JLabel lblZinssatzrechner = new JLabel();
  private JLabel lblKontostand = new JLabel();
  private JLabel lblZinsen = new JLabel();
  private JLabel lblKontostandE = new JLabel();
  private JTextField tfKontostand = new JTextField();
  private JTextField tfZinsen = new JTextField();
  private JTextField tfKontostandE = new JTextField();
  private JButton btnLoeschen = new JButton();
  private JButton btnRechnen = new JButton();
  // Ende Attribute

  public void init() {
    Container cp = getContentPane();
    cp.setLayout(null);
    cp.setBounds(0, 0, 371, 524);
    // Anfang Komponenten
    lblZinssatzrechner.setBounds(8, 16, 150, 32);
    lblZinssatzrechner.setText("Zinssatzrechner");
    lblZinssatzrechner.setFont(new Font("MS Sans Serif", Font.PLAIN, 18));
    cp.add(lblZinssatzrechner);
    lblKontostand.setBounds(8, 96, 90, 20);
    lblKontostand.setText("Kontostand");
    lblKontostand.setFont(new Font("MS Sans Serif", Font.PLAIN, 15));
    cp.add(lblKontostand);
    lblZinsen.setBounds(8, 272, 48, 20);
    lblZinsen.setText("Zinsen");
    lblZinsen.setFont(new Font("MS Sans Serif", Font.PLAIN, 15));
    cp.add(lblZinsen);
    lblKontostandE.setBounds(8, 344, 124, 20);
    lblKontostandE.setText("Kontostand Ende");
    lblKontostandE.setFont(new Font("MS Sans Serif", Font.PLAIN, 15));
    cp.add(lblKontostandE);
    tfKontostand.setBounds(200, 96, 153, 24);
    tfKontostand.setText("");
    cp.add(tfKontostand);
    tfZinsen.setBounds(200, 272, 153, 24);
    tfZinsen.setText("");
    cp.add(tfZinsen);
    tfKontostandE.setBounds(200, 344, 153, 24);
    tfKontostandE.setText("");
    cp.add(tfKontostandE);
    btnLoeschen.setBounds(32, 416, 129, 33);
    btnLoeschen.setText("Löschen");
    btnLoeschen.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        btnLoeschen_ActionPerformed(evt);
      }
    });
    cp.add(btnLoeschen);
    btnRechnen.setBounds(208, 416, 121, 33);
    btnRechnen.setText("Rechnen");
    btnRechnen.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        btnRechnen_ActionPerformed(evt);
      }
    });
    cp.add(btnRechnen);
    // Ende Komponenten
  }

  // Anfang Methoden
  public void btnLoeschen_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
    tfKontostand.setText("");
    tfZinsen.setText("");
    tfKontostandE.setText("");
  }

  public void btnRechnen_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
    int Kontostand = Integer.parseInt(tfKontostand.getText());
      double Zinsen;
      //Verzweigung
      if (Kontostand <= 1000)
      {
        Zinsen=Kontostand*0,02;
      }
      else if (Kontostand <= 1500)
      {
        Zinsen=Kontostand*0,05;
      }
      else
      {
        Zinsen=Kontostand*0,10;
      }

    double KontostandE=Kontostand+Zinsen;
    tfZinsen.setText(" " +Zinsen);
    tfKontostandE.setText(" " +KontostandE);
  }

  // Ende Methoden
}

Aber dennoch zeigt er mir immer noch 3 Fehler an und ich komm einfach nicht auf die Lösung.

Zinssatz.java:90:28: ';' expected
Zinsen=Kontostand*0,02;
^
Zinssatz.java:94:28: ';' expected
Zinsen=Kontostand*0,05;
^
Zinssatz.java:98:28: ';' expected
Zinsen=Kontostand*0,10;
^
3 errors
 

ARadauer

Top Contributor
du musst die zahlen noch mit . statt dem , als Komma schreiben... dann solte das kompilieren... im Detail hab ich mir den Code nicht angesehen...
 

Tobse

Top Contributor
Ähm, aber du hast Java verstanden?
Okay, sowas in der Art dachte ich mir schon. Doch was muss ich nun genau ändern bzw. weglassen? Einfach nur diese Zeile?

Java Code: Quelltext in neuem Fenster öffnen

1



public double berechneZinsen() {


Nur das allein klappt nicht, folgende Fehler treten auf:
Na, überleg doch mal. Wenn du Java kannst, dann solltest du auch wissen, was du weglassen musst, um die Methode da rauszunehmen. Auch wundert micht: dass du zwar was probierst, das klappt nicht, also sollen wirs machen? Du bekommst doch n haufen Fehlermeldungen vom Compiler.

In dem Codeschnipsel oben (in dem Die Zeilenangaben vom Forum mit denen deiner Compiler-Fehlermeldung nicht wirklich übereinstimmen) sind es die Zeilen 86 und 101, die du löschen musst.

EDIT:
Ah, ok. Sorry, du hast es selbst gemerkt ;)
 
R

Rohrverleger

Gast
Ach Gottchen, auf den dämlichsten Fehler bin ich nicht gekommen.
Ich danke dir.
Das ist echt ein tolles Forum mit klasse Support.
Vielen Dank euch allen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Wie schreibe ich eine if-Verzweigung um, so dass ein Bedingungsoperator benutzt wird? Java Basics - Anfänger-Themen 9
M Wie verknüpfe ich eine Bedingung mit einer Methode ohne if-Verzweigung & Bedingungsoperator? Java Basics - Anfänger-Themen 2
Y Problem mit If-Else Verzweigung! Java Basics - Anfänger-Themen 9
D Schlüsselworte IF-Verzweigung Java Basics - Anfänger-Themen 13
K If Verzweigung ReturnWert Java Basics - Anfänger-Themen 4
S if verzweigung Java Basics - Anfänger-Themen 4
Ksanatos Ja nein verzweigung. Java Basics - Anfänger-Themen 22
P int-Wertevergleich mit if-else-Verzweigung Java Basics - Anfänger-Themen 3
P If-else-Verzweigung Java Basics - Anfänger-Themen 9
C Verzweigung Teil 2 Java Basics - Anfänger-Themen 13
D Wie wird diese Verzweigung genannt? Java Basics - Anfänger-Themen 6
A If-Verzweigung streikt Java Basics - Anfänger-Themen 4
J if() mit Methodenaufruf kombiniert (Pixelerkennung) Java Basics - Anfänger-Themen 3
N static und Objekt kombiniert?!? Java Basics - Anfänger-Themen 3
richrich99 error: illegal start of expression Java Basics - Anfänger-Themen 10
J Compiler-Fehler Illegal Start of expression / '/'expected Java Basics - Anfänger-Themen 3
T Not a Statement/Illegal Start of expression bei for Anweisung Java Basics - Anfänger-Themen 6
P ,,Illegal start of expression,, Java Basics - Anfänger-Themen 3
K Regex: illegal character range Java Basics - Anfänger-Themen 4
K illegal starts of expression Java Basics - Anfänger-Themen 2
S Compiler-Fehler illegal start of expression Java Basics - Anfänger-Themen 4
M "illegal start of type" eindimensionales Schiffe versenken Java Basics - Anfänger-Themen 7
P illegal start of expression wie löse ich das? Java Basics - Anfänger-Themen 2
O Methoden Fehlermeldung(Illegal start of expression) bei 4-Gewinnt-Spiel Java Basics - Anfänger-Themen 5
R AES Key 256 Illegal Key Size auch bei Änderung der Policy Java Basics - Anfänger-Themen 3
R illegal start of expression - 3 Strings vergleichen mit .equals () Java Basics - Anfänger-Themen 5
O Illegal Group Reference Java Basics - Anfänger-Themen 4
X Compiler-Fehler illegal start of expression Java Basics - Anfänger-Themen 9
P Illegal start of expression Java Basics - Anfänger-Themen 8
O Illegal start of expression Java Basics - Anfänger-Themen 3
L Illegal start of expression? Java Basics - Anfänger-Themen 4
S Illegal Start? Java Basics - Anfänger-Themen 4
L Illegal Start of Type, wie finde ich den fehler Java Basics - Anfänger-Themen 4
P BlueJ Fehlermeldung - Illegal Start of Type Java Basics - Anfänger-Themen 8
S illegal start of expression Java Basics - Anfänger-Themen 2
B Wieso ein Fehler? illegal Starts of expression? Java Basics - Anfänger-Themen 12
H Exception: illegal component position Java Basics - Anfänger-Themen 5
M [Hibernate] "Illegal start of expression"-Fehler b Java Basics - Anfänger-Themen 2
D "Illegal Start of Expression" und "; expected Java Basics - Anfänger-Themen 3
G Immer wieder illegal start of expression Java Basics - Anfänger-Themen 15
G Blue J - Fehlermeldung - identifier expected - illegal start Java Basics - Anfänger-Themen 6
E illegal start of expression Java Basics - Anfänger-Themen 4
S private String text; -> "Illegal start of expression Java Basics - Anfänger-Themen 7
B illegal start of expression Java Basics - Anfänger-Themen 6
S illegal start of expression Java Basics - Anfänger-Themen 2
L illegal start of expression? Java Basics - Anfänger-Themen 19
M Illegal Escape Character und keine Darstellung? Java Basics - Anfänger-Themen 7
F Einem Array Werte zuweisen. (illegal start of expression) Java Basics - Anfänger-Themen 4
J Fehlersuche - illegal start of expression Java Basics - Anfänger-Themen 3
D Illegal start of expression - nur warum ? Java Basics - Anfänger-Themen 3
G Fehler: Illegal Expression. Was mache ich falsch? Java Basics - Anfänger-Themen 4
T Methodenerror:"Illegal start of expression" Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben