Kategorie: Programowanie

[JAVA] Sprawdź czy wyraz jest palindromem

Cześć! Cieszę się, że mnie odwiedziłeś/aś. Zanim przejdziesz do artykułu chciałbym zwrocić Ci uwagę na to, że ten artykuł był pisany kilka lat temu (2012-07-28) miej więc proszę na uwadzę że rozwiązania i przemyślenia które tu znajdziesz nie muszą być aktualne. Niemniej jednak zachęcam do przeczytania.

Proste sprawdzenie w języku Java czy wyraz jest palindromem.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.util.Scanner;

public class Main {

  /**
  * @param args the command line arguments
  */

  public static void main(String[] args) {

      Scanner sc = new Scanner(System.in);
      System.out.println("Podaj 1 wyraz: ");
      String a = sc.nextLine();
      int h = a.length();

      int kk = 0;
      int k = (h - 1);
      for (int i = 0; i < h; i++) {

          if (a.charAt(i) != a.charAt(k)) {
              kk = 1;
              break;
          }
          k--;
      }

      if (kk == 1)
          System.out.println("Nie jest palindromem");
      else {
          System.out.println("Jest palindromem");
      }

  }
}

Jesteś studentem? Sprawdź czy warto studiować!

Dzięki za wizytę,
Mateusz Mazurek
Mateusz M.

Pokaż komentarze

  • A nie lepiej StringBuilder'em? Dwie linijki i po sprawie.

    String napis = "kajak";
    System.out.println(new StringBuilder(napis).reverse().toString().equals(napis));

  • Ja zrobiłem tak:

    /*
    * To change this license header, choose License Headers in Project Properties.
    * To change this template file, choose Tools | Templates
    * and open the template in the editor.
    */
    package palindrom;

    import java.util.Scanner;

    /**
    *
    * @author mulaczos
    */
    public class Palindrom {

    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {

    Scanner klawiatura = new Scanner(System.in);
    Sprawdz tekst = new Sprawdz();
    String wejscie=klawiatura.nextLine();
    String konwersja=tekst.Konwertowanie(wejscie);
    String konwersja2=tekst.Wynik(wejscie);
    System.out.println(tekst.Porownanie(konwersja,konwersja2));

    }

    }
    class Sprawdz {
    String wyjscie;
    String wynik;

    public String Konwertowanie(String wejscie) {
    String jeden=wejscie.replaceAll("[(,.?!;)]" , "");
    String dwa=jeden.replaceAll(" +" , "");
    String trzy=dwa.toLowerCase();
    wyjscie= new StringBuilder(trzy).reverse().toString();
    return wyjscie;
    }
    public String Wynik(String tekst) {
    wynik=tekst;
    String jeden=tekst.replaceAll("[(,.?!;)]" , "");
    String dwa=jeden.replaceAll(" +" , "");
    String trzy=dwa.toLowerCase();

    return trzy;
    }
    public String Porownanie (String konwersja, String konwersja2) {
    int a=konwersja.compareTo(konwersja2);

    if(a!=0) {
    return "Twoj tekst "+wynik+" nie jest palindromem";
    }
    else {
    return "Tekst "+wynik+" jest palindromem";
    }

    }
    }

  • W tym forze jest błąd, trzeba to h jeszcze podzielić przez dwa bo sprawdza 4 znakowe słowo 4 razy a przecież sprawdza ze sobą 2 znaki i przez to zły był wynik :)

Ostatnie wpisy

Podsumowanie: luty i marzec 2024

Ostatnio tygodnie były tak bardzo wypełnione, że nie udało mi się napisać nawet krótkiego podsumowanie. Więc dziś zbiorczo podsumuję luty… Read More

1 tydzień ago

Podsumowanie: styczeń 2024

Zapraszam na krótkie podsumowanie miesiąca. Książki W styczniu przeczytałem "Homo Deus: Historia jutra". Książka łudząco podoba do wcześniejszej książki tego… Read More

2 miesiące ago

Podsumowanie roku 2023

Cześć! Zapraszam na podsumowanie roku 2023. Książki Zacznijmy od książek. W tym roku cel 35 książek nie został osiągnięty. Niemniej… Read More

3 miesiące ago

Podsumowanie: grudzień 2023

Zapraszam na krótkie podsumowanie miesiąca. Książki W grudniu skończyłem czytać Mein Kampf. Nudna książka. Ciekawsze fragmenty można by było streścić… Read More

4 miesiące ago

Praca zdalna – co z nią dalej?

Cześć, ostatnio w Internecie pojawiło się dużo artykułów, które nie były przychylne pracy zdalnej. Z drugiej strony większość komentarzy pod… Read More

4 miesiące ago

Podsumowanie: listopad 2023

Zapraszam na krótkie podsumowanie miesiąca. Książki W listopadzie dokończyłem cykl "Z mgły zrodzony" Sandersona. Tylko "Stop prawa" mi nie do… Read More

5 miesięcy ago