Tämä etsii palindromit merkkijonosta.
import java.util.Scanner; public class Palindromit { public static void main(String[] args){ Scanner syote = new Scanner(System.in); String mjono = ""; String ojono = ""; String ojono_2 = ""; int indeksi = 0; boolean onkoLoydetty = false; //Tällä katsotaan, onko osajono löydetty. boolean onko_2 = false; System.out.println("Syötä merkkijono."); mjono = syote.next(); //Etsitään osajonoja, jotka ovat palindromeja. for (int x = 0; x < mjono.length()-1; x++){ onkoLoydetty = false; //Osajonoa ei ole vielä etsitty. onko_2 = false; for (int y = x+1; y < mjono.length(); y++){ ojono = mjono.substring(x,y+1); onkoLoydetty = true; //Oletetaan, että sana on palindromi, jos yksikin merkki eroaa kyseessä ei ole palindromi. for (int z = 0; z < ojono.length(); z++){ if (ojono.charAt(z) != ojono.charAt(ojono.length()-1-z)){ onkoLoydetty = false; } } if (onkoLoydetty == true){ //Osajono löydetty. indeksi = y; //Asetetaan alkukohta vanhan loppukohdan jälkeen. ojono_2 = ojono; onko_2 = true; } } if (onko_2 == true){ x = indeksi; System.out.println(ojono_2); } } } }
Aihe on jo aika vanha, joten et voi enää vastata siihen.