Java Statische Methode definieren ?

Airbag

Fleet Admiral
Registriert
Aug. 2008
Beiträge
12.192
Da ich gerade erst mit Java angefangen habe und scheinbar zu blöd für die Syntax bin, hätte ich eine Frage.


Code:
public class Hallo {

public static void main(String[] args) {
[B]
public static double [I]statischeMethode[/I] (int a, double b) { [/B]

}
}
}

Die fettmarktierte Methode soll zwei Variabeln mit jeweils unterschiedlichen Datentypen entgegen nehmen, aber sie scheint falsch zu sein, da Eclipse beim Namen und den zwei Klammern jeweils meckert. :(


Hoffe ihr könnt mir helfen und sagen wie ich es allgemein richtig aufschreiben müsste.
Ein Danke an alle die Antworten.

mfg Airbag
 
du versuchst eine Methode in einer Methode zu erstellen ;-)

Methoden werden in der Klasse erstellt!
 
Du musst außerdem auch noch einen Wert returnen, wenn du das in der Methodendeklaration so angibst:
Code:
public class Hallo {

public static void main(String[] args) {
}
public static double statischeMethode (int a, double b) { 
return 1.0d;
}
}
 
Zuletzt bearbeitet:
Code:
public class Hallo {

  // Methode 1
  public static void main(String[] args) {

  }
  
  // Methode 2
  public static double statischeMethode (int a, double b) { 
     return 0; // siehe Rückgabetyp
  }
}


Grüße
Stephan
 
Im grunde macht man das anders.
Da mit statischen Methoden rumzudoktern ist nicht zweckmässig.
Bin mir recht sicher das du nicht wirlich eine statischen Methoden willst.

Instanzier die Classe einfach im main und verwend sie normal, somit ersparst dir das static zeug.
Code:
public class Hallo{

public Hallo(){
System.out.println(Methode(1,1.0d));
}

public static void main(String[] args){
Hallo hallo = new Hallo();
}

public double Methode (int a, double b) { 
return 1.0d;
}

}
 
In dem Fall ist statisch aber richtig, es ist ziemlich unnütz eine Klasse zu instanzieren für eine Methode die nur 2 Werte entgegen nimmt, sie verwendet und nur 1 Ergebnis zurückliefert.
 
Und nochmal ganz sauber ausprogrammiert:

MyMath.java:
Code:
public class MyMath{

	public MyMath(){
		System.out.println(calcMethod(1,1.0d));
	}

	public double calc(int a, double b) { 
		return 1.0d;
	}

}

MyMain.java:
Code:
public class MyMain{

	public static void main(String[] args){
		MyMath mymath = new MyMath();
	}

}

Edit: Wenns wirklich nur eine zusätzliche statische Methode werden sollte hat Saro82 bzw. SteveP den richtigen Ansatz.
 
Zuletzt bearbeitet:
Danke Jungs. Es ist wirklich wie von SteveP beschrieben (:D) ....nachdem ich mir die Aufgabe mal richtig durchgelesen habe.
 
Zurück
Oben