Grootste getal uit 2 tekstvakken

Status
Niet open voor verdere reacties.

Tjennne

Gebruiker
Lid geworden
22 apr 2008
Berichten
33
Ook uit de volgende opdracht kom ik niet uit...

Voer in 2 tekstvakken een geheel getal in en laat het programma meedelen in welke van de twee vakken het grootste getal staat.
Mijn uitwerking werkt niet, wat doe ik verkeerd???



package opgave2_2;

import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class opgave2_2 extends Applet
{
TextField invoervak1,invoervak2;int cijfer1;int cijfer2;

public void init()
{
cijfer1 = 0; cijfer2=0;
invoervak1 = new TextField(12);
invoervak2 = new TextField(12);

add(invoervak1);add(invoervak2);
}
public void paint( Graphics g)
{
if (cijfer1>cijfer2){g.drawString("Het eerste getal is groter",50,80);}
else {g.drawString("Het tweede getal is groter",50,100);}
}
class knopHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String invoerstring1=invoervak1.getText();
cijfer1=Integer.parseInt(invoerstring1);
String invoerstring2=invoervak2.getText();
cijfer2=Integer.parseInt(invoerstring2);
repaint();
}
}
 
Ik krijg 2 lege tekstvakken met daaronder de tektst: Het tweede getal is groter.

Die tekst verandert niet als ik getallen invoer.
 
Klopt.
De beginwaarde is:
Vak1: 0
Vak2: 0

Dan doe je een if.
Als 1 groter is dan 2 dan print: 1 groter dan 2
Anders: print: 2 groter dan 1

Nu print hij altijd 2 omdat je met 0 en 0 begint en de eerste daar niet op toegepast kan worden.
wat je kan doen is van de else een 'else if' maken

Code:
if(c1 > c2){
  do bla bla
} else if(c2 > c1){
  do bla bla
}

Als ze dan gelijk zijn, dan wordt er niets geprint.

Daarnaast heb je nu wel een actionlistener, maar die heb je nergens aan gekoppeld, deze wordt dus nooit aangeroepen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan