Voglio scrivere un metodo che, dato un array di stringhe ordinato, e passando come parametro al metodo una stringa:
- restituisca -10 se la stringa cercata è presente nell'array
- inserisce la stringa cercata se non è presente nell'array e restituisce la posizione in cui l'ha inserita
- lanci un'eccezzione se l'array è pieno.
Io ho scritto questo ma non va..
maincodice:import java.util.*; public class Array { Scanner tast = new Scanner(System.in); private String[] elementi; private int numElementi; public Array(String[] a, int i) { elementi = a; numElementi = 1; } public int aggiungiElem(String val) throws IllegalStateException { int h = 0; while(h < elementi.length) { if(elementi[h].equals(val)) return -1; else h++; } int j = 0; for(int i = 0; i < numElementi && elementi[i].compareTo(val) < 0; i++) j = i + 1; for(int i = numElementi; i > j; i--) elementi[i] = elementi[i - 1]; elementi[j] = val; return j; } }
Graziecodice:import java.util.Scanner; public class TestArray { public static void main(String[] args) { Scanner tast = new Scanner(System.in); String[] a = {"c", "d", "e", "g", "o", "p", "r", "z"}; Array r = new Array(a, 15); try { System.out.println("Inserisci una stringa: "); String s = tast.nextString(); a.inserisci(s); } catch(IllegalStateException ecc) { System.out.println("Array pieno"); } }

Rispondi quotando


