# Methode xy soll Werte aus main verwenden



## Timo90 (2. Nov 2009)

```
public class aufgabe {

    public static void main(String[] args) {

        int x = 5;
        int y = 8;

        blabla
        
        System.out.println(s);
        

    }

    public void summe() {

        int s = x + y;
    
    }
}
```

Ich will eine Methode summe schreiben, welche die in der main definierten Integerwerte zu s addiert, s soll dann in main ausgegeben werden...
Wie muss ich die Methode dann bezeichnen. Danke


----------



## Landei (2. Nov 2009)

```
public class aufgabe {
 
    public static void main(String[] args) {
 
        int x = 5;
        int y = 8;
 
       
        System.out.println(s(x,y));
        
 
    }
 
    //Man könnte die Werte hier natürlich auch x und y nennen, 
    //es wären aber trotzdem nicht dieselben wie in main
    public static int summe(int xWert, int yWert) {
 
        return xWert + yWert;
    
    }
}
```


----------



## icarus2 (2. Nov 2009)

Entweder deklarierst du die Methode sume(..)  als 'static':

[Hier stand mal falscher Code. Schau dir den Code oben an. Der stimmt]

Oder du erzeugst ein Objekt der Klasse aufgabe und rufst dann die Methode über objektname.methodenName() auf. Aber ersteres würde wahrscheinlich mehr Sinn machen.

Btw...
Klassennamen immer im CamelCase schreiben. Also in deinem Fall 'Aufgabe'


----------



## Timo90 (2. Nov 2009)

ok danke, jetzt habe ich nochmal eine Frage

in der main wurden x y z und a als int definiert

nach dem die zahlen geordnet wurden, sollen sie sortiert wiedergegeben werden...
so geht es leider nicht


```
public static ordnen(int x,int y,int z,int a){

        ordnungsalgorithmus....
        
        return x, y, z, a;
```


----------



## icarus2 (2. Nov 2009)

Du kannst pro Methode nur ein einziges return-statement haben. Um das ganze zu sortieren würde ich dir empfehlen das ganze mit einem Array zu machen
[Java]
public static int[] ordnen(int[] arrayName){

        //Sortier-Algo

        return arrayName
}
[/Java]

Ich würde sowas in die Richtung machen.


----------



## Landei (3. Nov 2009)

icarus2 hat gesagt.:


> Du kannst pro Methode nur ein einziges return-statement haben.



Ach ja?

```
public int max(int x, int y) {
   if(x > y) {
      return x;
   } else {
      return y;
   } 
}
```


----------



## icarus2 (3. Nov 2009)

Naja, ich meinte damit, dass er bei einem return nicht zwei Werte angeben kann, also sowas wie return x, y;

Hab mich etwas unklar ausgedrückt.


----------

