Tässä ohjelmassa pyritään etsimään mahdollisimman pitkiä merkkijonoja, jossa on sama alku -ja loppumerkki.
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); } } } }
Aihe on jo aika vanha, joten et voi enää vastata siihen.