java applet werkt niet perfect

Status
Niet open voor verdere reacties.

Sladem

Gebruiker
Lid geworden
17 jun 2009
Berichten
36
ik heb de volgende code gemaakt; het is een applet om te leren reken. het genereerd twee random getallen en telt deze bij elkaar op. als de gebruiker het zelfde antwoord invult krijgt hij het bericht "goed gedaan!", zoniet "jammer probeer het nog een keer".

de code:

Code:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class java9 extends Applet 
 implements ActionListener{
 
 //declaraties
 int som1, som2, getal1, getal2, invoer, antwoord, antwoord1;
 
 Button knop, antwoordknop;
 TextField tekstvak1;
 TextField tekstvak2;
 TextField tekstvak3;
 TextField tekstvak4;
 TextField invoervak;
 
 public void init() {
 setLayout(null);
 resize(300,300);
 
 antwoordknop = new Button ( "antwoord" );
 antwoordknop.addActionListener(this);
 antwoordknop.setBounds( 20, 60, 90, 25 );
 add( antwoordknop );  
 
 knop = new Button ( "volgende som" );
 knop.addActionListener(this);
 knop.setBounds( 20, 100, 90, 25 );
 add( knop );
 
 tekstvak1 = new TextField (5);
 tekstvak1.setBounds( 20, 20, 30, 25 );
 add( tekstvak1 );
 
 tekstvak2 = new TextField (5);
 tekstvak2.setBounds( 80, 20, 30, 25 );
 add( tekstvak2 ); 
  
 invoervak = new TextField (5);
 invoervak.setBounds( 140, 20, 30, 25 );
 add( invoervak );
 
 tekstvak3 = new TextField (5);
 tekstvak3.setBounds( 200, 20, 40, 25 );
 add( tekstvak3 );
 tekstvak4 = new TextField (5);
 tekstvak4.setBounds( 20, 140, 100, 25 );
 add( tekstvak4 );

 }
 // random getallen
 int som1() {
 double t;
 int geefsom1;
 t = Math.random();
 t *= 10;
 t += 1;
 geefsom1 = (int) t;
 return geefsom1;
 }
 
 int som2(){
 double v;
 int geefsom2;
 v = Math.random();
 v *= 10;
 v += 1; 
 geefsom2 = (int)v;
 return geefsom2;
} 
 

 public void actionPerformed(ActionEvent e) {
  if( e.getSource() == knop){
 //string declareren
  String string1, string2, string3, string4;
  
  //tekstvak legen
  tekstvak3.setText( "" );
  tekstvak4.setText( "" );
  invoervak.setText( "" );
  
  //getallen in de tekstvak zetten
   int geefsom1;
   geefsom1 = som1();
 tekstvak1.setText( "" + geefsom1 );
 
   int geefsom2;
   geefsom2 = som2();
 tekstvak2.setText( "" + geefsom2 );
 
 //strings maken
  string1 = tekstvak1.getText();
  getal1 = Integer.parseInt( string1 ) ;

  string2 = tekstvak2.getText();
  getal2 = Integer.parseInt( string2 ) ;
  
  string3 = invoervak.getText();
  invoer = Integer.parseInt( string3 ) ;
  
  string4 = tekstvak4.getText();
  antwoord1 = Integer.parseInt( string4 ) ;  
  }
 
 // optellen en uitkomst in tekstvak zetten
  if ( e.getSource() == antwoordknop){
  antwoord = getal1 + getal2; 
  tekstvak3.setText( "" + antwoord );
  
  // controleren, en feedback geven
  if( antwoord == invoer ){
  tekstvak4.setText("goed gedaan!");
  }
  else{
  tekstvak4.setText("jammer, probeerh het nog een keer");
  }
 }
 
 }
public void paint(Graphics g)
{

// + en = in applet zetten
 g.drawString( "+",  60, 40  );
 g.drawString( "=",  120, 40  );
}
 
}


echter iedere keer dat ik een sommetje maak krijg ik de melding "jammer probeer het nog een keer". ongeacht of ik een goed of fout antwoord invul...

weet iemand waar de fout zit? na lang zoeken moet ik het toch maar eens vragen
 
Laatst bewerkt:
Code:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package JavaLibrary5;

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class applet extends Applet implements ActionListener{

 //declaraties
 int som1, som2, getal1, getal2, invoer, antwoord, antwoord1;

 Button knop, antwoordknop;
 TextField tekstvak1;
 TextField tekstvak2;
 TextField tekstvak3;
 TextField tekstvak4;
 private TextField invoervak;

 public void init() {
 setLayout(null);
 resize(300,300);

 antwoordknop = new Button ( "antwoord" );
 antwoordknop.addActionListener(this);
 antwoordknop.setBounds( 20, 60, 90, 25 );
 add( antwoordknop );

 knop = new Button ( "volgende som" );
 knop.addActionListener(this);
 knop.setBounds( 20, 100, 90, 25 );
 add( knop );

 tekstvak1 = new TextField (5);
 tekstvak1.setBounds( 20, 20, 30, 25 );
 add( tekstvak1 );

 tekstvak2 = new TextField (5);
 tekstvak2.setBounds( 80, 20, 30, 25 );
 add( tekstvak2 );

 invoervak = new TextField(5);
 invoervak.setBounds( 140, 20, 30, 25 );
 add( invoervak );

 tekstvak3 = new TextField (5);
 tekstvak3.setBounds( 200, 20, 40, 25 );
 add( tekstvak3 );
 tekstvak4 = new TextField (5);
 tekstvak4.setBounds( 20, 140, 100, 25 );
 add( tekstvak4 );

 }
 // random getallen
 int som1() {
 double t;
 int geefsom1;
 t = Math.random();
 t *= 10;
 t += 1;
 geefsom1 = (int) t;
 return geefsom1;
 }

 int som2(){
 double v;
 int geefsom2;
 v = Math.random();
 v *= 10;
 v += 1;
 geefsom2 = (int)v;
 return geefsom2;
}


 public void actionPerformed(ActionEvent e) {
  if( e.getSource() == knop){
 //string declareren
  String string1, string2, string3, string4;

  //tekstvak legen
  tekstvak3.setText( "" );
  tekstvak4.setText( "" );
 

  //getallen in de tekstvak zetten
   int geefsom1;
   geefsom1 = som1();
 tekstvak1.setText( "" + geefsom1 );

   int geefsom2;
   geefsom2 = som2();
 tekstvak2.setText( "" + geefsom2 );

 //strings maken
  string1 = tekstvak1.getText();
  getal1 = Integer.parseInt( string1 ) ;

  string2 = tekstvak2.getText();
  getal2 = Integer.parseInt( string2 ) ;

  string4 = tekstvak4.getText();
  antwoord1 = Integer.parseInt( string4 ) ;
  }

 // optellen en uitkomst in tekstvak zetten
  if ( e.getSource() == antwoordknop){
[B]  String string3;
  string3 = invoervak.getText();
  
  invoer = Integer.parseInt( string3 ) ;[/B]

  antwoord = getal1 + getal2;
  tekstvak3.setText( "" + antwoord );

  // controleren, en feedback geven
  if( antwoord == invoer ){
  tekstvak4.setText("goed gedaan!");
  }
  else{
  tekstvak4.setText("jammer, probeerh het nog een keer");
  }
 }

 }
public void paint(Graphics g)
{

// + en = in applet zetten
 g.drawString( "+",  60, 40  );
 g.drawString( "=",  120, 40  );
}

}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan