Ciao a tutti,
ho un problema. Sto facendo un programma che simula un distributore di dvd. Il file di testo da cui leggo i dati è così strutturato:

La_nona_porta Roman_Polanski 2347483932032 10 15
che significa: titolo regista codice dvdDisponibili e dvdTotali

Ovvero: il titolo è separato da degli underscore!
Nel programma devo inserire da tastiera il nome del film che voglio noleggiare e aggiornare il numero di dvd disponibili(e fin qui l'ho fatto e funziona). Ora però devo far si che la ricerca sia effettuabile anche con stringhe parziali per esempio "nona_porta" o "La_porta" e qualora più dvd corrispondessero al criterio di ricerca, visualizzare un elenco numerato di tutti i risultati e consentire di sceglierne uno dall'elenco!

Qualcuno sa aiutarmi?
Vi metto qui parti di codice che ho già fatto:
codice:
public void load() throws IOException{

		Scanner sc=new Scanner(new File(file));	
		StringTokenizer st;
		String[] tit;		
		String[] reg;
	
		for(int k=0; k<numero_righe; k++){
			st=new StringTokenizer(sc.nextLine(), " ");
			String titolo= st.nextToken();
			d[k]=new Dvd(titolo);
		
               StringTokenizer st2=new StringTokenizer(titolo,"_");	
		int count2=st2.countTokens();	//
		for(int i=0;i<count2;i++){	
				tit=new String[count2];
					tit[i]=st2.nextToken();
				}
				
				String regista=st.nextToken();
				d[k].setRegista(regista);

				long codice=Long.parseLong(st.nextToken());
				d[k].setCodice(codice);
			
				int disponibili=Integer.parseInt(st.nextToken());
				d[k].setDisponibili(disponibili);
			
				int totali=Integer.parseInt(st.nextToken());
				d[k].setTotali(totali);		
					
		}
		
		//System.out.println("Dvd caricati correttamente!");
		//System.out.println();

		
	}
	
	public void noleggio(String titolo) {
		for (int k=0;k<numero_righe;k++){
			if((d[k].getTitolo().split("_")).equals(titolo)){
				System.out.println("Corrispondenza trovata");
				int disponibili=d[k].getDisponibili();
				System.out.println("I dvd disponibili di questo film sono:  "+disponibili);
				if(d[k].getDisponibili()>0){
				d[k].setDisponibili(disponibili-1);
				System.out.println("Hai noleggiato '"+d[k].getTitolo()+"'. I dvd ora disponibili del film sono: "+d[k].getDisponibili());
				}else{ 
					System.out.println("Non puoi noleggiare un altro dvd con questo titolo perchè sono stati tutti noleggiati!");
				}
			}
		}
	}