Modifica codice

di il
19 risposte

Modifica codice

Ragazzi scusate ho questo codice
public static void main (String [] args) {  
   String names [] = {"Thomas","Peter","Joseph"};
   String pwd [] = new String [3];
   int idx = 0;
   try {
         for (String n: names) {
            pwd [idx] = n.substring (2,6);
            idx ++;
         }
   }
   catch (Exception e) {
        System.out.println ("Invalid Name");
   }
   for ( String p: pwd) {
      System.out.println (p);
   }            
che compila ed esegue,insomma tutto apposto. Volvelo cercare di modificarlo,cioè volevo fargli stampare invece del primo il secondo elemento dell'array names,come si potrebbe fare grazie

19 Risposte

  • Re: Modifica codice

    maracaibo25 ha scritto:


    volevo fargli stampare invece del primo il secondo elemento dell'array names,come si potrebbe fare grazie
    Ma che vuol dire? Quel for-each finale stampa tutto il contenuto di pwd, che è il risultato del substring su tutti i names.
    Quindi?

    Tra l'altro, con "Peter" lancia eccezione per via del "endIndex" 6.
  • Re: Modifica codice

    andbin ha scritto:


    Ma che vuol dire? Quel for-each finale stampa tutto il contenuto di pwd, che è il risultato del substring su tutti i names.
    Quindi?

    Tra l'altro, con "Peter" lancia eccezione per via del "endIndex" 6.
    compilandolo viene fuori :
    invalid name
    omas
    null
    null
    io sempre se si puo fare vorrei far stampare invece :
    invalid name
    ter
    null
    null
  • Re: Modifica codice

    Ma hai capito cosa fanno quelle poche linee? Semmai dovresti scrivere

    pwd [idx] = n.substring (2,5);


    P.S. Mi sa che il linguaggio Java non faccia per te ...
  • Re: Modifica codice

    maracaibo25 ha scritto:


    io sempre se si puo fare vorrei far stampare invece :
    invalid name
    ter
    null
    null
    Ma non ha senso .... perché vorresti far stampare per primo parte del secondo elemento?? E il primo dove lo stampi??
    Hai capito almeno perché lancia eccezione? (e sai quale eccezione?)
  • Re: Modifica codice

    andbin ha scritto:


    Ma non ha senso .... perché vorresti far stampare per primo parte del secondo elemento?? E il primo dove lo stampi??
    Hai capito almeno perché lancia eccezione? (e sai quale eccezione?)
    l'eccezione viene lanciata perche il primo elemento Thomas viene modificato e "tagliato" dalla substring e quindi il catch cattura questo elemento.
    ah ok, no adbin era solo una curiosità mia,credevo che magari c'era un modo per modificare la stampa,ma credo che a questo punto ho detto un'eresia
  • Re: Modifica codice

    maracaibo25 ha scritto:


    l'eccezione viene lanciata perche il primo elemento Thomas viene modificato e "tagliato" dalla substring e quindi il catch cattura questo elemento.
    NO, non è "Thomas" il problema!! E' la stringa "Peter".


    Se vuoi una forma di substring più "safe", che non schianti a causa della lunghezza della stringa:
    pwd [idx] = n.substring(Math.min(2, n.length()), Math.min(6, n.length()));
  • Re: Modifica codice

    oregon ha scritto:



    P.S. Mi sa che il linguaggio Java non faccia per te ...
    scusami se sto imparando oregon
  • Re: Modifica codice

    andbin ha scritto:


    NO, non è "Thomas" il problema!! E' la stringa "Peter".

    Se vuoi una forma di substring più "safe", che non schianti a causa della lunghezza della stringa:
    pwd [idx] = n.substring(Math.min(2, n.length()), Math.min(6, n.length()));
    va bene grazie andbin
  • Re: Modifica codice

    Nulla di personale ma sono mesi che NON impari le basi ... forse dovresti cambiare linguaggio
  • Re: Modifica codice

    oregon ha scritto:


    Nulla di personale ma sono mesi che NON impari le basi ... forse dovresti cambiare linguaggio
    piano piano si arriva alla vetta
  • Re: Modifica codice

    maracaibo25 ha scritto:


    piano piano si arriva alla vetta
    Ma stai studiando su un libro .... o un po' a caso? Perché settimane fa eri su argomenti più complessi es. ereditarietà, eccezioni (e comunque con mille tuoi dubbi) e questo invece è di una banalità ...
  • Re: Modifica codice

    andbin ha scritto:


    Ma stai studiando su un libro .... o un po' a caso? Perché settimane fa eri su argomenti più complessi es. ereditarietà, eccezioni (e comunque con mille tuoi dubbi) e questo invece è di una banalità ...
    si ho due libri che mi hanno fatto scaricare,uno in inglese, poi un po di dispense, ed ogni tanto se non mi ricordo qualcosa la vado a riguardare su internet quando mi esercito con i codici. Si questo codice me ne rendo conto che è una cavolata, però magari certe volte voglio andare a cercare qualcosa che non c' è o che non centra niente col codice
  • Re: Modifica codice

    andbin ha scritto:


    NO, non è "Thomas" il problema!! E' la stringa "Peter".
    scusami se ritorno su questo codice,ma ok che con Peter va in eccezione,però perche anche con"Joseph" ci va? non dovrebbe stampare "seph
  • Re: Modifica codice

    maracaibo25 ha scritto:


    scusami se ritorno su questo codice,ma ok che con Peter va in eccezione,però perche anche con"Joseph" ci va? non dovrebbe stampare "seph
    No, "Joseph" non lo usa nemmeno! Guarda dove è il for con il substring rispetto al try-catch.
Devi accedere o registrarti per scrivere nel forum
19 risposte