# Methode erstellen



## Wollmer (23. Mai 2005)

Hi,

wie kann man einen Programmkode in Java so umschreiben das er zu einer Methode wird?
z.B. so was:


```
int x = x + 2;
x = x * 100;
System.out.print(x);
```

Das ist nun ein einfaches Beispiel.

MfG Wollmer


----------



## Wildcard (23. Mai 2005)

Natürlich kann man(davon abgesehen das int x = x + 2; blödsinn ist). Ist das jetzt eine ernsthafte Frage?

```
public void fooBar(int x)
{
    x+=2;
    x*=100;
    System.out.println(x);
}
```


----------



## Wollmer (23. Mai 2005)

Kenne mich nicht so gut in Java aus und mache gerade meine ersten Schritte. 

Methoden sind ja, so weit ich weiß da, um sie mehrmals anzuwenden ohne alles neu zu schreiben. 
Wie wendet man denn eine Methode an?

würde so was wie


```
fooBar(99);
```

schon reichen?


----------



## mic_checker (23. Mai 2005)

jep.


----------



## Dreezard (23. Mai 2005)

ja das reicht.

Also methoden sind grundbestandteil von Java. Du kannst generell anweisungen (deklarationen und initialisierungen ausgenommen) nur in methoden schreiben.

Ich würde dir empfehlen mal ein gutes Buch oder Online-Tutorial zu lesen. Siehe "Java ist auch eine Insel" in der 4. Auflage. Wirklich sehr zu empfehlen.


----------



## L-ectron-X (23. Mai 2005)

Wenn du die Methode aber von außerhalb, also in einer anderen Klasse aufrufen möchtest, brauchst du eine Instanz der Klasse, in der die Methode implementiert ist.
Nehmen wir an, die Klasse heißt Foo.java, dann sieht das so aus:

```
Foo foo = new Foo();
foo.fooBar(99);
```


----------



## Dreezard (23. Mai 2005)

@L-ectron-X: ich denke soweit ist er wohl noch nicht ;-)


----------



## Wollmer (23. Mai 2005)

das mit den Methoden von anderen Dateien habe ich gerade erst gelesen
solange es sich um einen einfachen Programmstück handelt, dann geht es auch einfach, aber wie kann man etwas komplexeres in eine Methode tun, wie das Programm was hier erwähnt wird?

http://www.java-forum.org/de/viewtopic.php?t=18373


----------



## mic_checker (23. Mai 2005)

Stell doch deine Frage konkret. Was heisst "komplexer" ? Der andere Thread sollte ja geklärt sein....


----------



## Dreezard (23. Mai 2005)

Naja. Zuerst mal überlegt man sich einen Algorhytmus der die zahlen sortiert (z.B. von vorne bis hinten durchgehen und immer zwei zahlen vergleichen, wenn die erste größer ist, eins nach rechts schieben, das mehrmals durchgehen, bis nichts mehr verschoben wurde, also das array sortiert ist).
Das setzt man dan in einzelne anweisungen um.
N paar schnipsel:

```
int[] sort(int[] zuSortierendesArray) {
bool isSorted = true;
  while(isSorted) {
  isSorted = true;

     for(int i = 0; i < zuSortierendesArray.size - 1; i++) {
     ...
     if(zuSortierendesArray[i] > zuSortierendesArray[i+1]) {
          isSorted = false;
          //verschieben
    }
    ...
   }
  }
return zuSortierendesArray;
}
```

EDIT: Und du kannst eine Methode so komplex machen wie du nur willst. Aber du solltest beachten: Eine Methode sollte nur eine aufgabe haben, diese aber perfekt erfüllen


----------

