Anfänger benötigt Hilfe... (Kopfrechentrainer 6te Klasse)

Diskutiere mit über: Anfänger benötigt Hilfe... (Kopfrechentrainer 6te Klasse) im Mac OS X Entwickler, Programmierer Forum

  1. whistler

    whistler Thread Starter MacUser Mitglied

    Beiträge:
    868
    Zustimmungen:
    54
    Registriert seit:
    06.10.2005
    moin,

    ich habe einmal die woche informatik.
    wir befassen uns nun schon seit 4 wochen mit java und haben die aufgabe bekommen, ein programm zu schreiben. nun ist mir schon bewusst, dass hier keine hausaufgaben gemacht werden sollen, allerdings ist es dies ja nicht (mehr so ein klassenprojekt).

    die aufgabe war, einen rechentrainer für die 6te klasse zu programmieren.
    so wirklich hilfe/erklärung gab es aber nicht, nur beim direkten nachfragen.
    nun kann dies schon ziemlich lange dauern, wenn man so ziemlich keine ahnung von java hat und für jedes kleines problem zum lehrer rennen muss...

    folgendes awt applet hab ich nun (mehr oder weniger) alleine hinbekommen, allerdings wäre es nett, wenn mir jmd mit ein paar (hoffe ich) kleinigkeiten helfen könnte:

    -das ergebnisfeld wird rot, wenn das ergebnis falsch ist

    -die button der rechenaufgaben alle in ein drop-down menü zusammenfügen

    -wenn man auf 'aufgabe' klickt, wird eine neue aufgabe generiert (momentan klappt das nicht so recht. eine neue aufgabe wird nur generiert, wenn man ein falsches/richtiges ergebnis eingegeben hat. wenn man nun aber keine lust hat, diese aufgabe zu berechnen, sollte es trotzdem möglich sein, eine neue aufgabe generieren zu lassen)

    -in der statistik noch eine extra anzeige für 'von:x aufgaben' ( falsch:x richtig:x von:x aufgaben )


    vielen, vielen dank im voraus,

    whistler


    Code:
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.Random;
    
    /*Java Rechentrainer für Klasse 6
    v 1.0b*/
    
    public class Rechentrainer extends Applet {
      // Anfang Variablen
      private Button buaddition = new Button();
      private Button busubtraktion = new Button();
      private Button bumultiplikation = new Button();
      private Button budivision = new Button();
      private TextField tfaufgabe = new TextField();
      private TextField tfergebnis = new TextField();
      private Label lbrechenart = new Label();
      private Label lbergebnis = new Label();
      private Button buaufgabe = new Button();
      private Button bubestaetigung = new Button();
      private Label lbstatistik = new Label();
      String rechenart="";
      int wert1=0;
      int wert2=0;
      String aufgabe="";
      int reergebnis=0;
      int richtig=0;
      int falsch=0;
    
      // Ende Variablen
    
      int zufallszahl(int o){
        Random generator=new Random();
        int zahl;
        zahl=generator.nextInt(o);
        return(zahl);
      }
    
      public void init() {
        setLayout(null);
        // Anfang Komponenten
        buaddition.setLabel("Addition");
        buaddition.setBounds(15,15,75,30);
        add(buaddition);
        buaddition.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            buadditionActionPerformed(evt); } });
    
        busubtraktion.setLabel("Subtraktion");
        busubtraktion.setBounds(100,15,75,30);
        add(busubtraktion);
        busubtraktion.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            busubtraktionActionPerformed(evt); } });
    
        bumultiplikation.setLabel("Multiplikation");
        bumultiplikation.setBounds(185,15,75,30);
        add(bumultiplikation);
        bumultiplikation.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            bumultiplikationActionPerformed(evt); } });
    
        budivision.setLabel("Division");
        budivision.setBounds(270,15,75,30);
        add(budivision);
        budivision.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            budivisionActionPerformed(evt); } });
    
        tfaufgabe.setBounds(50,100,150,30);
        add(tfaufgabe);
    
        tfergebnis.setBounds(200,100,150,30);
        add(tfergebnis);
    
        lbrechenart.setBounds(50,80,130,15);
        lbrechenart.setText("");
        add(lbrechenart);
    
        lbergebnis.setBounds(200,80,60,15);
        lbergebnis.setText("Ergebnis:");
        add(lbergebnis);
    
        buaufgabe.setBounds(50,150,70,30);
        buaufgabe.setLabel("Aufgabe");
        add(buaufgabe);
        buaufgabe.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            buaufgabeActionPerformed(evt); } });
    
        bubestaetigung.setBounds(200,150,80,30);
        bubestaetigung.setLabel("Bestaetigung");
    
        add(bubestaetigung);
        bubestaetigung.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            bubestaetigungActionPerformed(evt); } });
    
        lbstatistik.setText("richtige Antworten:                  falsche Antworten:");
        lbstatistik.setAlignment(Label.LEFT);
        lbstatistik.setBounds(50,250,270,40);
        lbstatistik.setFont(new Font("MS Sans Serif", 0, 12));
        add(lbstatistik);
        // Ende Komponenten
    
      }
    
    
      // Anfang Ereignisprozeduren
    
      public void buadditionActionPerformed(ActionEvent evt) {
         rechenart="Additionsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
    
        }
    
      public void busubtraktionActionPerformed(ActionEvent evt) {
         rechenart="Subtraktionsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
        }
    
      public void bumultiplikationActionPerformed(ActionEvent evt) {
         rechenart="Multiplikationsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
    
        }
    
      public void budivisionActionPerformed(ActionEvent evt) {
         rechenart="Divisionsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
        }
    
    
      public void buaufgabeActionPerformed(ActionEvent evt) {
    
          if(aufgabe==""){
    
          tfergebnis.setText("");
    
    
          if (rechenart=="Additionsaufgabe:"){
    
             wert1=zufallszahl(500);
    
             wert2=zufallszahl(500);
    
             aufgabe=wert1+" + "+wert2+"";
    
             tfaufgabe.setText(aufgabe);
    
            }
    
    
           if (rechenart=="Subtraktionsaufgabe:"){
    
             wert1=zufallszahl(250);
    
             wert2=zufallszahl(250)+wert1;
    
             aufgabe=wert2+" - "+wert1;
    
             tfaufgabe.setText(aufgabe);
    
            }
    
    
            if (rechenart=="Multiplikationsaufgabe:"){
    
             wert1=zufallszahl(20);
    
             wert2=zufallszahl(20);
    
             aufgabe=wert1+" * "+wert2;
    
             tfaufgabe.setText(aufgabe);
            }
    
            if (rechenart=="Divisionsaufgabe:"){
    
             wert1=zufallszahl(20)+1;
    
             wert2=zufallszahl(20)*wert1;
    
             aufgabe=wert2+" : "+wert1;
    
             tfaufgabe.setText(aufgabe);
            }
    
    
          }
    
    
    
    
        }
    
    
        public void bubestaetigungActionPerformed(ActionEvent evt) {
         if (aufgabe!=""){
           String eingabe;
           eingabe=tfergebnis.getText();
    
           int ergebnis;
           ergebnis=Integer.parseInt(eingabe);
    
    
           if (rechenart=="Additionsaufgabe:"){
    
              reergebnis=wert1+wert2;
    
             }
    
    
           if (rechenart=="Subtraktionsaufgabe:"){
    
              reergebnis=wert2-wert1;
    
             }
    
    
           if (rechenart=="Multiplikationsaufgabe:"){
    
              reergebnis=wert1*wert2;
    
             }
    
    
           if (rechenart=="Divisionsaufgabe:"){
    
              reergebnis=wert2/wert1;
    
             }
    
    
           if (ergebnis==reergebnis){
    
              richtig=richtig+1;
    
             }
           else {
              tfergebnis.setText(reergebnis+"");
    
              falsch=falsch+1;
    
             }
    
           lbstatistik.setText("richtige Antworten: "+richtig+"             falsche Antworten: "+falsch);
    
    
           }
    
    
          aufgabe="";
    
          tfaufgabe.setText(aufgabe);
    
    
        }
    
    
    
      // Ende Ereignisprozeduren
    
    }
    
    
     
  2. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.036
    Zustimmungen:
    1.314
    Registriert seit:
    13.09.2004
    zum Einen bist Du bei den Entwicklern glaub ich besser aufgehoben, auch wenn es ein Applet ist! Ich verschiebe mal!

    Zum Andern solltest Du die Probleme isolieren und mit kurzen Programmsegmenten illustrieren, das erhöht die Antwortchance! Ganze Listings und 4 Fragen sind ein bißchen too much! Aber schaun wir mal...
     
  3. whistler

    whistler Thread Starter MacUser Mitglied

    Beiträge:
    868
    Zustimmungen:
    54
    Registriert seit:
    06.10.2005
    hi,

    ja, ich weiß, das ist alles etwas viel...
    vielleicht ist ja trotzdem jmd. so nett und hilft mir aus ;)

    hab übrigends das dropdown menü hinbekommen:

    Code:
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.Random;
    
    /*Java Rechentrainer für Klasse 6
    v 1.0b*/
    
    public class Rechentrainer extends Applet {
      // Anfang Variablen
      private TextField tfaufgabe = new TextField();
      private TextField tfergebnis = new TextField();
      private Label lbrechenart = new Label();
      private Label lbergebnis = new Label();
      private Button buaufgabe = new Button();
      private Button bubestaetigung = new Button();
      private Label lbstatistik = new Label();
      String rechenart="";
      int wert1=0;
      int wert2=0;
      String aufgabe="";
      int reergebnis=0;
      int richtig=0;
      int falsch=0;
      int a;
      private Choice chRechenart = new Choice();
      // Ende Variablen
    
      int zufallszahl(int o){
        Random generator=new Random();
        int zahl;
        zahl=generator.nextInt(o);
        return(zahl);
      }
    
      public void init() {
      
        setLayout(null);
        setBackground(Color.decode("#"+"f9f9f8"));
        // Anfang Komponenten
    
    
        tfaufgabe.setBounds(50,100,150,30);
        add(tfaufgabe);
    
        tfergebnis.setBounds(200,100,150,30);
        add(tfergebnis);
    
        lbrechenart.setBounds(50,80,130,15);
        lbrechenart.setText("");
        add(lbrechenart);
    
        lbergebnis.setBounds(200,80,60,15);
        lbergebnis.setText("Ergebnis:");
        add(lbergebnis);
    
        buaufgabe.setBounds(50,150,70,30);
        buaufgabe.setLabel("Aufgabe");
        add(buaufgabe);
        buaufgabe.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            buaufgabeActionPerformed(evt); } });
    
        bubestaetigung.setBounds(200,150,80,30);
        bubestaetigung.setLabel("Bestaetigung");
    
        add(bubestaetigung);
        bubestaetigung.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            bubestaetigungActionPerformed(evt); } });
    
        lbstatistik.setText("richtige Antworten:                  falsche Antworten:");
        lbstatistik.setAlignment(Label.LEFT);
        lbstatistik.setBounds(50,250,270,40);
        lbstatistik.setFont(new Font("MS Sans Serif", 0, 12));
        add(lbstatistik);
    
        chRechenart.add("Addition (+)");
        chRechenart.add("Subtraktion (-)");
        chRechenart.add("Multiplikation (*)");
        chRechenart.add("Division (:)");
        chRechenart.setBounds(0, 0, 120, 21);
        add(chRechenart);
        // Ende Komponenten
    
      }
    
    
      // Anfang Ereignisprozeduren
      public void buadditionActionPerformed(ActionEvent evt) {
         rechenart="Additionsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
    
        }
    
      public void busubtraktionActionPerformed(ActionEvent evt) {
         rechenart="Subtraktionsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
        }
    
      public void bumultiplikationActionPerformed(ActionEvent evt) {
         rechenart="Multiplikationsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
    
        }
    
      public void budivisionActionPerformed(ActionEvent evt) {
         rechenart="Divisionsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
        }
    
    
      public void buaufgabeActionPerformed(ActionEvent evt) {
          a=chRechenart.getSelectedIndex();
    
          if(aufgabe==""){
    
          tfergebnis.setText("");
    
    
          if (a==0){
    
             wert1=zufallszahl(500);
    
             wert2=zufallszahl(500);
    
             aufgabe=wert1+" + "+wert2+"";
    
             tfaufgabe.setText(aufgabe);
    
            }
    
    
           if (a==1){
    
             wert1=zufallszahl(250);
    
             wert2=zufallszahl(250)+wert1;
    
             aufgabe=wert2+" - "+wert1;
    
             tfaufgabe.setText(aufgabe);
    
            }
    
    
            if (a==2){
    
             wert1=zufallszahl(32);
    
             wert2=zufallszahl(32);
    
             aufgabe=wert1+" * "+wert2;
    
             tfaufgabe.setText(aufgabe);
            }
    
            if (a==3){
    
             wert1=zufallszahl(20)+1;
    
             wert2=zufallszahl(20)*wert1;
    
             aufgabe=wert2+" : "+wert1;
    
             tfaufgabe.setText(aufgabe);
            }
    
    
          }
    
    
    
    
        }
    
    
        public void bubestaetigungActionPerformed(ActionEvent evt) {
         if (aufgabe!=""){
           String eingabe;
           eingabe=tfergebnis.getText();
    
           int ergebnis;
           ergebnis=Integer.parseInt(eingabe);
    
    
           if (a==0){
    
              reergebnis=wert1+wert2;
    
             }
    
    
           if (a==1){
    
              reergebnis=wert2-wert1;
    
             }
    
    
           if (a==2){
    
              reergebnis=wert1*wert2;
    
             }
    
    
           if (a==3){
    
              reergebnis=wert2/wert1;
    
             }
    
    
           if (ergebnis==reergebnis){
    
              richtig=richtig+1;
    
             }
           else {
              tfergebnis.setText(reergebnis+"");
    
              falsch=falsch+1;
    
             }
    
           lbstatistik.setText("richtige Antworten: "+richtig+"             falsche Antworten: "+falsch);
    
    
           }
    
    
          aufgabe="";
    
          tfaufgabe.setText(aufgabe);
    
    
        }
    
    
    
      // Ende Ereignisprozeduren
    
    }
     
  4. ybasket

    ybasket MacUser Mitglied

    Beiträge:
    325
    Zustimmungen:
    3
    Registriert seit:
    17.01.2006
    1. tfergebnis.setColor(Color.RED) in
    public void bubestaetigungActionPerformed(ActionEvent evt)
    einfügen, wo auch der Zähler falsch erhöht wird. (Nicht vergessen, mit
    Color.BLACK bei richtigen wieder zurückzuschalten.

    3. Die If-Abfrage if(aufgabe=="") in der Methode
    public void buaufgabeActionPerformed(ActionEvent evt) mit zugehöriger schließender Klammer löschen.

    4.lbstatistik.setText("richtige Antworten: "+richtig+" falsche Antworten: "+falsch + "von " + (richtig+falsch) + "Antworten.");
     
  5. whistler

    whistler Thread Starter MacUser Mitglied

    Beiträge:
    868
    Zustimmungen:
    54
    Registriert seit:
    06.10.2005
    grün/rotes feld wenn falsch/richtig:

    Code:
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.Random;
    
    /*Java Rechentrainer für Klasse 6
    v 1.0b*/
    
    public class Rechentrainer extends Applet {
      // Anfang Variablen
      private TextField tfaufgabe = new TextField();
      private TextField tfergebnis = new TextField();
      private Label lbrechenart = new Label();
      private Label lbergebnis = new Label();
      private Button buaufgabe = new Button();
      private Button bubestaetigung = new Button();
      private Label lbstatistik = new Label();
      String rechenart="";
      int wert1=0;
      int wert2=0;
      String aufgabe="";
      int reergebnis=0;
      int richtig=0;
      int falsch=0;
      int a;
      private Choice chRechenart = new Choice();
      // Ende Variablen
    
      int zufallszahl(int o){
        Random generator=new Random();
        int zahl;
        zahl=generator.nextInt(o);
        return(zahl);
      }
    
      public void init() {
      
        setLayout(null);
        setBackground(Color.decode("#"+"f9f9f8"));
        // Anfang Komponenten
    
    
        tfaufgabe.setBounds(50,100,150,30);
        add(tfaufgabe);
    
        tfergebnis.setBounds(200,100,150,30);
        add(tfergebnis);
    
        lbrechenart.setBounds(50,80,130,15);
        lbrechenart.setText("");
        add(lbrechenart);
    
        lbergebnis.setBounds(200,80,60,15);
        lbergebnis.setText("Ergebnis:");
        add(lbergebnis);
    
        buaufgabe.setBounds(50,150,70,30);
        buaufgabe.setLabel("Aufgabe");
        add(buaufgabe);
        buaufgabe.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            buaufgabeActionPerformed(evt); } });
    
        bubestaetigung.setBounds(200,150,80,30);
        bubestaetigung.setLabel("Bestaetigung");
    
        add(bubestaetigung);
        bubestaetigung.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            bubestaetigungActionPerformed(evt); } });
    
        lbstatistik.setText("richtige Antworten:                  falsche Antworten:");
        lbstatistik.setAlignment(Label.LEFT);
        lbstatistik.setBounds(50,250,270,40);
        lbstatistik.setFont(new Font("MS Sans Serif", 0, 12));
        add(lbstatistik);
    
        chRechenart.add("Addition (+)");
        chRechenart.add("Subtraktion (-)");
        chRechenart.add("Multiplikation (*)");
        chRechenart.add("Division (:)");
        chRechenart.setBounds(0, 0, 120, 21);
        add(chRechenart);
        // Ende Komponenten
    
      }
    
    
      // Anfang Ereignisprozeduren
      public void buadditionActionPerformed(ActionEvent evt) {
         rechenart="Additionsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
    
        }
    
      public void busubtraktionActionPerformed(ActionEvent evt) {
         rechenart="Subtraktionsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
        }
    
      public void bumultiplikationActionPerformed(ActionEvent evt) {
         rechenart="Multiplikationsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
    
        }
    
      public void budivisionActionPerformed(ActionEvent evt) {
         rechenart="Divisionsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
        }
    
    
      public void buaufgabeActionPerformed(ActionEvent evt) {
          a=chRechenart.getSelectedIndex();
    
          if(aufgabe==""){
    
          tfergebnis.setText("");
    
    
          if (a==0){
    
             wert1=zufallszahl(500);
    
             wert2=zufallszahl(500);
    
             aufgabe=wert1+" + "+wert2+"";
    
             tfaufgabe.setText(aufgabe);
    
            }
    
    
           if (a==1){
    
             wert1=zufallszahl(250);
    
             wert2=zufallszahl(250)+wert1;
    
             aufgabe=wert2+" - "+wert1;
    
             tfaufgabe.setText(aufgabe);
    
            }
    
    
            if (a==2){
    
             wert1=zufallszahl(32);
    
             wert2=zufallszahl(32);
    
             aufgabe=wert1+" * "+wert2;
    
             tfaufgabe.setText(aufgabe);
            }
    
            if (a==3){
    
             wert1=zufallszahl(20)+1;
    
             wert2=zufallszahl(20)*wert1;
    
             aufgabe=wert2+" : "+wert1;
    
             tfaufgabe.setText(aufgabe);
            }
    
    
          }
    
    
    
    
        }
    
    
        public void bubestaetigungActionPerformed(ActionEvent evt) {
         if (aufgabe!=""){
           String eingabe;
           eingabe=tfergebnis.getText();
    
           int ergebnis;
           ergebnis=Integer.parseInt(eingabe);
    
    
           if (a==0){
              tfergebnis.setBackground(Color.GREEN);
              
              reergebnis=wert1+wert2;
    
             }
    
    
           if (a==1){
              tfergebnis.setBackground(Color.GREEN);
    
              reergebnis=wert2-wert1;
    
             }
    
    
           if (a==2){
              tfergebnis.setBackground(Color.GREEN);
    
              reergebnis=wert1*wert2;
    
             }
    
    
           if (a==3){
              tfergebnis.setBackground(Color.GREEN);
    
              reergebnis=wert2/wert1;
    
             }
    
    
           if (ergebnis==reergebnis){
              tfergebnis.setBackground(Color.GREEN);
    
              richtig=richtig+1;
    
             }
           else {
              tfergebnis.setText(reergebnis+"");
              tfergebnis.setBackground(Color.RED);
              
              falsch=falsch+1;
    
    
             }
    
           lbstatistik.setText("richtige Antworten: "+richtig+"             falsche Antworten: "+falsch);
    
    
           }
    
    
          aufgabe="";
    
          tfaufgabe.setText(aufgabe);
    
    
        }
    
    
    
      // Ende Ereignisprozeduren
    
    }
    
    
    
     
  6. whistler

    whistler Thread Starter MacUser Mitglied

    Beiträge:
    868
    Zustimmungen:
    54
    Registriert seit:
    06.10.2005
    vielen dank, werd ich gleich ausprobieren...
     
  7. ybasket

    ybasket MacUser Mitglied

    Beiträge:
    325
    Zustimmungen:
    3
    Registriert seit:
    17.01.2006
    wenn ich da recht durchsteige, reicht es,
    tfergebnis.setBackground(Color.GREEN);
    nur hier:
    if (ergebnis==reergebnis){
    tfergebnis.setBackground(Color.GREEN);

    richtig=richtig+1;
    }

    aufzurufen, da es ja keine Ergebnisse geben kann, die weder richtig noch falsch sind.
     
  8. whistler

    whistler Thread Starter MacUser Mitglied

    Beiträge:
    868
    Zustimmungen:
    54
    Registriert seit:
    06.10.2005
    danke nochmal, habs jetzt soweit hinbekommen...

    Code:
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.Random;
    
    /*Java Rechentrainer für Klasse 6
    v 1.0b*/
    
    public class Rechentrainer extends Applet {
      // Anfang Variablen
      private TextField tfaufgabe = new TextField();
      private TextField tfergebnis = new TextField();
      private Label lbrechenart = new Label();
      private Label lbergebnis = new Label();
      private Button buaufgabe = new Button();
      private Button bubestaetigung = new Button();
      private Label lbstatistik = new Label();
      String rechenart="";
      int wert1=0;
      int wert2=0;
      String aufgabe="";
      int reergebnis=0;
      int richtig=0;
      int falsch=0;
      int a;
      private Choice chRechenart = new Choice();
      // Ende Variablen
    
      int zufallszahl(int o){
        Random generator=new Random();
        int zahl;
        zahl=generator.nextInt(o);
        return(zahl);
      }
    
      public void init() {
      
        setLayout(null);
        setBackground(Color.decode("#"+"f9f9f8"));
        // Anfang Komponenten
    
    
        tfaufgabe.setBounds(50,100,150,30);
        add(tfaufgabe);
    
        tfergebnis.setBounds(200,100,150,30);
        add(tfergebnis);
    
        lbrechenart.setBounds(50,80,130,15);
        lbrechenart.setText("");
        add(lbrechenart);
    
        lbergebnis.setBounds(200,80,60,15);
        lbergebnis.setText("Ergebnis:");
        add(lbergebnis);
    
        buaufgabe.setBounds(50,150,70,30);
        buaufgabe.setLabel("Aufgabe");
        add(buaufgabe);
        buaufgabe.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            buaufgabeActionPerformed(evt); } });
    
        bubestaetigung.setBounds(200,150,80,30);
        bubestaetigung.setLabel("Bestaetigung");
    
        add(bubestaetigung);
        bubestaetigung.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
            bubestaetigungActionPerformed(evt); } });
    
        lbstatistik.setText("richtige Antworten: "+richtig+" falsche Antworten: "+falsch + "von " + (richtig+falsch) + "Antworten.");
        lbstatistik.setAlignment(Label.LEFT);
        lbstatistik.setBounds(50,250,400,40);
        lbstatistik.setFont(new Font("MS Sans Serif", 0, 12));
        add(lbstatistik);
    
        chRechenart.add("Addition (+)");
        chRechenart.add("Subtraktion (-)");
        chRechenart.add("Multiplikation (*)");
        chRechenart.add("Division (:)");
        chRechenart.setBounds(0, 0, 120, 21);
        add(chRechenart);
        // Ende Komponenten
    
      }
    
    
      // Anfang Ereignisprozeduren
      public void buadditionActionPerformed(ActionEvent evt) {
         rechenart="Additionsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
    
        }
    
      public void busubtraktionActionPerformed(ActionEvent evt) {
         rechenart="Subtraktionsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
        }
    
      public void bumultiplikationActionPerformed(ActionEvent evt) {
         rechenart="Multiplikationsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
    
        }
    
      public void budivisionActionPerformed(ActionEvent evt) {
         rechenart="Divisionsaufgabe:";
    
         lbrechenart.setText(rechenart);
    
         aufgabe="";
         tfaufgabe.setText(aufgabe);
    
         tfergebnis.setText("");
        }
    
    
      public void buaufgabeActionPerformed(ActionEvent evt) {
          a=chRechenart.getSelectedIndex();
    
          tfergebnis.setText("");
    
    
          if (a==0){
    
             wert1=zufallszahl(500);
    
             wert2=zufallszahl(500);
    
             aufgabe=wert1+" + "+wert2+"";
    
             tfaufgabe.setText(aufgabe);
    
            }
    
    
           if (a==1){
    
             wert1=zufallszahl(250);
    
             wert2=zufallszahl(250)+wert1;
    
             aufgabe=wert2+" - "+wert1;
    
             tfaufgabe.setText(aufgabe);
    
            }
    
    
            if (a==2){
    
             wert1=zufallszahl(32);
    
             wert2=zufallszahl(32);
    
             aufgabe=wert1+" * "+wert2;
    
             tfaufgabe.setText(aufgabe);
            }
    
            if (a==3){
    
             wert1=zufallszahl(20)+1;
    
             wert2=zufallszahl(20)*wert1;
    
             aufgabe=wert2+" : "+wert1;
    
             tfaufgabe.setText(aufgabe);
            }
    
    
    
    
    
        }
    
    
        public void bubestaetigungActionPerformed(ActionEvent evt) {
         if (aufgabe!=""){
           String eingabe;
           eingabe=tfergebnis.getText();
    
           int ergebnis;
           ergebnis=Integer.parseInt(eingabe);
    
    
           if (a==0){
              reergebnis=wert1+wert2;
    
             }
    
    
           if (a==1){
              reergebnis=wert2-wert1;
    
             }
    
    
           if (a==2){
              reergebnis=wert1*wert2;
    
             }
    
    
           if (a==3){
              reergebnis=wert2/wert1;
    
             }
    
    
           if (ergebnis==reergebnis){
              tfergebnis.setBackground(Color.GREEN);
    
              richtig=richtig+1;
    
             }
           else {
              tfergebnis.setText(reergebnis+"");
              tfergebnis.setBackground(Color.RED);
              
              falsch=falsch+1;
    
    
             }
    
           lbstatistik.setText("richtige Antworten: "+richtig+" falsche Antworten: "+falsch + "von " + (richtig+falsch) + "Antworten.");
    
    
           }
    
    
          aufgabe="";
    
          tfaufgabe.setText(aufgabe);
    
    
        }
    
    
    
      // Ende Ereignisprozeduren
    
    }
    
    
    
     
    Zuletzt bearbeitet: 09.02.2007
  9. ybasket

    ybasket MacUser Mitglied

    Beiträge:
    325
    Zustimmungen:
    3
    Registriert seit:
    17.01.2006
    ja, weil du diese Ausgabe 2 mal machst aber den Code nur einmal ersetzt hast. Guck mal in die fünftletzte Codezeile, da steht:
    lbstatistik.setText("richtige Antworten: "+richtig+" falsche Antworten: "+falsch);
    ohne "von x aufgaben", da liegt der Fehler.
     
  10. whistler

    whistler Thread Starter MacUser Mitglied

    Beiträge:
    868
    Zustimmungen:
    54
    Registriert seit:
    06.10.2005
    hab ich auch gemerkt, deshalb schon vor deiner antwort geändert (mein letzter post kommt von 21:41) ;)


    vielen herzlichen dank,

    whistler
     
Die Seite wird geladen...
Ähnliche Themen - Anfänger benötigt Hilfe Forum Datum
Anfänger such Lösung - Swift Programmierung Mac OS X Entwickler, Programmierer 04.03.2015
Anfänger-Frage: NSTask blockiert das GUI Mac OS X Entwickler, Programmierer 26.04.2013
Anfänger - was bei Codeacademy lernen? Mac OS X Entwickler, Programmierer 02.01.2013
Anfänger: Wie bekomme ich eine Berechnung auf dem iPhone angezeigt? Mac OS X Entwickler, Programmierer 29.11.2011
Xcode Frage... (Vorsicht, ich bin Anfänger) Mac OS X Entwickler, Programmierer 30.01.2011

Diese Seite empfehlen

Benutzerdefinierte Suche