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
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);
}
}
Su tre righe di codice che ho scritto si salva solo la prima (creazione e inizializzazione dell'array) funziona.
IntList.java
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;
}
}
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.
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?