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.