Ho un sacco di difficoltà a comprendere gli utilizzi meno ovvi dei vari cicli.
Per esempio questo codice:
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;
        }
Praticamente deve cercare una sottostringa in una stringa.
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.