Volg de onderstaande video om te zien hoe je onze site als web-app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
jodeman zei:En nu stoppen met de loze opmerkingen.
0.99999999999 * 6 + 1jodeman zei:Man man man, run de code, kijk naar de uitkomst, er staan 6'en tussen.
Bij casten naar int houd hij rekening met afronding.
(int) (0.99 * 6) = 5SMa zei:0.99999999999 * 6 + 1
= 6.99999999994 => 7!
import extrajava.*;
import java.util.Random;
import java.awt.*;
public class dobbelsteen
{ private Random Dobbelsteen;
public dobbelsteen()
{ Random dobbelsteen = new Random();
}
public int werp()
{ int getal = (int)Dobbelsteen.nextInt(6);
int worp = (getal+1);
return worp;
}
}
import extrajava.*;
import java.util.Random;
import java.awt.*;
public class testdobbelsteen extends dobbelsteen
{ public static void main(String[] args)
{ dobbelsteen ds1 = new dobbelsteen();
dobbelsteen ds2 = new dobbelsteen();
System.out.println("Ik heb juist " + ds1.werp() + " en " +
ds2.werp() + " geworpen!");
}
}

import extrajava.*;
import java.util.Random;
import java.awt.*;
public class dobbelsteen
{
public int werp()
{
Random willekeurig = new Random();
int worp = willekeurig.nextInt(6) + 1;
return worp;
}
}
Messias. zei:Maar man, in uw klasse "dobbelsteen" moet ge toch helemaal geen methode "dobbelsteen" meer implementeren. Dat hoort thuis in de methode "werp".
PHP:import extrajava.*; import java.util.Random; import java.awt.*; public class dobbelsteen { public int werp() { Random willekeurig = new Random(); int worp = willekeurig.nextInt(6) + 1; return worp; } }
Erhm ... dat is zijn constructor gewoon misschien?Messias. zei:Maar man, in uw klasse "dobbelsteen" moet ge toch helemaal geen methode "dobbelsteen" meer implementeren. Dat hoort thuis in de methode "werp".
PHP:import extrajava.*; import java.util.Random; import java.awt.*; public class dobbelsteen { public int werp() { Random willekeurig = new Random(); int worp = willekeurig.nextInt(6) + 1; return worp; } }
Het kan, maar ik vind het nogal ongewoon om bij een constructor expliciet de public modifier te zetten. Wat ik opmaakte uit z'n code is dat hij nog een extra methode wou schrijven. Maar als dat inderdaad als constructor bedoeld was, dan was de fout inderdaad dat z'n hoofdletters omgewisseld waren. Trouwens, ik zie ook het nut niet in van een Random object aan te maken in de constructor. Soit, het probleem is opgelost.QplQyer zei:Erhm ... dat is zijn constructor gewoon misschien?
De echte fout is hierboven gezegd door HC_Daedalus, hoofdletters omgewisseld.
Een public constructor is de normaalste zaak van de wereld. Je moet declareren of een ander object wel een object van dit type kan maken (dat kan bv. niet het geval zijn bij bepaalde patterns en dergelijke), ik schrijf dat er alleszins ook altijd bij.Messias. zei:Het kan, maar het is nogal ongewoon om bij een constructor expliciet de public modifier te zetten. Wat ik opmaakte uit z'n code is dat hij nog een extra methode wou schrijven. Maar als dat inderdaad als constructor bedoeld was, dan was de fout inderdaad dat z'n hoofdletters omgewisseld waren. Trouwens, ik zie ook het nut niet in van een Random object aan te maken in de constructor. Soit, het probleem is opgelost.
QplQyer zei:Een public constructor is de normaalste zaak van de wereld.
?
, default is niet hetzelfde + het is duidelijker.Oké, daar had ik niet aan gedacht.QplQyer zei:Een Random object aanmaken in de constructor is gewoon propere initialisatie (en efficiënter, je moet maar éénmaal zo'n Random object gaan alloceren), dus zeker niet nutteloos.
QplQyer zei:*edit* public er niet bijvermelden zorgt er overigens niet voor dat het gedrag hetzelfde is als public:
http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html

Ik geef in de rest van mijn paragraaf toch aan dat het niet altijd zo hoeft te zijn, bij bepaalde patterns? Maar misschien wat verkeerd uitgedrukt, akkoord.killgore zei:what about singletons en consoorten?
Als je bedoelt public er expliciet bijzetten normaalste zaak: idd, altijd doen, default is niet hetzelfde + het is duidelijker.

kaboem zei:Het is niet zot om zo een ding in een aparte class te maken.
Als je zoals in je in je eerste post zegt, dat ding in meer spelletjes gaat gebruiken dan ga je je main classe niet vervuilen met uw dobbelsteen. Je wil die dobbelsteen gebruiken, het kan u op dat moment niets meer schelen hoe dat die juist werkt.
En als je het nooit met iets kleins gebrobeerd hebt zal je later ook niet weten hoe je het moet doen als het echt nodit is.![]()

).Het ging helemaal niet over een aparte class, het ging over een apart object.kaboem zei:Het is niet zot om zo een ding in een aparte class te maken.
Als je zoals in je in je eerste post zegt, dat ding in meer spelletjes gaat gebruiken dan ga je je main classe niet vervuilen met uw dobbelsteen. Je wil die dobbelsteen gebruiken, het kan u op dat moment niets meer schelen hoe dat die juist werkt.
En als je het nooit met iets kleins gebrobeerd hebt zal je later ook niet weten hoe je het moet doen als het echt nodit is.![]()