Palindrom

animeLoan

Mitglied
Hallo Kollegen, meine aufgabe ist es ein programm zu schreiben das bestimmt, ob eine einzugebende Zeichenfolge ein
Palindrom ist oder nicht. Große und kleine Buchstaben (A und a) sollen
als unterschiedliche Zeichen behandelt werden.
Mein Anfang sieht so aus:

Java:
import java.util.Scanner;
public class palindrom {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        System.out.println("Bitte eine Zeichenfolge eingeben:");
        String eingabeString = console.nextLine();
        int laengeDerEingabe = eingabeString.length();
        char eingabeZeichen[];
        eingabeZeichen = new char[laengeDerEingabe];
        eingabeZeichen = eingabeString.toCharArray();

    }
    }

komm aber nicht weiter, ich muss auch mit indexen (rechts und links) arbeiten.
 
Zuletzt bearbeitet:

temi

Top Contributor
Verwende für das Zeigen von Code bitte die Code-Tags (das </> Symbol im Editor).
Java:
import java.util.Scanner;

public class palindrom {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        System.out.println("Bitte eine Zeichenfolge eingeben:");
        String eingabeString = console.nextLine();
        int laengeDerEingabe = eingabeString.length();
        char eingabeZeichen[];
        eingabeZeichen = new char[laengeDerEingabe]; // Hier erstellst du ein neues leeres char-Array
        eingabeZeichen = eingabeString.toCharArray(); // welches hier sofort wieder überschrieben wird
    }
}

Die Methode toCharArray() erzeugt bereits ein char-Array, so dass die vorherige Initialisierung unnötig ist.
 

Oneixee5

Top Contributor
Die Aufgabe ist nicht so schwer. Ein Palindrom ergibt von links oder rechts gelesen immer das selbe Wort.
Das kann man ja einfach mal machen:
Java:
        final String palindrom = "RELIEFPFEILER";
        final String mordnilap = new StringBuilder(palindrom).reverse().toString();
        System.out.println(Objects.equals(palindrom, mordnilap));
Aber offensichtlich geht es hier um eine Übung mit dem Index und der Länge eines Strings.
Dabei ist links einfach 0 und rechts die Länge des Palindroms - 1, da der erste Index 0 ist. Prüfen muss man nur bis zur Hälfte des Palindroms:
Der linke Buchstabe (links) am Index 0, 1, 2, 3 ... muss einfach mit dem jeweiligen rechten Buchstaben verglichen werden, also rechts - links. Bei ungerader Buchstabenanzahl muss man den mittleren Buchstaben nicht vergleichen. Buchstaben eines String sind char und die vergleicht man mit ==.
Also wird das eine simple Schleife:
Java:
    public static void main(final String[] args) throws Exception {
        System.out.println(isPalindrome("RELIEFPFEILER"));
    }

    private static boolean isPalindrome(final String palindrome) {
        final int half = Math.floorDiv(palindrome.length(), 2);
        final int right = palindrome.length() - 1;
        for (int left = 0; left < half; left++) {
            if (palindrome.charAt(left) != palindrome.charAt(right - left)) {
                return false;
            }
        }
        return true;
    }
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Größtes Palindrom Produkt aus zwei dreistelligen Zahlen Java Basics - Anfänger-Themen 60
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
H Palindrom ermitteln Java Basics - Anfänger-Themen 21
N palindrom erkennen Java Basics - Anfänger-Themen 3
H Harshad-Zahl (Nivenzahl) und Palindrom überprüfen Java Basics - Anfänger-Themen 2
L Palindrom in zweidimensionalem Array Java Basics - Anfänger-Themen 16
B Palindrom Test mit Junit Java Basics - Anfänger-Themen 23
T Auf Palindrom überprüfen Java Basics - Anfänger-Themen 10
R Best Practice Palindrom in einem Text finden Java Basics - Anfänger-Themen 18
L In Javakara Palindrom erkennen. Java Basics - Anfänger-Themen 9
P Programm Hilfe Palindrom Java Basics - Anfänger-Themen 6
C Bei der LinkedList auf Palindrom überprüfen Java Basics - Anfänger-Themen 4
Y Rekursiv Palindrom herausfinden Java Basics - Anfänger-Themen 5
C Palindrom im array Java Basics - Anfänger-Themen 5
R Palindrom eines int-Arrays berechnen Java Basics - Anfänger-Themen 14
D Palindrom Java Basics - Anfänger-Themen 15
H Palindrom Programm Java Basics - Anfänger-Themen 8
K Palindrom Test Java Basics - Anfänger-Themen 9
C Überprüfen auf Palindrom Java Basics - Anfänger-Themen 12
P Palindrom Java Basics - Anfänger-Themen 10
R In einem Palindrom 2 Buchstaben vergleichen Java Basics - Anfänger-Themen 16
H Palindrom Java Basics - Anfänger-Themen 7
NoXiD Auf Palindrom Prüfen Java Basics - Anfänger-Themen 9
M Palindrom mit Groß & kleinbuchstaben Java Basics - Anfänger-Themen 19
M Palindrom Test mit Char-arrays! Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben