[JAVA] Code klopt, maar applet werkt niet???

Pagina: 1
Acties:

  • Whieee
  • Registratie: Augustus 2001
  • Laatst online: 21-08 15:45

Whieee

Moderator Apple Talk

⌘ + ⌥ + ⎋

Topicstarter
Ik heb hier een applet waarmee je binaire getallen naar decimale getallen zou moeten kunnen omzetten (opdracht voor school), maar hoewel de code klopt (volgens Visual CafeSE 4), en de applet ook gewoon gestart wordt, gebeurt er niks als ik op de knop klik.... :X
wat kan het probleem zijn... (ik heb a gegoogled, maar dat hielp niet echt....)

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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
=====
De code:
=====

/*
    A basic extension of the java.applet.Applet class
 */

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

public class Ben51ver2 extends Applet
{
    public void init()
    {
        //{{INIT_CONTROLS
        setLayout(null);
        setSize(426,266);
        add(BinVeld);
        BinVeld.setBounds(144,36,198,23);
        add(DecimaalVeld);
        DecimaalVeld.setBounds(144,84,198,23);
        binLabel.setText("Binair");
        add(binLabel);
        binLabel.setBounds(24,36,90,27);
        decLabel.setText("Decimaal");
        add(decLabel);
        decLabel.setBounds(24,84,90,27);
        Knop.setLabel("Bin --> Dec");
        add(Knop);
        Knop.setBackground(java.awt.Color.lightGray);
        Knop.setBounds(36,156,173,35);
        //}}
    
        //{{REGISTER_LISTENERS
        SymAction lSymAction = new SymAction();
        Knop.addActionListener(lSymAction);
        //}}
    }
    
    //{{DECLARE_CONTROLS
    java.awt.TextField BinVeld = new java.awt.TextField();
    java.awt.TextField DecimaalVeld = new java.awt.TextField();
    java.awt.Label binLabel = new java.awt.Label();
    java.awt.Label decLabel = new java.awt.Label();
    java.awt.Button Knop = new java.awt.Button();
    //}}

    class SymAction implements java.awt.event.ActionListener
    {
        public void actionPerformed(java.awt.event.ActionEvent event)
        {
            Object object = event.getSource();
            if (object == Knop)
                Knop_ActionPerformed(event);
        }
    }

    void Knop_ActionPerformed(java.awt.event.ActionEvent event)
    {
        // declaratie variabelen invoer en uitvoer
        int decimaal = 0;
        int binair = Integer.parseInt(BinVeld.getText());
                        
        // bereken lengte van code
        int factor = 1;
        int lengt = 0;
        while (binair > lengt);
        {
            factor = factor * 10;
            lengt++;
        }
        
        // omreken loop
        double n = (double) lengt - 1;
        while (n > -1)
        {
             double test = binair / Math.pow(10,n);
             
             if (test >= 1)
             {
                binair = (int) binair - (int) Math.pow(10,n);
                decimaal = (int) decimaal + (int) Math.pow(2,n);
             }
             n--;
        }
        DecimaalVeld.setText(String.valueOf(decimaal));
        
    }
}


============

edit: trouwens wel klote dat nu de opmaak van de code nogal om zeep is.... :(
editedit: layout niet meer om zeep :*)

[ Voor 8% gewijzigd door Whieee op 11-12-2002 21:24 ]

Launching containers into space


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 10:46

.oisyn

Moderator Devschuur®

Demotivational Speaker

heb even code tags om je post gezet :)

dat doe je met [code=<taal>]...[/code] (en <taal> is in dit geval dus java ;))

[ Voor 6% gewijzigd door .oisyn op 11-12-2002 21:21 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • WhizzCat
  • Registratie: November 2001
  • Laatst online: 03-10-2025

WhizzCat

www.lichtsignaal.nl

ben je niet vergeten je java.lang.Math te importeren?

edit: ik weet nou niet meer of dat nou wel of niet moet, d8 het, maar het is al weer een poosje geleden :)

[ Voor 51% gewijzigd door WhizzCat op 11-12-2002 21:23 ]

Gezocht: netwerkbeheerder
Als je het niet aan een 6-jarige kan uitleggen, snap je er zelf ook niks van! - A. Einstein


  • Whieee
  • Registratie: Augustus 2001
  • Laatst online: 21-08 15:45

Whieee

Moderator Apple Talk

⌘ + ⌥ + ⎋

Topicstarter
WhizzCat schreef op 11 December 2002 @ 21:22:
ben je niet vergeten je java.lang.Math te importeren?

edit: ik weet nou niet meer of dat nou wel of niet moet, d8 het, maar het is al weer een poosje geleden :)
net geprobeerd, maar het hielp helaas niet :'(

Launching containers into space


  • WhizzCat
  • Registratie: November 2001
  • Laatst online: 03-10-2025

WhizzCat

www.lichtsignaal.nl

Ik denk dat ik al iets zie. Je voert iets binairs in nietwaar? Dat zijn 1'en en 0'en. Maar je leest ze gewoon uit als een getal, een decimaal getal! En dat gaat dus niet werken als je de lengte van zoiets wil bepalen. Daarvoor zal je karakters moeten gaan tellen en dan pas een conversie naar een string uitvoeren. Dan heb je de lengte van je binaire getal en kan je de 1'tjes en 0'tjes naar iets decimaal achtigs omzetten.

ff een port gemaakt naar JS, maar ik moet eerlijk toegeven dat ik pas weer sinds kort aan het coden ben, ben er dus ff uit geweest

Gezocht: netwerkbeheerder
Als je het niet aan een 6-jarige kan uitleggen, snap je er zelf ook niks van! - A. Einstein


  • CyBoB
  • Registratie: Januari 2001
  • Laatst online: 24-12-2025

CyBoB

.::BURB::.

Java:
1
2
3
4
5
6
7
8
9
10
11
        int decimaal = 0;
        int binair = Integer.parseInt(BinVeld.getText());

        // bereken lengte van code
        int factor = 1;
        int lengt = 0;
        while (binair > lengt);
        {
            factor = factor * 10;
            lengt++;
        }


haal ff die ";" achter de while weg

<edit>
en zoals WhizzCat ook al zegt klopt het algoritme niet helemaal :) op deze manier wordt er bij een binaire invoer van 1101101 die while lus ook 1101101 keer doorlopen :?

hier moet je zelf nog maar ff over nadenk :7

[ Voor 32% gewijzigd door CyBoB op 11-12-2002 22:00 ]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Dit begint idd verdacht veel te ruiken naar een 'willen jullie mijn huiswerk maken' request.

  • Whieee
  • Registratie: Augustus 2001
  • Laatst online: 21-08 15:45

Whieee

Moderator Apple Talk

⌘ + ⌥ + ⎋

Topicstarter
CyBoB schreef op 11 december 2002 @ 21:56:
Java:
1
2
3
4
5
6
7
8
9
10
11
        int decimaal = 0;
        int binair = Integer.parseInt(BinVeld.getText());

        // bereken lengte van code
        int factor = 1;
        int lengt = 0;
        while (binair > lengt);
        {
            factor = factor * 10;
            lengt++;
        }


haal ff die ";" achter de while weg

<edit>
en zoals WhizzCat ook al zegt klopt het algoritme niet helemaal :) op deze manier wordt er bij een binaire invoer van 1101101 die while lus ook 1101101 keer doorlopen :?

hier moet je zelf nog maar ff over nadenk :7
ja je hebt gelijk... alleen had ik het zelf inmiddels al gevonden... Toch bedankt!

ik heb em nu werkend, dus wat mij betreft mag er een slotje op dit topic... Zoals je ziet heb ik het deel met de bepaling van de lengte herschreven. Nu doet ie het dus wel, en kan ik morgen weer fijn naar school :+
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
<KNIP!>

        public void actionPerformed(java.awt.event.ActionEvent event)
        {
            Object object = event.getSource();
            if (object == Knop)
                Knop_ActionPerformed(event);
        }
    }

    void Knop_ActionPerformed(java.awt.event.ActionEvent event)
    {
        // declaratie variabelen invoer en uitvoer
        int decimaal = 0;
        int binair = Integer.parseInt(BinVeld.getText());
                        
        // bereken lengte
        String bla = BinVeld.getText();
        int l = (int) bla.length();
        
        // omreken loop
        double n = (double) l - 1;
        while (n > -1)
        {
             double test = binair / Math.pow(10,n);
             
             if (test >= 1)
             {
                binair = (int) binair - (int) Math.pow(10,n);
                decimaal = (int) decimaal + (int) Math.pow(2,n);
             }
             n--;
        }
        DecimaalVeld.setText(String.valueOf(decimaal));
        
    }
}

Launching containers into space


  • Whieee
  • Registratie: Augustus 2001
  • Laatst online: 21-08 15:45

Whieee

Moderator Apple Talk

⌘ + ⌥ + ⎋

Topicstarter
Alarmnummer schreef op 11 December 2002 @ 22:02:
Dit begint idd verdacht veel te ruiken naar een 'willen jullie mijn huiswerk maken' request.
hmmm.. als ik gezegd had dat t voor iets anders was, was t dan wel goed geweest :9 ??? ik maak ZELF mn huiswerk, maar hier kwam ik ff niet uit....

Launching containers into space

Pagina: 1