code:------------------------------------------------------------------------------try
{
System.out.print("Servizio principale: ");
BufferedReader in1= new BufferedReader(new
InputStreamReader(System.in));
String c_Nomefile1 = in1.readLine();
System.out.print("Servizio da comporre: ");
BufferedReader in2= new BufferedReader(new
InputStreamReader(System.in));
String c_Nomefile2 = in2.readLine();
c_Nomefile =
c_Nomefile1.substring(0,c_Nomefile1.lastIndexOf(".")) + c_Nomefile2; //riga
incriminata
} catch (Exception e) { e.printStackTrace(); }
System.out.println(c_Nomefile);------------------------------------------------------------------------------
In compilazione non dą problemi; in esecuzione mi viene sollevata questa
eccezione:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at Client.main(Client.java:32)
Come mai?
--
TIA
Vuol dire che "in2.readLine()" legge una stringa NON contenente il ".".
In tal caso lastIndexOf(".") restituisce -1 che non è un indice valido.
int x=x+1..
non ha senso perchè x è ancora incompleta..
nel tuo caso x è c_NomeFile2
Spero di averti risolto il dubbio.
Stefano
"Francesco Dipalo" <bo...@email.it> wrote in message news:<5Nafd.530$Ni....@twister1.libero.it>...
> Ora ho un altro problema: ho eseguito:
>
>
>
> code:------------------------------------------------------------------------------try
> {
> System.out.print("Servizio principale: ");
> BufferedReader in1= new BufferedReader(new
> InputStreamReader(System.in));
> String c_Nomefile1 = in1.readLine();
> System.out.print("Servizio da comporre: ");
> BufferedReader in2= new BufferedReader(new
> InputStreamReader(System.in));
> String c_Nomefile2 = in2.readLine();
> c_Nomefile =
> c_Nomefile1.substring(0,c_Nomefile1.lastIndexOf(".")) + c_Nomefile2; //riga
> incriminata
> } catch (Exception e) { e.printStackTrace(); }
>
> System.out.println(c_Nomefile);------------------------------------------------------------------------------
>
> In compilazione non dà problemi; in esecuzione mi viene sollevata questa