Ein herzliches Hallo an alle Java Programmierer!!!
Ich habe hier ein kleines Programm geschrieben was mir sagen soll ob ein eigegenbenes wort ein Palindrom (also von vorn nach hinten und von hinten nach vorn gelesen gleich ist z.b. otto) ist oder nicht das ganze soll mit der Klasse java.util.Stack realisiert werden....
nun soweit so gut habe nun folgenden Code zusamm gezimmert:
Kalsse Palindrom
Alles anzeigen
Test Klasse: Palindromtest
So nun ist das Problem das wenn ich die Testklasse ausführe und z.B. Otto eingebe passiert gar nichts!!!!!!
Finde den Fehler aber nicht kann mir nur denken das entweder die Testklasse falsch ist (Weiß nämlich nicht wie ich das ganze aufrufen soll) oder in der Klasse Palindrom wird irgenwas nicht so übergeben wie ich es mir vorstelle oder aber der vergleich mit equals ist nicht richtig da ich noch gar keinen HashCode implementiert habe muss ich den zwingend implementieren um equals zu nutzen???
ich danke euch im Vorraus für eure Hilfe und hoffe jemand findet den Fehler!
Mit freundlichen Grüßen
the_old_Pirate
Ich habe hier ein kleines Programm geschrieben was mir sagen soll ob ein eigegenbenes wort ein Palindrom (also von vorn nach hinten und von hinten nach vorn gelesen gleich ist z.b. otto) ist oder nicht das ganze soll mit der Klasse java.util.Stack realisiert werden....
nun soweit so gut habe nun folgenden Code zusamm gezimmert:
Kalsse Palindrom
Java-Quellcode
- import java.util.Stack;
- public class Palindrom {
- char []arr; // Hilfsarray
- Stack<Character> meinStack = new Stack<Character>(); // Stack zum vergleichen
- public Palindrom(String wort){ // Constructor
- arr = wort.toCharArray(); // zerlegt eingegebenen String in Chars und legt es in das Hilfsarray
- for( int i=0; i < arr.length; i++){ // for schleife durchläuft das array
- //und legt einzelne Chars in den Stack
- meinStack.push(arr[i]);
- }
- }
- //public char[] stringToArrays(String wort){
- //char[] arr = wort.toCharArray();
- //return arr;
- //}
- // Methoden Stummgeschalten da in Constructor zusammengefasst
- //public void pushStack(char[] arr){
- //for( int i=0; i < arr.length; i++){
- //meinStack.push(arr[i]);
- //}
- //}
- public boolean vergleichen(Stack<Character> meinstack, char[] arr){
- int i=0; // Methode vergleicht die einzelnen Chars des Stacks mit denen des Arrays
- while(meinstack.pop().equals(arr[i]) & i<arr.length){
- i++;
- }
- if (meinstack.empty()){ // Falls Stack empty muss Palindorm sein da sonst abbruch
- // desahalb ausgabe "Das wort ist ein Palindrom"
- System.out.println("Das wort ist ein Palindrom");
- return true;
- }
- else // Falls Stack nicht leer kein Palindrom deshalb "Das wort ist kein Palindrom"
- System.out.println("Das wort ist kein Palindrom");
- return false;
- }
- }
Test Klasse: Palindromtest
So nun ist das Problem das wenn ich die Testklasse ausführe und z.B. Otto eingebe passiert gar nichts!!!!!!
Finde den Fehler aber nicht kann mir nur denken das entweder die Testklasse falsch ist (Weiß nämlich nicht wie ich das ganze aufrufen soll) oder in der Klasse Palindrom wird irgenwas nicht so übergeben wie ich es mir vorstelle oder aber der vergleich mit equals ist nicht richtig da ich noch gar keinen HashCode implementiert habe muss ich den zwingend implementieren um equals zu nutzen???
ich danke euch im Vorraus für eure Hilfe und hoffe jemand findet den Fehler!
Mit freundlichen Grüßen
the_old_Pirate