Eccomi qui di nuovo chiedo scusa per non aver inserito il codice in modo chiaro cmq mi continua a dare lo stesso errore anche se ho cambiato determinate cose nel codice :master: non capisco dove sia sto errore![]()
![]()
codice:import java.util.*; public class Libreria{ static Scanner tastiera = new Scanner(System.in); /** (1) Dichiarare e inizializzare una variabile statica numeroLibri per tener traccia del numero di Libri presenti nell'array; numeroLibri deve essere incrementata ogni volta che si inserisce un nuovo Libro e indica la prima posizione libera dell'array qui sotto. */ public static int numeroLibri = 0; public static void main(String [] args){ int scelta; /** (2) Dichiarare un array di oggetti Libro, chiamato mieiLibri, e inizializzarlo alla lunghezza scelta dall'utente. */ int dimensione = UtilLeggiDaTastiera.leggiInteroPositivoDaTastiera("Lunghezza array"); Libro[] mieiLibri = new Libro[dimensione]; do { System.out.println(" Menu` di Gestione della mia Libreria"); System.out.println("1) Inserimento nuovo Libro"); System.out.println("2) Ricerca di un Libro"); System.out.println("3) Stampa Informazioni tutti i libri"); System.out.println("4) Esci"); System.out.println(""); System.out.println("Digita il numero dell'operazione desiderata seguito da invio:"); // (3) Mettere un controllo per verificare che l'utente inserisca un intero. while(!tastiera.hasNextInt()) { System.out.print("Inserire un intero: "); tastiera.next(); } scelta = tastiera.nextInt(); tastiera.nextLine(); // per consumare il "\n" residuo if (scelta == 1) { boolean r = inserisci(mieiLibri); if(r) System.out.println("\n Inserimento avvenuto con successo \n"); else System.out.println("\n Elenco pieno, inserimento non possibile! \n"); } if (scelta == 2) { System.out.println("Inserisci titolo Libro"); String titolo = tastiera.next(); Libro libro = ricerca(mieiLibri, titolo); if(libro == null) System.out.println("Libro non trovato"); else System.out.println(libro.toString()); } if (scelta == 3) { print(mieiLibri); } } // fine do while (scelta !=4); }//fine main. /** (4) Definire i metodi statici qui sotto per inserire e cercare un nuovo Libro in un generico array di Libri. Si definisca inoltre un metodo print per stampare su schermo i valori dell'array di Libri. Si richiamino i metodi nel main sullo specifico array mieiLibri. */ /**Il metodo inserisci inserisce, se c'è ancora posto, un nuovo Libro nell'array. Si ricordi che la prima posizione vuota dell'array è indicata da numeroLibri. */ public static boolean inserisci(Libro [] v){ if (numeroLibri < v.length) { System.out.println("Titolo:"); String t = tastiera.nextLine(); System.out.println("Autore:"); String a = tastiera.nextLine(); System.out.println("Edizioni"); int e = tastiera.nextInt(); // v[numeroLibri] = new Libro(t, a, e); numeroLibri++; return true; } else return false; } /** Il metodo ricerca restituisce il primo libro con il titolo uguale alla stringa passata come parametro, se c'è; restituisce null altrimenti. */ public static Libro ricerca(Libro [] v, String titolo){ for (int i = 0; i < numeroLibri; i++) { if (titolo.equals(v[i].getTitolo())) return v[i]; } return null; } // Il metodo print stampa su schermo i libri contenuti nell'array public static void print(Libro [] v){ for (int i = 0; i < numeroLibri; i++) { System.out.println(v[i].toString()); } } } // chiude la classe Libreria
L'errore è sempre lo stesso ma ora mi da errore la riga 155 che è la seguente:
codice:public static Libro ricerca(Libro [] v, String titolo){ for (int i = 0; i < numeroLibri; i++) { if (titolo.equals(v[i].getTitolo())) return v[i]; } return null; }

Rispondi quotando