Hirdetés

Új hozzászólás Aktív témák

  • KubanitoS

    veterán

    Alakul a Java tanulás, szeretnék kérdezni egyet.

    ///////
    public class gyak {
    public static void main(String[] args) {

    String szo = "xxxx";
    int hanyszorvanmegbenne = 0;

    for (int i = 0; i < [color = red] szo.length() - 3; [/color] i++) {
    if (szo.substring(i, i + 2).equals(szo.substring(i + 2, i + 4))) {
    hanyszorvanmegbenne++;
    }
    }
    System.out.println(hanyszorvanmegbenne);
    }
    }
    /////////
    A fenti kód működik, annyit csinál, hogy substring segítségével megnézi, hogy egy adott stringben hányszor található meg egymás mellett négy ugyanolyan karakter.

    Három karaktert vizsgál meg egyszerre és nézi az átfedéseket is, de nem igazán értem, miért kell a -3 a length után a ciklusba. Vagyis papíron levezetve teljesen logikus a dolog és kell is oda a -3 ahhoz, hogy ne dobjon hibát, de sajnos nem értem a logikáját teljesen. Valaki volna kedves elmagyarázni szájbarágósan?

Új hozzászólás Aktív témák