Split non funziona

di il
1 risposte

Split non funziona

Ciao a tutti spero di non essere pedante con tutti sti nuovi tread ma ho bisogno di un aiuto a capire perchè non funziona il mio programma:

do{
	   azione = in.next();
	 arrayAzione = azione.split(" ", 2);
	 String azione1 = arrayAzione[0];
	 String azione2 = arrayAzione[1];
	
	 
	 
	   switch(azione1){
	   case "c" :
		   
		   
		   
		   testoFile = new BufferedReader(new FileReader(azione2));
		   
		   break;
		 
	   case "v":
		   String visualizza =testoFile.readLine();
		   StringTokenizer parole = new StringTokenizer(visualizza," " );
		    listaParola = new ArrayList<>();
		 while(parole.hasMoreTokens()){
			 String ordinata = parole.nextToken();
			 listaParola.add(ordinata);

		 }
		   
		 Collections.sort(listaParola);
		for(String c : listaParola)
			System.out.println(c); 
		testoFile.close();
	     break;
	   case "i":
		   
		   
	     
	    break;
il metodo split in questo caso quando digito "c dizionario.txt" dovrebbe dividere la stringa digitata in 2 differenti giusto , una "c" e l altra "dizionario.txt" , ma non lo fa e con il debug mi identifica solo la prima stringa e non la seconda.
Dov'è che ho sbagliato ? perchè non funziona ?

grazie di tutto in anticipo.
ciao

1 Risposte

  • Re: Split non funziona

    Se, come presumo, quel "in" è un oggetto Scanner, allora dandogli in pasto la stringa "c dizionario.txt", la next() restituisce solo "c" perchè di default next() restituisce tutto ciò che c'è nel buffer fino al primo delimitatore di token... e lo spazio è proprio un delimitatore.

    Se vuoi ottenere tutta la stringa, allora devi usare nextLine() e non semplicemente next().


    Ciao.
Devi accedere o registrarti per scrivere nel forum
1 risposte