Problemen met Random nummer in Java

Pagina: 1
Acties:

Onderwerpen

Vraag


  • Ralfefernandes
  • Registratie: Juli 2007
  • Laatst online: 30-08-2023
Ik ben Java aan het leren en ik heb problemen met random nummers

als ik bijvoorbeeld:
private int nummer1, nummer2; intyp. dan krijg ik het juiste antwoord.

nummer1 = 30;
nummer2 = 30;


Maar met Rondom numbers krijg ik altijd foutief antwoorden
private int nummer1, nummer2;

nummer1 = 30;
nummer2 = 30;

dan krijg ik het juiste antwoord.

Maar met Rondom numbers krijg ik altijd foutief antwoorden

Dit is mijn code:


code:
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
public class Groep3 extends JFrame {
public static void main(String args [] ){

..... .... 

}
}
 class Knoppen extends JPanel {
    private int nummer1;
    private int nummer2;
    private Random rand;
    int aantalGoed, foutAanwoord1, nogTeMaken1, inputCounter;

public Knoppen() {
        nummer1 = 10;
        nummer2 = 15;
        aantalGoed = 0;
        foutAanwoord1 = 0;
        inputCounter = 0;
}
    class KnopjeSom implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        Random random = new Random();
      
        int user1 = random.nextInt(100);
        int user2 = random.nextInt(100);
        int totaal = nummer1 + nummer2;
        String invoerGroep3 = invoerTekst3.getText(); // get a text from de JTextField -> user input
        int getal = Integer.parseInt(invoerGroep3); //

            aantalGoed = user1 + user2;
            vijf.setText(user1 + "  +  "+ user2);


            if (aantalGoed == getal || totaal == getal) {

              aantal.setText("Aantal sommen tot nu toe goed:  "+ aantalGoed);
                aantalGoed++;
            } else {
                foutAanwoord1++;
                foutAntwoord.setText("Aantal sommen tot nu toe Fout: " +  foutAanwoord1);
            }

        }


    }

[ Voor 19% gewijzigd door Ralfefernandes op 13-09-2018 08:59 ]

Beste antwoord (via Ralfefernandes op 13-09-2018 15:34)


  • elhopo
  • Registratie: December 2005
  • Laatst online: 16:48
Ik zet even mijn gedachtenlees module aan. Ik denk dat je een programmaatje probeert te maken waar je mensen sommetjes laat maken. Twee willekeurige getallen worden getoond, en de gebruiker moet het antwoord ingeven. Als jij die willekeurige getallen niet zo willekeurig maakt, gaat het goed (het antwoord klopt) en als je ze wel willekeurig maakt gaat het fout.

Als ik naar je code voorbeeld kijk snap ik dat de gebruiker het antwoord altijd fout heeft. In je actionevent listener bepaal je de willekeurige getallen, en vergelijk je of de som daarvan klopt met wat de gebruiker heeft ingevoerd. Dat deze som vrijwel nooit zal kloppen begrijp ik, je zou de vorige getallen moeten bewaren en kijken of het daarmee overeen komt. Hoe de code nu werkt:

1. Gebruiker voert getal in.
2. Willekeurige getallen worden gemaakt
3. Test of de som van deze getallen overeen komt met de invoer.

Die kans is natuurlijk erg klein. Als je eerst de getallen laat zien, de gebruiker het antwoord laat invoeren en dan pas het resultaat vergelijkt is de kans groter dat de gebruiker het goed heeft.

Oh ja, je gebruikt aantalgoed voor het aantal goede antwoorden en voor de som van de willekeurige getallen. Dat gaat natuurlijk gekke getallen opleveren.

Blijkt dat citroenvlinders helemaal niet naar citroen smaken.

Alle reacties


Acties:
  • +2 Henk 'm!

  • Aganim
  • Registratie: Oktober 2006
  • Laatst online: 22:48

Aganim

I have a cunning plan..

Zet je code even tussen de [code] tags, zo is het nogal onleesbaar. En wat is nu precies je vraag?

[ Voor 6% gewijzigd door Aganim op 12-09-2018 20:49 ]


  • Ralfefernandes
  • Registratie: Juli 2007
  • Laatst online: 30-08-2023
hi Aganim,

als ik bijvoorbeeld:
private int nummer1, nummer2, goedAntwoord, foutAntwoord; intypt dan krijg ik het juiste antwoord.

nummer1 = 30;
nummer2 = 30;
int goedAntwoord =0;
int foutAntwoord =0 ;

totaal = nummer1 + nummer2;
if(nummer1 == nummer2){
System.out.println(totaal)
goedAntwoord++;
} else{
...........................
foutAntwoord++;

}
Zo werkt heel goed, maar op moment dat ik rondom nummers wil gebruiken, dan krijg ik altijd fout antwoord

Maar met Rondom numbers krijg ik altijd foutief antwoorden

Acties:
  • +1 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Een goed gestelde vraag is de helft van het antwoord:
https://stackoverflow.com/help/mcve

  • DroogKloot
  • Registratie: Februari 2001
  • Niet online

DroogKloot

depenisvanjezus

Een kenmerk en zwakte van veel "random" (niet "rondom") number generators zoals die in Java is dat ze nooit twee keer achter elkaar hetzelfde getal produceren, if(nummer1 == nummer2) evalueert dus altijd naar false. Je moet iets anders bedenken.

  • GlowMouse
  • Registratie: November 2002
  • Niet online
DroogKloot schreef op woensdag 12 september 2018 @ 22:56:
Een kenmerk en zwakte van veel "random" (niet "rondom") number generators zoals die in Java is dat ze nooit twee keer achter elkaar hetzelfde getal produceren, if(nummer1 == nummer2) evalueert dus altijd naar false. Je moet iets anders bedenken.
Ik zou het nog maar eens goed nakijken, want er klopt niets van je verhaal ;)

Acties:
  • +1 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
DroogKloot schreef op woensdag 12 september 2018 @ 22:56:
Een kenmerk en zwakte van veel "random" (niet "rondom") number generators zoals die in Java is dat ze nooit twee keer achter elkaar hetzelfde getal produceren, if(nummer1 == nummer2) evalueert dus altijd naar false. Je moet iets anders bedenken.
Onzin, PRNG's kunnen prima hetzelfde getal achter elkaar produceren (bewijs). En dat geldt overigens ook voor ware RNG's en CSRNG's. Maar ik zie even niet hoe dat überhaupt relevant is hier.

@Ralfefernandes Pas je posts even aan (gebruik de "wijzig" link bovenaan de berichten) en gebruik dan code tags a.u.b.

[ Voor 73% gewijzigd door RobIII op 12-09-2018 23:49 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • DroogKloot
  • Registratie: Februari 2001
  • Niet online

DroogKloot

depenisvanjezus

RobIII schreef op woensdag 12 september 2018 @ 23:23:

Onzin, PRNG's kunnen prima hetzelfde getal achter elkaar produceren
Een PRNG die zijn interne staat trunceert kan dat ja. De meest triviale *LCG's* die ik in gedachten had en al hun state bits teruggeven niet, maar Java's Random (ook een LCG) inderdaad weer wel, excuseé. Desondanks:
RobIII schreef op woensdag 12 september 2018 @ 23:23:
Maar ik zie even niet hoe dat überhaupt relevant is hier.
Ralfefernandes schreef op woensdag 12 september 2018 @ 21:09:
Java:
1
2
3
4
5
6
7
8
int nummer1 = random.nextInt(100);
int nummer2 = random.nextInt(100);
if(nummer1 == nummer2){
  System.out.println(totaal);
  goedAntwoord++;
} else{
  foutAntwoord++;
}

... op moment dat ik rondom nummers wil gebruiken, dan krijg ik altijd fout antwoord
Goh, waarom zou de kans dat output direct herhaald wordt nou relevant zijn ;)

Acties:
  • +1 Henk 'm!

  • TJHeuvel
  • Registratie: Mei 2008
  • Niet online
Wat probeer je nou precies te bereiken? Het klopt (vaak) dat twee willekeurige nummers niet gelijk zijn. Je gooit nu twee dobbelstenen met 100 kanten, en je vraagt je af waarom ze niet allebij hetzelfde resultaat hebben.

[ Voor 41% gewijzigd door TJHeuvel op 13-09-2018 08:14 ]

Freelance Unity3D developer


  • Ralfefernandes
  • Registratie: Juli 2007
  • Laatst online: 30-08-2023
TJHeuvel,

Ik heb inmiddels de code aangepast.

Wil je a.u.b. opnieuw checken?

Acties:
  • +3 Henk 'm!

  • TJHeuvel
  • Registratie: Mei 2008
  • Niet online
Je hebt je probleem nog niet echt uitgelegd. Wat wil je bereiken, wat is het doel van je programma? En waar loop je op vast?

Freelance Unity3D developer


  • Le Mol
  • Registratie: April 2000
  • Niet online
Denk ook dat het even handig is om uit te leggen wat je verwacht dat de code doet.

Want zoals ik het zo snel even bekijkt lijkt het erop dat je "wint" als je 25 in typt of als de random nummers samen 25 zijn en dat wordt dan steeds 1 meer? :?
door aantalGoed = user1 + user2; en dan aantalGoed++;?

Logic brings you from a to b, your imagination can bring you anywhere


  • Ralfefernandes
  • Registratie: Juli 2007
  • Laatst online: 30-08-2023
TJHeuvel,

met if statement
bijvoorbeeld:
als ik (nummer1 == nummer2{
……..
}
dan krijg ik altijd het juiste antwoord te zien.


Maar op het moment dat ik rondom nummer gebruikt
bijvoorbeeld:
ik (rondnummer1 == nummer1{
}

Dan krijg ik altijd foutieve antwoorden te zien

De bedoeling is dat de gebruikers het juiste antwoord moeten geven juiste via de app geven.

hier is een voorbeeld van:
Afbeeldingslocatie: https://drive.google.com/file/d/12zT_ELNMfqQbgw-Ow0lFKoGzOmV_faO9/view?usp=sharing

Acties:
  • +1 Henk 'm!

  • heuveltje
  • Registratie: Februari 2000
  • Laatst online: 20:27

heuveltje

KoelkastFilosoof

Je variabel namen maken dit zeer verwarrend.
user heeft blijkbaar niks met users te maken, maar zijn random getallen ?
Aantalgoed is dus niet hoeveel goede antwoorden zijn gegeven.
Getal is GebruikersInvoer


Ik ken geen java, maar Waarom heb je 2 Vergelijkingen ?
Je vergelijkt de input met de som van 2 random getallen. en met 25 (10+15) ?

[ Voor 63% gewijzigd door heuveltje op 13-09-2018 11:36 . Reden: My bad || is blijkbaar or in java., maar de vraag blijft waarom die ook :) ]

Heuveltjes CPU geschiedenis door de jaren heen : AMD 486dx4 100, Cyrix PR166+, Intel P233MMX, Intel Celeron 366Mhz, AMD K6-450, AMD duron 600, AMD Thunderbird 1200mhz, AMD Athlon 64 x2 5600, AMD Phenom X3 720, Intel i5 4460, AMD Ryzen 5 3600 5800x3d


  • Kheos
  • Registratie: Juni 2011
  • Laatst online: 18:57

Kheos

FP ProMod
begin hier eens mee:
TJHeuvel schreef op donderdag 13 september 2018 @ 07:40:
Wat probeer je nou precies te bereiken?
TJHeuvel schreef op donderdag 13 september 2018 @ 08:08:
Je hebt je probleem nog niet echt uitgelegd. Wat wil je bereiken, wat is het doel van je programma? En waar loop je op vast?
Le Mol schreef op donderdag 13 september 2018 @ 08:47:
Denk ook dat het even handig is om uit te leggen wat je verwacht dat de code doet.

Want zoals ik het zo snel even bekijkt lijkt het erop dat je "wint" als je 25 in typt of als de random nummers samen 25 zijn en dat wordt dan steeds 1 meer? :?
door aantalGoed = user1 + user2; en dan aantalGoed++;?
wat is de bedoeling, wat verwacht dat er gebeurt, wat gebeurt er echt, wat heb je al geprobeerd...

[ Voor 4% gewijzigd door Kheos op 13-09-2018 09:30 ]


Acties:
  • +1 Henk 'm!

  • heuveltje
  • Registratie: Februari 2000
  • Laatst online: 20:27

heuveltje

KoelkastFilosoof

Je wilt dus het aantal goede antwoorden in een textveld zetten ?
maar de stap daarvoor doe je : aantalGoed = user1 + user2 ?

Hoe zie je dat precies voor je ?

Overigens is de code in je voorbeeld plaatje weer anders dan die wat je hier geplaatst hebt :?

[ Voor 23% gewijzigd door heuveltje op 13-09-2018 10:08 ]

Heuveltjes CPU geschiedenis door de jaren heen : AMD 486dx4 100, Cyrix PR166+, Intel P233MMX, Intel Celeron 366Mhz, AMD K6-450, AMD duron 600, AMD Thunderbird 1200mhz, AMD Athlon 64 x2 5600, AMD Phenom X3 720, Intel i5 4460, AMD Ryzen 5 3600 5800x3d


Acties:
  • +1 Henk 'm!

  • ThoNohT
  • Registratie: September 2006
  • Laatst online: 15-06 18:16
heuveltje schreef op donderdag 13 september 2018 @ 10:05:
Overigens is de code in je voorbeeld plaatje weer anders dan die wat je hier geplaatst hebt :?
Dat maakt het inderdaad lastig om zinnig commentaar te geven.
  • In je originele code merkte ik bijvoorbeeld ook op dat je het antwoord vraagt, alvorens je de vraag op het scherm zet, maar in je screenshot is de code om de vraag op het scherm te zetten verdwenen. Bovendien lijkt me die code in de Main methode niet werken, want waar is de interactie met de knop en zo, maar dat doet niet heel er ter zake op het moment.
  • Verder is @heuveltje 's opmerking ook een hele grote issue, je lijkt in de war te zijn tussen de verschillende variabelen en wat voor doel ze hebben.
  • Bovendien heb je nog je nummer1 en nummer2 rondslingeren, welke volgens mij alleen van je vorige pogingen over zijn, maar ze zitten nu enkel in de weg en brengen je nog verder in de war.
  • Ten slotte lijkt de volgorde ook in je screenshot problematisch. Je vraagt eerst input aan de user, en genereert daarna twee random getallen en checkt of de gebruiker de som van deze twee getallen goed had voorspeld, dat lijkt me toch niet je bedoeling.
Het is wellicht verstandig om even een stapje terug te doen van de code, en zet op papier (of in een text editor) stap voor stap wat er moet gebeuren en in welke volgorde. Ga daarna terug naar je implementatie en zie hoe je dit in code om kan zetten.

Acties:
  • +1 Henk 'm!

  • Lapa
  • Registratie: April 2010
  • Laatst online: 20:18
Ok, het is een beetje speculatie, maar als ik naar de code kijk dan DENK ik dat de bedoeling is dat er dit gebeurt:
Het programma toont de gebruiker twee willekeurige getallen onder de 100. De gebruiker vult in wat hij denkt dat de som daarvan is. Het programma berekent of dat goed is en houdt de score van goed en foute antwoorden bij.

Maar dat is niet wat de code nu doet.

  • Kheos
  • Registratie: Juni 2011
  • Laatst online: 18:57

Kheos

FP ProMod
Lapa schreef op donderdag 13 september 2018 @ 11:52:
Ok, het is een beetje speculatie, maar als ik naar de code kijk dan DENK ik dat de bedoeling is dat er dit gebeurt:
Het programma toont de gebruiker twee willekeurige getallen onder de 100. De gebruiker vult in wat hij denkt dat de som daarvan is. Het programma berekent of dat goed is en houdt de score van goed en foute antwoorden bij.


Maar dat is niet wat de code nu doet.
maar wat zijn de requirements?

[ Voor 6% gewijzigd door Kheos op 13-09-2018 11:57 ]


Acties:
  • Beste antwoord
  • +5 Henk 'm!

  • elhopo
  • Registratie: December 2005
  • Laatst online: 16:48
Ik zet even mijn gedachtenlees module aan. Ik denk dat je een programmaatje probeert te maken waar je mensen sommetjes laat maken. Twee willekeurige getallen worden getoond, en de gebruiker moet het antwoord ingeven. Als jij die willekeurige getallen niet zo willekeurig maakt, gaat het goed (het antwoord klopt) en als je ze wel willekeurig maakt gaat het fout.

Als ik naar je code voorbeeld kijk snap ik dat de gebruiker het antwoord altijd fout heeft. In je actionevent listener bepaal je de willekeurige getallen, en vergelijk je of de som daarvan klopt met wat de gebruiker heeft ingevoerd. Dat deze som vrijwel nooit zal kloppen begrijp ik, je zou de vorige getallen moeten bewaren en kijken of het daarmee overeen komt. Hoe de code nu werkt:

1. Gebruiker voert getal in.
2. Willekeurige getallen worden gemaakt
3. Test of de som van deze getallen overeen komt met de invoer.

Die kans is natuurlijk erg klein. Als je eerst de getallen laat zien, de gebruiker het antwoord laat invoeren en dan pas het resultaat vergelijkt is de kans groter dat de gebruiker het goed heeft.

Oh ja, je gebruikt aantalgoed voor het aantal goede antwoorden en voor de som van de willekeurige getallen. Dat gaat natuurlijk gekke getallen opleveren.

Blijkt dat citroenvlinders helemaal niet naar citroen smaken.


Acties:
  • +3 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Dit is wel het toppunt van service hier zeg. Mensen die gedachten proberen te lezen om te achterhalen wat de TS nou eigenlijk vraagt _/-\o_

Ask yourself if you are happy and then you cease to be.


  • Zarathustra
  • Registratie: Januari 2008
  • Laatst online: 28-04-2020
Na het drukken op een knop wordt het antwoord dat de gebruiker ingevoerd heeft vergeleken met de som van twee random nummers. De kans dat het antwoord goed is is 0,5%, dat is niet altijd fout :) (A priori: gebruiker weet dat beide getallen tussen 0 en 100 liggen)
code:
1
2
3
class KnopjeSom implements ActionListener {
    public void actionPerformed(ActionEvent e) {
}

Dit ^^ is een 'event handler'. De code wordt (pas) uitgevoerd nádat de gebruiker op de knop klikt.

Je zult:
code:
1
2
int user1 = random.nextInt(100);
int user2 = random.nextInt(100);

ergens anders in je code moeten zetten. En die dan in 'actionPerformed()' gebruiken en vergelijken met het antwoord.

Totaal niet thuis in Java dus praktische oplossing heb ik niet. En zie dat elhopo me al voor is geweest.
Lethalis schreef op donderdag 13 september 2018 @ 14:29:
Dit is wel het toppunt van service hier zeg. Mensen die gedachten proberen te lezen om te achterhalen wat de TS nou eigenlijk vraagt _/-\o_
Ik doe niet anders als ik klanten interview voor het opstellen van een functioneel ontwerp :9

[ Voor 21% gewijzigd door Zarathustra op 13-09-2018 14:57 ]

Veni, vidi, vici - ik kwam, zag en overwon de drempels van het leven - denk ik dan maar, en vond vriendschap


  • Ralfefernandes
  • Registratie: Juli 2007
  • Laatst online: 30-08-2023
Het klopt wat je zei, dit is wat ik wil doen.
Lapa schreef op donderdag 13 september 2018 @ 11:52:
Ok, het is een beetje speculatie, maar als ik naar de code kijk dan DENK ik dat de bedoeling is dat er dit gebeurt:
Het programma toont de gebruiker twee willekeurige getallen onder de 100. De gebruiker vult in wat hij denkt dat de som daarvan is. Het programma berekent of dat goed is en houdt de score van goed en foute antwoorden bij.

Maar dat is niet wat de code nu doet.

  • Ralfefernandes
  • Registratie: Juli 2007
  • Laatst online: 30-08-2023
Klopt, dit is wat ik wil doen.
Weet je misschien hoe ik kan oplossen?
elhopo schreef op donderdag 13 september 2018 @ 11:59:
Ik zet even mijn gedachtenlees module aan. Ik denk dat je een programmaatje probeert te maken waar je mensen sommetjes laat maken. Twee willekeurige getallen worden getoond, en de gebruiker moet het antwoord ingeven. Als jij die willekeurige getallen niet zo willekeurig maakt, gaat het goed (het antwoord klopt) en als je ze wel willekeurig maakt gaat het fout.

Als ik naar je code voorbeeld kijk snap ik dat de gebruiker het antwoord altijd fout heeft. In je actionevent listener bepaal je de willekeurige getallen, en vergelijk je of de som daarvan klopt met wat de gebruiker heeft ingevoerd. Dat deze som vrijwel nooit zal kloppen begrijp ik, je zou de vorige getallen moeten bewaren en kijken of het daarmee overeen komt. Hoe de code nu werkt:

1. Gebruiker voert getal in.
2. Willekeurige getallen worden gemaakt
3. Test of de som van deze getallen overeen komt met de invoer.

Die kans is natuurlijk erg klein. Als je eerst de getallen laat zien, de gebruiker het antwoord laat invoeren en dan pas het resultaat vergelijkt is de kans groter dat de gebruiker het goed heeft.

Oh ja, je gebruikt aantalgoed voor het aantal goede antwoorden en voor de som van de willekeurige getallen. Dat gaat natuurlijk gekke getallen opleveren.

Acties:
  • +1 Henk 'm!

  • Stoelpoot
  • Registratie: September 2012
  • Niet online
Ralfefernandes schreef op donderdag 13 september 2018 @ 15:36:
Klopt, dit is wat ik wil doen.
Weet je misschien hoe ik kan oplossen?
[...]
Uit de reactie die je quote:
Dat deze som vrijwel nooit zal kloppen begrijp ik, je zou de vorige getallen moeten bewaren en kijken of het daarmee overeen komt.

  • Kheos
  • Registratie: Juni 2011
  • Laatst online: 18:57

Kheos

FP ProMod
Ralfefernandes schreef op donderdag 13 september 2018 @ 15:36:
Klopt, dit is wat ik wil doen.
Weet je misschien hoe ik kan oplossen?
[...]
zet ff in pseudocode, of in een flowchart ofzo wat je wilt dat je code doet
en doe nu hetzelfde met je huidige code

dan zul je al zien waar je de mist in gaat.

Acties:
  • +1 Henk 'm!

  • ID-College
  • Registratie: November 2003
  • Laatst online: 21:53
Maar.. is het probleem nou random nummers in Java of jouw code..? Volgens mij ligt het namelijk niet aan de random functie maar aan je code..

En aangezien je niet heel concreet antwoord geeft zal dit nog lang duren...

Acties:
  • 0 Henk 'm!

  • Ralfefernandes
  • Registratie: Juli 2007
  • Laatst online: 30-08-2023
ID-College schreef op donderdag 13 september 2018 @ 21:36:
Maar.. is het probleem nou random nummers in Java of jouw code..? Volgens mij ligt het namelijk niet aan de random functie maar aan je code..

En aangezien je niet heel concreet antwoord geeft zal dit nog lang duren...
Dat weet ik eigenlijk niet. Als ik rondom nummers gebruik dan krijg ik altijd een wrongAnswer, maar als ik geen rondom nummers gebruik dan krijg ik altijd een goedeAntwoord

[ Voor 34% gewijzigd door Ralfefernandes op 14-09-2018 01:50 ]


Acties:
  • +1 Henk 'm!

  • Kheos
  • Registratie: Juni 2011
  • Laatst online: 18:57

Kheos

FP ProMod
Ralfefernandes schreef op vrijdag 14 september 2018 @ 01:48:
[...]


Dat weet ik eigenlijk niet. Als ik rondom nummers gebruik dan krijg ik altijd een wrongAnswer, maar als ik geen rondom nummers gebruik dan krijg ik altijd een goedeAntwoord
heb je eigenlijk al iets gedaan met alle goede adviezen die hier gegeven zijn of stopt het hier gewoon?
we zijn hier met z'n allen aan het gedachtenlezen tegen de sterren op, maar er lijkt niks terug te komen van jouw kant.
wij zijn ondertussen al twee pagina's verder en jij lijkt nog op je startpost te zitten.

[ Voor 19% gewijzigd door Kheos op 14-09-2018 08:29 ]


Acties:
  • 0 Henk 'm!

  • Ralfefernandes
  • Registratie: Juli 2007
  • Laatst online: 30-08-2023
Kheos schreef op vrijdag 14 september 2018 @ 08:27:
[...]

heb je eigenlijk al iets gedaan met alle goede adviezen die hier gegeven zijn of stopt het hier gewoon?
we zijn hier met z'n allen aan het gedachtenlezen tegen de sterren op, maar er lijkt niks terug te komen van jouw kant.
wij zijn ondertussen al twee pagina's verder en jij lijkt nog op je startpost te zitten.
Mag ik de broncode hier uploaden zo dat je een kijkje kunt nemen waar het mis gaat? Want ik heb al van alles geprobeerd, en tot dusver heb ik nog niet kunnen achterhalen waar het mis gaat.

Acties:
  • +1 Henk 'm!

  • Kheos
  • Registratie: Juni 2011
  • Laatst online: 18:57

Kheos

FP ProMod
Ralfefernandes schreef op vrijdag 14 september 2018 @ 09:29:
[...]


Mag ik de broncode hier uploaden zo dat je een kijkje kunt nemen waar het mis gaat? Want ik heb al van alles geprobeerd, en tot dusver heb ik nog niet kunnen achterhalen waar het mis gaat.
nogmaals, wat heb je al gedaan met de adviezen die hier gegeven zijn?

we hebben al naar jouw code gekeken en we hebben al zaken aangehaald. wat denk je te bereiken door dit nog eens te doen als je niks doet met de adviezen die we aanreiken?

  • Ralfefernandes
  • Registratie: Juli 2007
  • Laatst online: 30-08-2023
Ik heb toch alles opnieuw ingetypt, om te kijken waar ik eigenlijk fout maak.

Maar helaas ik kan het niet achterhalen waar de fout in zit.

Hier is de broncode:
code:
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
     randonClass = new Random();

class KnopjeSom implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        String userInput = inputText.getText(); // get a text from de JTextField -> user input
        int numberInput = Integer.parseInt(userInput); //

  
        //  object for rondomNumbers
int maxLimit = 100; // this is random numbers
int minLimit = 100; // this is random object
    // new object
int goodAnwer =0;
int wrongAnswer = 0;
int number1 = 90;
int number2 = 40;

            int totaal = number1 + nummber2;
            int n1 = randonClass.nextInt(maxLimit); // random numbers
            int n2 = randonClass.nextInt(minLimit); // random numbers
            vijf.setText(n1 + " + " + n2); // Css Layout

///                int op=randonClass.nextInt(10);
            if ( n1 + n2 == numberInput || totaal == numberInput){

                goodAnwer++;
                aantal.setText("Good answers until now:  " + goodAnwer);


            } else{
                wrongAnswer++;
                foutAntwoord.setText("Wrong answrs until now: " + wrongAnswer);
            }

        }
    }

Acties:
  • +1 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:47

Creepy

Tactical Espionage Splatterer

Leg nu nog eens rustig uit wat je doet, wat je had verwacht dat er zou gebeuren, en wat er nu gebeurd. Heb je een IDE? Pak de debugger er eens bij. Heb je geen IDE? Probeer dan eens m.b.v. System.out o.i.d. te printen wat er nu gebeurd (dus print bijv n1, n2, numberInput en totaal uit voor de if). Dan zie je echt zelf wat er gebeurd en kan je zelf bepalen wat er mis gaat.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Ralfefernandes
  • Registratie: Juli 2007
  • Laatst online: 30-08-2023
Creepy schreef op zaterdag 15 september 2018 @ 10:36:
Leg nu nog eens rustig uit wat je doet, wat je had verwacht dat er zou gebeuren, en wat er nu gebeurd. Heb je een IDE? Pak de debugger er eens bij. Heb je geen IDE? Probeer dan eens m.b.v. System.out o.i.d. te printen wat er nu gebeurd (dus print bijv n1, n2, numberInput en totaal uit voor de if). Dan zie je echt zelf wat er gebeurd en kan je zelf bepalen wat er mis gaat.
Ja, ik maak gebruik van een IDE.

Ik heb via de command System.Out.print, en indd, daar is te zien dat het antwoord moet goed zijn.
Maar blijkbaar de code blijft zeggen dat het fout is.

Ik heb een video opgenomen zo dat je beter kunt zien waar het over gaat.

[Video: https://drive.google.com/open?id=1UEfGI0kOTUbi8aoAQ0dUPQMgfsLR8Drz]

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je kunt wel de uitkomst printen, maar het gaat klaarblijkelijk ergens anders fout. Print dáár dus eens het e.e.a. voor om te controleren waar het mis gaat. Zo moeilijk is het allemaal niet; je moet gewoon op de juiste plaats zoeken.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • kaassouffle
  • Registratie: Januari 2002
  • Laatst online: 15-06 15:42

kaassouffle

Medewerker v/d Maand

Ralfefernandes schreef op zaterdag 15 september 2018 @ 13:03:
[...]

Maar blijkbaar de code blijft zeggen dat het fout is.

I
Hoe komt dat 'zeggen' tot stand? Hij vertelt het niet doodleuk, hij voert een handeling uit die jij hebt ingesteld met waardes die jij aangeeft (of de gebruiker). Aan de hand hiervan komt hij tot de conclusie dat het fout is. Tijd dus om die handelingen en waardes na te lopen.

(Check al die variabelen om te zien of ze wel de waardes bevatten die jij denkt.)

  • eric.1
  • Registratie: Juli 2014
  • Laatst online: 22:56
Ralfefernandes schreef op zaterdag 15 september 2018 @ 13:03:
[...]


Ja, ik maak gebruik van een IDE.

Ik heb via de command System.Out.print, en indd, daar is te zien dat het antwoord moet goed zijn.
Maar blijkbaar de code blijft zeggen dat het fout is.

Ik heb een video opgenomen zo dat je beter kunt zien waar het over gaat.

[Video]
Nee, daar zie je dat je een typo hebt gemaakt in de "System.out"'s
code:
1
2
3
4
5
if(whatever){
System.out.println("...goed" + goedantwoord);
} else{
System.out.println("...>>goed<<" + foutantwoord);
}

die tweede moet natuurlijk fout zijn, en dan klopt de teller in je UI ws weer ;).

Loop trouwens eens chronologisch door de code. Daar zit het hem in (gok ik).

[ Voor 9% gewijzigd door eric.1 op 15-09-2018 14:30 ]

Pagina: 1