===== QuadAleas ===== "faire une classe avec quatre fils de type objet, un constructeur qui affecte des valeur random() à des objets Double qui deviennent ces fils [avec des System.out.println des valeurs qu'il affecte], une méthode de lecture des valeurs des fils. Et une procédure test qui invoque cette classe et demande les valeurs pour vérifier que ça c'est bien passé. " import java.math.*; import java.io.*; public class QuadAleas { Object NW, NE, SE,SW; int niveau=1; double x; QuadAleas(){ x=Math.random(); System.out.println("NW="+x); NW = new Double(x); x=Math.random(); System.out.println("NE="+x); NE = new Double(x); x=Math.random(); System.out.println("SE="+x); SE = new Double(x); x=Math.random(); System.out.println("SW="+x); SW = new Double(x); } } Programme qui teste: import java.io.*; public class TestQuadAleas { public static void main(String args[]){ QuadAleas q; double x; Double d; double dv; System.out.println("debut"); q=new QuadAleas(); System.out.println("q peut exister"); System.out.println("que vaut q.NE?"); System.out.println(((Double) q.NE).doubleValue()); System.out.println("que vaut q.NW?"); dv=((Double) q.NW).doubleValue(); System.out.println(dv); System.out.println("que vaut q.SW?"); System.out.println(((Double) q.SW).doubleValue()); System.out.println("que vaut q.SE?"); System.out.println(((Double) q.SE).doubleValue()); d = (Double) q.NW; } } Résultat au console : debut NW=0.6100332155732191 NE=0.24218663748775782 SE=0.011311275927148201 SW=0.9628320177972618 q peut exister que vaut q.NE? 0.24218663748775782 que vaut q.NW? 0.6100332155732191 que vaut q.SW? 0.9628320177972618 que vaut q.SE? 0.011311275927148201 Deuxième fois (aléas différents?) debut NW=0.8002215519190667 NE=0.8639876457672263 SE=0.6765963324510199 SW=0.23393572355401193 q peut exister que vaut q.NE? 0.8639876457672263 que vaut q.NW? 0.8002215519190667 que vaut q.SW? 0.23393572355401193 que vaut q.SE? 0.6765963324510199 Enseignements tirés de cette expérience: 1. Puisque les quartiers sont déclarés ''Object'' le cast ''(Double)'' dans dv=((Double) q.NW).doubleValue(); et System.out.println(((Double) q.SE).doubleValue()); est indispensable pour avoir accès à la méthode ''.doubleValue()''. 2. Il n'a pas été nécessaire de rajouter une méthode lisValeur, la méthode fournie par Double a suffit. ==== Suite ==== La suite est dans [[quad_dble|QuadDble]].