char array drehen

xXmyselfXx

Mitglied
Hallo,

ich habe eine Frage zum Thema Arrays:

Ich soll in einem char array die zeichen tauschen: z.B. ['a','b','c'] → ['c','b','a']
Das habe ich auch probiert, allerdings bekomme ich eine komische Ausgabe in der Eingabeaufforderung:

notepad.PNG

cmd.PNG

Was mache ich falsch?
 

funlow

Mitglied
Sollst du wirklich EIN Array umdrehen ? oder darfste das auch mit 2 Arrays machen, weil du es ja einfach probierst umgedreht in ein neues Array gespeichert hast.

Und du hast die Methode in die Main methode geschrieben musst es einfach in die public Klasse schreiben oder in ne neue Klasse die in der public klasse ist
 

xXmyselfXx

Mitglied
ich soll die Methode

public char[] drehMichUm(char[] myArr){
}

erstellen und das gedrehte array zurückgeben.
wie, ist denke ich egal.
das außen herum ist auch nur für mich zum testen.

danke für deine rückmeldung
 
Zuletzt bearbeitet:

xXmyselfXx

Mitglied
also vielen dank.
hat jetzt folgendermaßen geklappt:

notepad.PNG

gibt es eine einfachere möglichkeit, oder ist das so grob das, was in der klausur erwartet wird?
 
Zuletzt bearbeitet:

funlow

Mitglied
Also ich persönlich würde das ohne ein Zweites Array machen sparste Speicher mit, was zwar nur größeren Programmen wichtig ist aber trotzdem ne bessere Möglichkeit meines Erachtens ist. :D

würdest statt nem kompletten Array nur mit einer Variable arbeiten die du zum zwischenspeichern nutzt. würde dann wie folgt am laufen:
1. den Wert von den index 0 vom array in der tmp Variable.
2. letzten Wert des Arrays im ersten des Arrays abspeichern.
3. tmp Variable im letzten Feld abspeichern.

selbes mit dem letzten vorletzten etc ...
 

xXmyselfXx

Mitglied
das bekomme ich irgendwie nicht hin.
denn in der mitte muss er ja aufhören, sonst dreht der das char wieder, wie es vorher war.
die dafür notwendige? while schleife schaffe ich aber leider nicht...
 

funlow

Mitglied
Machste halt mit ner extra Bedingung in der Schleife
if ( counter == array.length-counter) { return array;}.
Musste garnicht mit einer while schleife machen kannst es schon bei der for-schleife belassen. Und du brauchst noch den Basisfall das wenn die beiden nebeneinander liegen beziehungsweise sich überholen, dass du dann die Schleife auch abbrichst.
 

Neue Themen


Oben