salve volevo chiedere se è possibile istanziare un metodo a se dentro un altro metodo...
praticamemte nella classe D ce un metodo f() che crea un array di 100 interi con i valori r.nextInt(400) con r generata da un new Random(come vedete nel codice) e poi dovrebbe ordinarlo in modo crescente, solo che nel diagramma uml i due metodi che utilizzo ordinare l'array (scambio e ordinameto) non sono dichiarati...e secondo l'esercizio non devo aggiungere ne classi ne metodi ne variabili...
quindi tornando alla domanda è possibile itanziare i due metodi dentro al metodo f()??
vi posto il codice per farvi capire il problema...questa versione non funziona perchè i 2 metodi sono istanziati dentro al metodo f()...(se invece i metodi li istanzio a parte, sempre dentro la classe D ma a parte, tutto funziona benissimo ma così facendo implemento metodi al diagramma uml...
spero che possiate darmi una mano..thankscodice:import java.util.Random; abstract class A { private int X; public A (int x) {X=x;} public abstract int [] f(); } abstract class B extends A { private int W; public B (int x, int w) { super (x); W=w; } public float alfa() { float tmp=0; tmp += W + e.getCoeff(); return tmp; } } class D extends B { public D (int x, int w) {super (x,y);} public int [] f() { int array[] = new int [400]; Random r = new Random (22446688); for (int i=0; i<array.length; i++){ array[i] = r.nextInt(1000);} //questi che seguono sono i metodi di cui vi parlavo sopra //se li esco dal metodo f() funzionano perfettamente //ma così non compila...come faccio a farli funzionare senza tirarli fuori??? static void scambio (int a[], int primo, int secondo) { int tmp; tmp = a[primo]; a[primo] = a[secondo]; a[secondo] = tmp; } static void ordinamento (int array[]) { for ( int pass = 1; pass < array.length; pass++ ) for ( int i = 0; i < array.length-1; i++ ) { if ( array[i] > array[i+1] ) swap( array, i, i + 1 ); } } return array; }
(ho sistemato il codice così che possiate leggerlo meglio)

Rispondi quotando

