whistler
Aktives Mitglied
Thread Starter
- Dabei seit
- 06.10.2005
- Beiträge
- 876
- Reaktionspunkte
- 56
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
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
}