Programma sulla classica lista in java.
Questi di seguito sono i file da cui partire ma prima di partire con tutti i metodi volevo creare e stampare la lista.
Un problema alla volta, iniziamo con la creazione.
TestList.java
Su tre righe di codice che ho scritto si salva solo la prima (creazione e inizializzazione dell'array) funziona.codice:package tests; import java.util.*; import java.io.*; import java.util.Scanner; import recursion.IntList; import static java.lang.System.*; import static recursion.IntList.*; public class TestList { public static void main(String[] args) { int [] a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; IntList myList = new IntList(); mylist = fromArray(a); } }
IntList.java
Mentre qua, l'unica istruzione che ho scritto nel metodo fromArray da problemi ma ne sono consapevole perché a mio modo mancano dei costruttori e cmq non so come mettere in pratica.codice:package recursion; public class IntList { private int element; private IntList next; public IntList(int el, IntList lis) { element = el; next = lis; } public IntList(int el) { this(el, null); } public static int first(IntList lis) { if(lis == null) throw new IllegalArgumentException(); return lis.element; } public static IntList next(IntList lis) { if(lis == null) throw new IllegalArgumentException(); return lis.next; } /* costruisce e restituisce la lista corrispondente all'array, cioè costituita da tutti e soli gli elementi dell'array, nello stesso ordine; è comoda una versione iterativa */ public static IntList fromArray(int[] a) { IntList lis = null; for(int i = a.length-1; i >= 0; i--) // ... return lis; } }
So che devo leggere l'elemento dell'array e inserirlo all'inizio finché non finisce. Dei 4 metodi che ci sono non me ne faccio nulla, devo creare qlcs io giusto?

Rispondi quotando