char[] reverse Array

  • Themenstarter Themenstarter Javaflasche
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
J

Javaflasche

Gast
Hallo Leute,

kann mir jemand bei der folgenden Aufgabe behilflich sein? Es eilt sehr....beim googlen hab ich nix gefunden...

Zur Aufgabe:
Ich möchte ein Funktion char[] reverse Array (char[] A) schreiben, die ein gegebenes char-Array umdreht. Hierbei soll keine Hilfsdatenstruktur wie z.B ein Array verwendet werden

Ich habs zwar programmieren können aber weiß nicht wie es mit einer Funktion geht !?

Code:
public class Hallo{
 public static void main (String [] args) {
  char [] a={'H','A','L','L','O'};
  for(int i=a.length-1; i>=0; i--) {
  System.out.print (a[i]);
   }
  }
 }



Danke!
 
ohne irgendeine Hilfstruktur wirds du es nicht schaffen, du kannst ja nicht im array was überschreiben und gleichzeitig das korrekte Ergebnis lesen wollen.

Darfst du gar nix anderes verwenden ? mit einem array wäre es recht leicht. eine andere Möglichkeit wäre den char[] in einen String umwandeln, und dann in den bestehenden array andersrum reinschreiben....
 
hm:

Code:
	public static char[] reverseArray(char[] array) {
		for(int i = 0; i < array.length/2; i++) {
			char tmp = array[array.length - i - 1];
			array[array.length - i - 1] = array[i];
			array[i] = tmp;
		}
		return array;
	}

:?:
 
öh - jo - aber meine String version is stylischer....


mannoman ich werd echt zu alt dafür....
 
Roar hat gesagt.:
wenn dann aber StringBuffer und reverse() :bae:
nen - zuviel schnickschnacks... String - neuer char array - String durchlaufen - in array schreiben.... einfach kanns jeder haben 😉
 
oh, es hat ja jemand zurückgeschrieben. Ich hab mir gedacht, dass ich eine Hilfsvariable verwende.
Jetzt muß ich das Programm nur noch als Funktion schreiben - das weiß ich noch nicht wie es geht. Aber zuerst schaue ich mir Eure Lösunbgsmöglichkeiten mal an.

Tausend Dank!!!

Ich komme aber bestimmt gleich mit den nächsten Fragen 😀 ....
 
Ich würde das ganze jetzt mal in der Eingabe ansehen, aber es klappt nicht:
Code:
class Reverse{
	public static char[] reverseArray(char[] array) { 
		char [] array= {'5','4','3','2','1'};

      for(int i = 0; i < array.length/2; i++) { 
         char tmp = array[array.length - i - 1]; 
         array[array.length - i - 1] = array[i]; 
         array[i] = tmp; 
      } 
      return array; 
   }
   System.out.print(array);
}
 
mh, so geht das nich.

beispiel:
Code:
	public static void main(String[] args) throws Exception {
		char[] c = {'H', 'A', 'L', 'L', 'O'};
		reverseArray(c);
		System.out.println(new String(c));
		c = "Aggaugga".toCharArray();
		reverseArray(c);
		System.out.println(new String(c));
	}
	
	public static char[] reverseArray(char[] array) {
		for(int i = 0; i < array.length/2; i++) {
			char tmp = array[array.length - i - 1];
			array[array.length - i - 1] = array[i];
			array[i] = tmp;
		}
		return array;
	}

ich empfehl dir auch mal in nen buch zu gucken <🙂
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben