Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Java: Osajonot (sama merkki)

JRokka [10.11.2019 13:52:21]

#

Tässä ohjelmassa pyritään etsimään mahdollisimman pitkiä merkkijonoja, jossa on sama alku -ja loppumerkki.

Koodi

import java.util.Scanner;

public class Samat_merkit {
    public static void main(String[] args){
        Scanner syote = new Scanner(System.in);
        String mjono = "";
        String ojono = "";
        int indeksi = 0;
        boolean onkoLoydetty = false; //Tällä katsotaan, onko osajono löydetty.
        System.out.println("Syötä merkkijono.");
        mjono = syote.next();
        //Etsitään osajonoja, jossa on sama alku -ja loppukirjain.
        //Kun uusi osajono on löydetty, siirretään alkukohta loppu kohdan jälkeen.
        //Ohjelmassa pyritään löytämään mahdollisimman pitkiä osajonoja.
       //Samoja indeksejä ei saa käyttää kahta kertaa.
        for (int x = 0; x < mjono.length()-1; x++){
            onkoLoydetty = false; //Osajonoa ei ole vielä etsitty.
            for (int y = x+1; y < mjono.length(); y++){
                if (mjono.charAt(x) == mjono.charAt(y)){
                    //Osajono löydetty.
                    ojono = mjono.substring(x,y+1);
                    onkoLoydetty = true;
                    indeksi = y; //Asetetaan alkukohta vanhan loppukohdan jälkeen.
                }
            }
            if (onkoLoydetty == true){
                x = indeksi;
                System.out.println(ojono);
            }
        }
    }
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta