Palindrom Test

Kaa27

Mitglied
Hallo, ich soll ein Zahlenarray darauf testen, ob es ein Palindorm ist (true/false)


Hier mein Code

Java:
	 static boolean isPalindrom(int[] meinArray) {
	
		int rueck[] = umkehren(meinArray);
		if (meinArray.equals(rueck)) {
			return true;
		}else
		return false;
	}//end isPalindrom

Das Problem ist ist, dass wenn ich nun mein Programmstarte, gibt es mir kein true/false aus, sondern es wiederholt die Methode umkehren.


Siehe hier:

Java:
		System.out.println("");
		ausgeben(meinArray);

		System.out.println(" ");
		replizieren(meinArray, laenge);

		System.out.println("");
		umkehren(meinArray);

		 System.out.println("");
		 isPalindrom(meinArray);

So dass in meiner Console folgendes erscheint(wenn ich 1,2,3 als Eingabe habe):

Das Array wird nun Rükwärts ausgegeben
3 2 1
Das Array wird nun Rükwärts ausgegeben
3 2 1

grüße
 
G

Gast2

Gast
Meinst du nicht dass das Problem dann vielleicht in der Methode umkehren liegt und du die zeigen solltest? ;)
 

Kaa27

Mitglied
.. ja klar, sorry.

Java:
	static int[] umkehren(int[] meinArray) {

		System.out.println("Das Array wird nun Rükwärts ausgegeben");
		int laenge = meinArray.length;
		for (int j = laenge - 1; j >= 0; j--) {
			System.out.print(meinArray[j] + " ");
		}
		return meinArray;

	}// end umkehren
 
G

Gast2

Gast
Du gibst das Array doch unverändert zurück? Sollte die Methode das Array nicht umdrehen?
 
K

Klassensprecher

Gast
Ich habe zuerst eine Kopie des Arrays erstellt und mich dann dem letzten Wert der Kopie dem ersten des alten zugewiesen usw...

Java:
    public static int[] umkehren(int[] a) {
        
        int [] b = new int [a.length]; // Erzeuge erstmal ein Array in das ich zwischenspeichern kann
        
        for(int i = 0 ; i < a.length ; i++) {
        	b[i] = a[i]; } //erstelle dann eine Kopie (Mit For-Schleife wegen Ref. Variable und so)
        	
        for (int i = 0 ; i < a.length ; i++)
            a[i] = b[(a.length-1)-i]; // und weise dann den ersten Wert des Alten Array dem letzten dem Wert des neuen zu
           
            return a; //und gebe das alte dann wieder (nun aber umgekehrt) zurück
        
        
    }

Grüße aus der gleichen Uni ;)
 

Sesostris

Aktives Mitglied
@Klassensprecher: Dein Ansatz ist schon korrekt, aber wozu machst du denn in der ersten Schleife eine Kopie von a, wenn du es dann in der zweiten Schleife ohnehin veränderst? Spar dir doch die erste Schleife, verändere b in der zweiten Schleife und gib b zurück. Dann bleibt dir a erhalten. In etwa so:
Java:
	public static int[] umkehren(int[] a) {
		int[] b = new int[a.length];

		for (int i=0 ; i<a.length; i++)
			b[i] = a[(a.length-1)-i];

		return b;
	}

Trotzdem frage ich mich, wieso ihr das so umständlich lösen wollt - schaut euch doch einmal den Aufbau eines Palindroms an: Die erste Ziffer ist ident mit der letzten, die zweite mit der vorletzten, ... etc. Da muss man nichts umkehren, eine Schleife mit einer if-Abfrage reicht aus.
 
K

Klassensprecher

Gast
Umkehren und Palindrom sollen ja unabhängig voneinander sein.

Aber das mit dem b zurückgeben ist deutlich einfacher das stimmt.
Habe da einen Kleinen Gedankenfehler gehabt und gedacht das man immer die Variable die Oben reinkommt auch wieder zurückgeben muss. Ist aber natürlich quatsch.
 

AquaBall

Top Contributor
.. ja klar, sorry.

Java:
	static int[] umkehren(int[] meinArray) {

		System.out.println("Das Array wird nun Rükwärts ausgegeben");
		int laenge = meinArray.length;
		for (int j = laenge - 1; j >= 0; j--) {
			System.out.print(meinArray[j] + " ");
		}
		return meinArray;

	}// end umkehren

EikeB hats schon gesagt: Du gibst 'meinArray' unverändert zurück. Das ist wohl der Kern.

Aber noch viel schlimmer: Du machst in der Routine ja garnichts, was mit dem Namen zu tun hat.
Die Methode müsste also so was wie "rückwärtsAnzeigen" heißen und nicht "umkehren".
Eine Veränderung in der Anzeige hat nichts mit Umkehren der Daten zu tun.

Deshalb ist auch deine Schlussfolgerung im 1. Post falsch: "es wiederholt die Methode umkehren."
Denn dann müsste die Reihenfolge ja wieder wie im Original sein.

Letzlich ist einfach die Ausgabe in deiner umkehr-Methode fehl am Platz.
(Außer du hast sie zu Debug-Zwecken eingebaut.)
Und in deinem main() fehlt aber die Ausgabe.
das Main sollte von der Struktur so heißen:
Java:
        System.out.println("Original: "+meinArray);
        System.out.println("repliziert: "+ replizieren(meinArray, laenge));
        System.out.println("umgekehrt: "+ umkehren(meinArray));
        System.out.println("ist Palindrom"+ isPalindrom(meinArray));
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Palindrom Test mit Junit Java Basics - Anfänger-Themen 23
M Palindrom Test mit Char-arrays! Java Basics - Anfänger-Themen 3
D Größtes Palindrom Produkt aus zwei dreistelligen Zahlen Java Basics - Anfänger-Themen 60
A Palindrom Java Basics - Anfänger-Themen 3
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
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
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
Zrebna Frage zu Test-Driven Development (TDD) Java Basics - Anfänger-Themen 3
W junit.Test not accessible? Java Basics - Anfänger-Themen 4
W Junit-Test (Java) Java Basics - Anfänger-Themen 4
W Testfälle bei Java ( Junit-Test) Java Basics - Anfänger-Themen 3
D Hilfe bei Calculator Test Java Basics - Anfänger-Themen 15
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
M Test auf Exceptions schreiben Java Basics - Anfänger-Themen 11
P Eclipse Karate Framework API Test . Unexpected Error: the trustAnchors parameter must be non-empty Java Basics - Anfänger-Themen 1
I Variable innerhalb Methode: Local variable test defined in an enclosing scope must be final or effectively final Java Basics - Anfänger-Themen 3
A Junit Test für MysqlDataSource JDBC Java Basics - Anfänger-Themen 3
A Test Junit Java Basics - Anfänger-Themen 1
H Junit test Java Basics - Anfänger-Themen 12
P JUnitTest Best Practise (Ein Assert pro Test?) Java Basics - Anfänger-Themen 10
P Methoden JUnit 4 - Test Java Basics - Anfänger-Themen 6
Mr_Kleeblatt Operatoren if (arri[i] != "test.java"&& arri[i] != "test.class") Java Basics - Anfänger-Themen 3
N Fehler bei JUnit Test Java Basics - Anfänger-Themen 5
L Test-Methoden schreiben Java Basics - Anfänger-Themen 13
D Test auf Dopplungen Java Basics - Anfänger-Themen 32
neerual Klassen Wie rufe ich Klassen, die andere Klassen extenden in einer Test Unit auf? Java Basics - Anfänger-Themen 10
B JUnit Test erstellen Java Basics - Anfänger-Themen 6
B zzz.test Java Basics - Anfänger-Themen 13
W Problem bei JUnit Test Aufgabe Java Basics - Anfänger-Themen 15
W JUnit Test und HashCode Java Basics - Anfänger-Themen 14
C Erste Schritte Hexidezimal-Test Java Basics - Anfänger-Themen 2
A Kfz - Händler Klasse. JUnit-Test gibt noch Fehler an, aber finde Ursache nicht Java Basics - Anfänger-Themen 7
T Minesweeper Test Java Basics - Anfänger-Themen 2
S Junit Test Java Basics - Anfänger-Themen 2
F Test Java Basics - Anfänger-Themen 12
W Ist das ein legitimer Test? Java Basics - Anfänger-Themen 5
shiroX Methoden JUnit-Test einer void-Methode Java Basics - Anfänger-Themen 4
U Best Practice Datenbereitstellung Unit Test Java Basics - Anfänger-Themen 6
B Binäre Suche - Junit Test Java Basics - Anfänger-Themen 6
B Datentypen Test float und double speichern Zahlen nur ungefähr Java Basics - Anfänger-Themen 4
Z Vererbung Test auf Normalverteilung, Wilcoxon Java Basics - Anfänger-Themen 3
M Assertion NotNull Test Java Basics - Anfänger-Themen 3
S Separate Funktion für JUnit-Test Java Basics - Anfänger-Themen 3
W Test, ob Datei existiert, schlägt fehl Java Basics - Anfänger-Themen 4
T JUnit test failed Java Basics - Anfänger-Themen 3
H Array Test Methode schreiben Java Basics - Anfänger-Themen 3
R JUnit Test mit einer Dateistruktur als Testparameter Java Basics - Anfänger-Themen 3
V Bruchrechner Test Java Basics - Anfänger-Themen 7
T Test läuft schief Java Basics - Anfänger-Themen 3
shiroX OOP Array kleinste Zahl mit jUnit test Java Basics - Anfänger-Themen 3
G mache aus Test nach sortieren estt oder java aajv Java Basics - Anfänger-Themen 5
S Code stimmt nicht für vorgegebenen JUnit-Test Java Basics - Anfänger-Themen 2
x22 Java Multiple Choice Test Java Basics - Anfänger-Themen 8
R JUnit Test mit mehrfach ausgeführt Java Basics - Anfänger-Themen 6
B JUnit - Mini-Test Java Basics - Anfänger-Themen 9
T Unterschied zwischen Integrationstest und JUnit test? Java Basics - Anfänger-Themen 12
N Test mit assert Java Basics - Anfänger-Themen 9
Y Junit Test - Testwert ändert sich Java Basics - Anfänger-Themen 12
S Performance-/Stress Test für Webanwendung Java Basics - Anfänger-Themen 2
V Mediaplayer - NullPointerException bei Unit-Test Java Basics - Anfänger-Themen 4
H Ich kann mein Java Programm Test.class nicht ausführen Java Basics - Anfänger-Themen 6
H Javabefehl Test Java Basics - Anfänger-Themen 3
S Hilfe zu Java-Programm und JUnit Test!! Java Basics - Anfänger-Themen 5
T JUNit Test IOException Java Basics - Anfänger-Themen 5
H lucas-test Java Basics - Anfänger-Themen 14
P White-Box-Test Verständnisproblem Java Basics - Anfänger-Themen 11
N Methoden Test ob Server vorhanden ist Java Basics - Anfänger-Themen 4
N Test Datei = Bild Java Basics - Anfänger-Themen 5
S Erste Schritte 1. Test Programm Java Basics - Anfänger-Themen 21
Spin JUNIT Test Case - Problem bei testen Java Basics - Anfänger-Themen 2
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
timbeau JUnit Test Dauer speichern/loggen Java Basics - Anfänger-Themen 16
E Am Mittwoch Test und ich checks überhaupt nich Java Basics - Anfänger-Themen 27
A junit test wann verwendet man "was"? Java Basics - Anfänger-Themen 4
J JUnit Test Java Basics - Anfänger-Themen 2
D Test einer Chipkarte Java Basics - Anfänger-Themen 2
J Problem mit Test-Klasse Java Basics - Anfänger-Themen 4
E Test, ob String in Double umwandelbar ist Java Basics - Anfänger-Themen 3
J Test steht vor der Tür !! Java Basics - Anfänger-Themen 2
X Array nur mit Zahlen (test) Java Basics - Anfänger-Themen 11
Houly JUnit Test Suite anlegen Java Basics - Anfänger-Themen 6
F Primitiver Lucas-Lehmer-Test hängt sich auf Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben