# char[] reverse Array



## Javaflasche (27. Apr 2006)

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 !?


```
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!


----------



## bygones (27. Apr 2006)

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....


----------



## Roar (27. Apr 2006)

hm:


```
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;
	}
```

:?:


----------



## bygones (27. Apr 2006)

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


mannoman ich werd echt zu alt dafür....


----------



## Roar (27. Apr 2006)

wenn dann aber StringBuffer und reverse() :bae:


----------



## bygones (27. Apr 2006)

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


----------



## Guest (27. Apr 2006)

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  ....


----------



## Javaflasche (27. Apr 2006)

Ich würde das ganze jetzt mal in der Eingabe ansehen, aber es klappt nicht:

```
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);
}
```


----------



## Roar (28. Apr 2006)

mh, so geht das nich.

beispiel:

```
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 <


----------



## Javaflasche (28. Apr 2006)

Vielen, vielen Dank!!! Tip Top Deine Hilfe!


----------

