Toon posts:

[Java] Probleem met 'simpele' applet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hi,

Ik ben bezig met een simpele app, waar ik echter toch niet helemaal uit kom. :X
De applet leest een aantal uit een tekstvak en bepaalt hoeveel dat aantal in totaal kost.
Bij minder dan een aantal van 10 is de prijs per stuk 2 euro, bij 10 tot 50 stuks 1,50 euro, bij 50 tot 100 stuks 1,25 euro en bij meer dan honderd stuks 1,10 euro.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class Blabla extends Applet {
    TextField invoerTekst;
    Label invoerLabel;
    Button berekenKnop;
    double prijs;
    boolean isGeklikt;
        
    public void init() {
        setLayout(null);
        
        isGeklikt = false;
        
        invoerLabel = new Label("Aantal:");
        invoerLabel.setBounds(20, 60, 100, 20);
        
        invoerTekst = new TextField(5);
        invoerTekst.setBounds(130, 60, 40, 20);
        
        berekenKnop = new Button("Berekenen");
        berekenKnop.addActionListener(new berekenKnopHandler());
        berekenKnop.setBounds(130, 90, 80, 20);
        
        add(invoerLabel);
        add(invoerTekst);
        add(berekenKnop);
    }
    
    public void paint(Graphics g)
    {
        if(isGeklikt) {
            g.drawString("De totale prijs bedraagt: " + prijs, 130, 160);
        }
        
        else if(!isGeklikt) {
            g.drawString("Er is nog geen aantal ingevoerd.", 130, 30);
        }
        
    }
    
    class berekenKnopHandler implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            isGeklikt = true;
            
            String invoer = invoerTekst.getText();
            int aantal = Integer.parseInt(invoer);
            
            if(aantal < 10) {
                prijs = aantal * 2;
            }
            
            else if(aantal => 10 && aantal < 50) {
                prijs = aantal * 1.50;
            }
            
            else if(aantal => 50 && aantal < 100) {
                prijs = aantal * 1.25;
            }
            
            else(aantal > 100) {
                prijs = aantal * 1.10;
            }
            
            invoerTekst.setText("");
            
            repaint();
        }
        
    }
    
}
Volgens JCreator zit de fout (illegal start of expressions) in:

else if(aantal => 10 && aantal < 50) {

Bovendien schijnt er een } te missen in:

invoerTekst.setText("");

Ik kan de error niet ontdekken, iemand die mij kan helpen? TIA!

  • raoulduke
  • Registratie: Oktober 2003
  • Niet online

raoulduke

Get in!

Moet je niet >= gebruiken ipv =>? Voor de rest zal je toch echt zelf even moeten debuggen, want dat is wel heel standaardwerk denk ik...

Remember, if you have any trouble you can always send a telegram to the Right People.


Verwijderd

Topicstarter
Hmm dom, dom, dom. Het is inderdaad >= alleen nu krijg ik de fouten 'not a statement' en '; expected' op de regel:

Java:
1
2
3
else(aantal > 100) {
                prijs = aantal * 1.10;
            }

Verwijderd

Ik ben niet zo'n ster in java, maar volgens mij kun je na "else" geen statement opgeven.
Betekend dat je het moet veranderen in een else if () of gewoon een else

Verwijderd

Topicstarter
Hmm, je hebt gelijk. Nu werkt ie prima, thx! :D

  • MaZo
  • Registratie: Mei 2002
  • Niet online
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class berekenKnopHandler implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            isGeklikt = true;
            
            String invoer = invoerTekst.getText();
            int aantal = Integer.parseInt(invoer);
            
            if(aantal < 10) {
                prijs = aantal * 2;
            }
            
            else if(aantal >= 10 && aantal < 50) {
                prijs = aantal * 1.50;
            }
            
            else if(aantal >= 50 && aantal < 100) {
                prijs = aantal * 1.25;
            }
            
            else if(aantal > 100) {
                prijs = aantal * 1.10;
            }
            
            invoerTekst.setText("");
            
            repaint();
        }
        
    }
Pagina: 1