Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Java: Palindromit merkkijonosta

JRokka [10.11.2019 14:58:24]

#

Tämä etsii palindromit merkkijonosta.

Koodi

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);
            }
        }
    }
}

Vastaus

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

Tietoa sivustosta