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;
}