Ciao. e prima di tutto grazie ancora per tutte le informazioni, ho seguito passo passo. Mi sono un po' studiato le arrayList. All'inizio avevo difficoltà, poichè volevo creare un Array che contenesse tutte le età in input. Dal momento che la traccia non dice QUANTE età contenere, ho pensato di creare un Array vuoto senza dimensioni..ma questo non si può fare. Quindi ho optato per un ArrayList<int>, sapendo di dover usare solo numeri. Ho poi capito che non potevo utilizzare un primitivo ma un oggetto,così mi sono visto anche l'Integer, che (correggimi se sbaglio) trasforma il primitivo "int" in un oggetto.
Ho pensato a questo:
Ci ho messo un po' proprio perchè sto studiando ora, e l'unico strumento che ho è la logica...Di per sè funziona, l'ho già provato. Ma come potrei implementarlo con la traccia proposta?codice:public class AllHighestAge { public static void main (String[] args) { new AllHighestAge().run(); } public void run() { Scanner input = new Scanner(System.in); //creo una lista vuota senza dimensioni che contiene le età ArrayList<Integer> list = new ArrayList<Integer>(); final int sentinel=-1; //ciclo per inserimento while(true) { System.out.println("Enter an age: "); int age=input.nextInt(); if (age==sentinel) break; list.add(age); } System.out.println(list); //instanzio un Integer con le dimensioni della lista creata Integer a[]=new Integer [list.size()]; //trasformo la lista in un Array e lo inserisco in "a" list.toArray(a); //applico il metodo findHighestAge(a); } //definisco il metodo public void findHighestAge(Integer list[]) { int highestAge = list[0]; for(int i=0; i<list.length; i++){ if(list[i] > max){ highestAge = list[i]; } } System.out.println("The highest age is "+highestAge); } }

Rispondi quotando


