Ho un sacco di difficoltà a comprendere gli utilizzi meno ovvi dei vari cicli.
Per esempio questo codice:
Praticamente deve cercare una sottostringa in una stringa.codice:String searchMe = "Look for a substring in me"; String substring = "bst"; boolean foundIt = false; int max = searchMe.length()-substring.length(); test: for (int i = 0; i <= max; i++) { int n = substring.length(); int j = i; int k = 0; while (n-- != 0) { if (searchMe.charAt(j++) != substring.charAt(k++)) { continue test; } } foundIt = true; break test; }
Perché il max è stato impostato così e non come semplicemente la lunghezza totale della stringa in cui cercare?
Ho provato a mettere il max come lunghezza totale della stringa madre e va tutto bene, finché non metto cose che non stanno nella stringa, e a quel punto mi da un'eccezione di string out of range...
In linea generale tutti cicli sopra usati non mi sono chiari.
Grazie.

Rispondi quotando
