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ć!
Mateusz Mazurek
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… Czytaj więcej »
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 :)