Verwijderd schreef op zondag 04 december 2005 @ 17:51:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| String Tafel;
Tafel = Tafelveld.getText();
int Tafel2;
Tafel2 = Integer.parseInt(Tafel);
int Teller;
Teller = 1;
int Inhoud;
Inhoud = Teller * Tafel2;
while (Teller <= 10)
{
Inhoud = Teller * Tafel2;
Uitvoerveld.setText((Teller)+ " x " + (Tafel2) + " = " + (Inhoud));
Teller = Teller + 1;
} |
ik moet nog die return erin doen
.
Als ik 'm bij
doe, dan geeft hij de foutmelding dat het niet van een String naar een int kan.
Hij moet daar:
Java:
1
| Uitvoerveld.setText((Teller)+ " x " + (Tafel2) + " = " + (Inhoud) + "\n"); |
En het statement
Java:
1
| Inhoud = Teller * Tafel2; |
(die buiten en boven de while- loop staat) heeft geen zin, want er wordt niets mee gedaan

.
Verder heb je nog niet door wat setText() doet. setText() stelt de tekst in van een tekstveld en is precies het tegenovergestelde van getText(), die tekst leest. Dus iedere keer als je setText() doet, wordt je oude tekst
vervangen voor de nieuwe tekst, dus je oude tekst ben je kwijt.
Als je dat statement dan goed wilt doen, dus iedere keer een regel toevoegen, moet je eigenlijk dit doen:
Java:
1
| Uitvoerveld.setText(Uitvoerveld.getText() + (Teller)+ " x " + (Tafel2) + " = " + (Inhoud) + "\n"); |
Dit zou gaan werken, maar is verschrikkelijk inefficiënt, omdat je iedere keer tekst ophaalt uit je tekstvak en weer instelt. Je kunt dan beter zorgen dat je in één keer je te printen tekst voor elkaar hebt, zodat je die maar één keer hoeft in te stellen.
Zoiets als dit dus:
Java:
1
2
3
4
5
6
7
8
| String tekst = "";
while (Teller < 10)
{
tekst = tekst + Teller + " x " + Tafel2 + " = " + Inhoud + "\n";
Teller = Teller + 1;
}
Uitvoerveld.setText(tekst) |
Wat is daar mis mee? Ik heb geleerd dat je het beste een for- loop kunt gebruiken als je weet hoe vaak een bepaalde iteratie gedaan moet worden, zoals ook in dit geval. Je weet dat je teller moet lopen van 1 t/m 10, waarom zou je dan een while met een teller = teller + 1 gebruiken? Bovendien heb je die teller toch niet nodig buiten de loop en die variabele ben je kwijt zodra je for- loop is afgelopen.
[
Voor 31% gewijzigd door
Jaap-Jan op 04-12-2005 18:20
]