Methodenproblem (return)

Status
Nicht offen für weitere Antworten.

Lakai

Mitglied
ich hab ein problem!
will eine einfache methode machen, aber der compiler spuckt mir folgendes aus:

invalid method declaration; return type required!

bei folgendem code:

Code:
public class Zufallszahl implements IntegerZufall {
	
	intRandom() {
				
		double zwischenergebnis;
		double zufall = java.lang.Math.random();
		zwischenergebnis = zufall * 361; 
		int endergebnis = (int) zwischenergebnis;
		
		return (endergebnis);
	
	}
	
	
	
	public static void main ( String [] args) {
		
		int ergebnis0 = new intRandom(); 
		
		System.out.println(ergebnis0);
		
	}

}

dabei hab ich doch einen return angegeben...

thx a lot!
 

L-ectron-X

Gesperrter Benutzer
Lakai hat gesagt.:
invalid method declaration; return type required!
Der Compiler bemängelt hier eine unbrauchbare Methodendeklaration. Es wird noch ein Rückgabetyp verlangt.
Du willst ein int-Wert zurückgeben, also schreibst du das auch in die Methodendeklaration:
Code:
public static int intRandom() {
  return (int)(Math.random() * 361);	
}
Da du die Methode intRandom() aus einer statischen Methode (main()) heraus aufrufst, muss diese auch statisch sein.

Deine main-Methode enthält auch einen Fehler! new wird nur im Zusammenhang mit der Erzeugung von Objekten (Instanziierung von Klassen) benutzt.
Besser und viel einfacher ist:
Code:
public static void main ( String [] args) {        
  System.out.println(intRandom()); 
}
 

Lakai

Mitglied
vielen dank für die sehr ausführliche antwort!

werd versuchen das ganze jetzt mal umzusetzten!

dankeschön!!!
 

Lakai

Mitglied
könntest du mir jetzt vielleicht noch bei der implementierung helfen?

irgendwas mach ich da falsch... es liegt wahrscheinlich irgendwie an den modifiern - oder auch nicht...

und zwar soll ich das interface IntegerZufall implementieren, welches sich aus folgendem code zusammensetzt:
Code:
/**
 * Created on 17.09.2006
 */

/**
 * Interface fuer einen ganzzahligen Zufallzahlengenerator
 * 
 * @author Marc Woerlein (Woerlein@informatik.uni-erlangen.de)
 *
 */
public interface IntegerZufall {
	
	/**
	 * @return eine Zufallszahl zwischen 0 und 360
	 */
	public int intRandom();

}


mein code Zufallszahl sieht mitlerweilen so aus (also so wie du's gesagt hast - danke nochmal!):
Code:
public class Zufallszahl implements IntegerZufall {
	
	public static int intRandom() {
		
		return (int) (java.lang.Math.random() * 361);
		
	}		
		//double zwischenergebnis;
		//double zufall = java.lang.Math.random();
		//zwischenergebnis = zufall * 361; 
		//int endergebnis = (int) zwischenergebnis;
		//return (endergebnis);


	public static void main ( String [] args) {
		
		System.out.println(intRandom());
		
	}

}

und wenn ich das ganze compilieren will kommt folgende fehlermeldung:

Code:
Zufallszahl.java:4: intRandom() in Zufallszahl cannot implement intRandom() in IntegerZufall; overriding method is static
public static int intRandonm() {
 
G

Gelöschtes Mitglied 5909

Gast
nicht static machen

und in main:
Code:
Zufallszahl rand = new Zufallszahl();

System.out.println(rand.intRandom());
 

Micha_S

Aktives Mitglied
Das liegt daran, dass du deine Methode in Zufallszahl als static deklarierst, sie aber in dem Interface nicht als static vorliegt

Also musste nur das static wegmachen.

UNd dann dir darum Gedanken machen, wie du aus der main, die static ist auf deine Mehtode
intRandom(), die jetzt nicht mehr static ist, zugreifen kannst.
 

Lakai

Mitglied
vielen dank an euch beide!

@Micha_S: war ein netter versuch mich zum denken anzuregen, aber rail war schneller.

wobei ich eigentlich schon immer erst versuche, das durch meine java-bücher herauszufinden. aber ich glaube ich denke noch net so wirklich wie java denkt... ich hoffe das kommt noch.
 

Lakai

Mitglied
aber wenn ich ehrlich bin hab ich den schritt auch noch net so ganz verstanden!

ich kenn das zwar vom Printwriter

Code:
Printwriter eingabestrom = new Printwriter

aber so ganz verstanden hab ich das mit Zufallszahl jetzt nicht

ich erstelle quasi in meiner mainmethode der klasse zufallszahl
ein objekt / eine instanz der klasse zufallszahl.

dieses objekt ran übernimmt dann die methoden der klasse zufallszahl,
welche ich dann mit System.out ausgebe.



oder wie?!?
 

Micha_S

Aktives Mitglied
Ja genau!
Als Instanz einer Klasse hast du natürlich alle Attribute und Methoden der Klasse und kannst auf sie zugreifen.
 
G

Gelöschtes Mitglied 5909

Gast
einfach gesagt ist eine klasse ein bauplan für einen datentyp, an den bestimmte methoden / funktionen gebunden sind. static bedeutet aber, dass eine methode / funktion / andere daten für jede ausprägung dieses types ("objekt") gleich ist. Demnach musst du um eine nicht-static methode aufzurufen erst eine ausprägung des datentypes ("objekt / instanz") erzeugen.

ich hoffe des is jetzt n bischen klarer
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Quersumme berechnen - Methodenproblem Java Basics - Anfänger-Themen 1
K Methodenproblem Java Basics - Anfänger-Themen 10
Spin Methodenproblem Java Basics - Anfänger-Themen 4
U Methodenproblem Java Basics - Anfänger-Themen 5
MiMa Java Doc mehrere Return Parameter Java Basics - Anfänger-Themen 11
G Return in While Schleife Java Basics - Anfänger-Themen 6
J Rekursive Funktion und return statement Java Basics - Anfänger-Themen 3
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
M Warum return die Methode den Wert nicht Java Basics - Anfänger-Themen 5
S Methoden Return Rückgabewert wird nicht übergeben Java Basics - Anfänger-Themen 8
schredder Strings und reguläre Ausdrücke - Methode mit return string.matches Java Basics - Anfänger-Themen 5
I Return Array Java Basics - Anfänger-Themen 4
Q return Ausgabe Java Basics - Anfänger-Themen 4
javapingu Variablenwerte ändern ohne return Statement? Java Basics - Anfänger-Themen 7
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
G return 1 + methode Java Basics - Anfänger-Themen 4
H Methode mit Array als Rückgabe This method must return a result of Type int[] Java Basics - Anfänger-Themen 2
JD_1998 Hilfsmethode if return funktioniert nicht Java Basics - Anfänger-Themen 2
J Missing Return Statement Java Basics - Anfänger-Themen 11
T Return einer anderen Methode herausfinden Java Basics - Anfänger-Themen 9
C ArrayList mit return zurückgeben Java Basics - Anfänger-Themen 13
M kann man return in nur einer Methode einsetzen? Java Basics - Anfänger-Themen 7
V return String[] führt zu [Ljava.lang.String;@50675690 Java Basics - Anfänger-Themen 7
K Return in Schleife Java Basics - Anfänger-Themen 4
B Statische Methode return funktioniert nicht. Java Basics - Anfänger-Themen 19
S Missing return Java Basics - Anfänger-Themen 4
das_leon return message Java Basics - Anfänger-Themen 2
C return kann nicht auf variable zugreifen Java Basics - Anfänger-Themen 26
N Ausführung gibt keinen Fehler an, Return wird aber nicht ausgegeben Java Basics - Anfänger-Themen 22
R return: cannot find symbol Java Basics - Anfänger-Themen 2
R Ratespiel mit Return und einer Eingabe Java Basics - Anfänger-Themen 1
Z Return in While-Schleife Java Basics - Anfänger-Themen 7
N Frage zu this, super und return Java Basics - Anfänger-Themen 13
K ArrayList ausgeben mit return Java Basics - Anfänger-Themen 6
M Return statement Java Basics - Anfänger-Themen 4
J-Gallus Ein Getter bekommt eine anderen Type als er Return soll Java Basics - Anfänger-Themen 9
J Variablen Komsiche System.in.read() return-value? Java Basics - Anfänger-Themen 3
M Abbrechen Methode ohne return Java Basics - Anfänger-Themen 3
M Methoden Datei einlesen und als return übergeben. Java Basics - Anfänger-Themen 8
L OOP Return Java Basics - Anfänger-Themen 10
L Erste Schritte Frage zu 'return' Java Basics - Anfänger-Themen 4
J Methoden Rekursive Return Methode Java Basics - Anfänger-Themen 2
W Return statement in Methode nur bei if-clause Java Basics - Anfänger-Themen 3
D Methoden Return-Wert wird nicht ausgegeben Java Basics - Anfänger-Themen 3
F Return-Anweisung Java Basics - Anfänger-Themen 2
E Erste Schritte <? super Unterklasse> Return-Typ darf nicht vom Wildcard-Typ sein Java Basics - Anfänger-Themen 5
B OOP Methode mit Array mit return verlassen Java Basics - Anfänger-Themen 8
J Grundsätzliche Frage zu return Types in Methoden Java Basics - Anfänger-Themen 6
G return-wert für eine Methode Java Basics - Anfänger-Themen 1
B Methoden Probleme mit for Schleife und return Java Basics - Anfänger-Themen 5
Q Tastatureingabe direkt nach Eingabe (ohne zwischenzeitliches "Return" o.Ä ) weiterverwenden Java Basics - Anfänger-Themen 1
B Variablen Problem mit return String[] Java Basics - Anfänger-Themen 4
O Per return Run Methode beenden Java Basics - Anfänger-Themen 3
M Arrays als return Value? Java Basics - Anfänger-Themen 2
C Return statement Java Basics - Anfänger-Themen 10
T Boolean Missing return Statement?! Java Basics - Anfänger-Themen 2
Z Methoden return nullprüfung Java Basics - Anfänger-Themen 7
O Java return in Schleife Java Basics - Anfänger-Themen 4
K Was macht hier genau return? Java Basics - Anfänger-Themen 2
G Methoden Was bedeutet return in einer Methode Java Basics - Anfänger-Themen 5
Y Warum void statt Datentyp + return Java Basics - Anfänger-Themen 4
K Variablen RETURN in Case-Switch / This method must return a result of type Item Java Basics - Anfänger-Themen 4
K Erste Schritte "return" Problem bei Rekursion Java Basics - Anfänger-Themen 8
R If Verschachtelung und return; Java Basics - Anfänger-Themen 4
M Frage zum return; Befehl Java Basics - Anfänger-Themen 1
S try-catch - Variablen werden nicht an return übergeben Java Basics - Anfänger-Themen 3
C Einige Anfängerfragen (Return-Wert, Exception...) Java Basics - Anfänger-Themen 11
S Methoden Return Java Basics - Anfänger-Themen 8
T return-Wert verwenden? Java Basics - Anfänger-Themen 12
T Return eines Int-Werts? Java Basics - Anfänger-Themen 3
W return-Anweisung gibt nichts aus Java Basics - Anfänger-Themen 5
R Return in If Java Basics - Anfänger-Themen 10
S Methoden Return Anweisung beendet Methode nicht, stattdessen wird diese zweimal durchlaufen Java Basics - Anfänger-Themen 3
G array return methode Java Basics - Anfänger-Themen 10
L return wird nicht erkannt? Java Basics - Anfänger-Themen 3
J Regex mit Return Java Basics - Anfänger-Themen 3
M Variablen return-array klonen Java Basics - Anfänger-Themen 3
A Methode mit Array als Param --> return Array --> Fehler Java Basics - Anfänger-Themen 3
S Zeichen einlesen ohne Return? Java Basics - Anfänger-Themen 19
P Compiler-Fehler Boolean: Missing Return Statement Java Basics - Anfänger-Themen 4
S probleme mit der return anweisung Java Basics - Anfänger-Themen 20
E Warum wird Methode nicht durch return-Befehl beendet? Java Basics - Anfänger-Themen 3
V Erste Schritte Return ohne Argument Java Basics - Anfänger-Themen 6
I Methoden Missing return statement; Intervallschachtellung Java Basics - Anfänger-Themen 12
S Frage zu Vererbung und return. Java Basics - Anfänger-Themen 4
R return (mehrere floats) Java Basics - Anfänger-Themen 11
E Return String Java Basics - Anfänger-Themen 10
P Methoden Methode ohne return abbrechen? Java Basics - Anfänger-Themen 12
I Return Befehl in Methode Java Basics - Anfänger-Themen 13
M Problem mit boolean. Return nicht erkannt Java Basics - Anfänger-Themen 10
P Return aus For-Schleife Java Basics - Anfänger-Themen 19
S return in GUI ? Java Basics - Anfänger-Themen 12
M This method must return a result of type int Java Basics - Anfänger-Themen 13
F Erste Schritte return (char)toUnsignedInt(value) Java Basics - Anfänger-Themen 2
A Falscher Return-Wert Java Basics - Anfänger-Themen 2
M missing return statement?! Java Basics - Anfänger-Themen 4
L Return Fragen Java Basics - Anfänger-Themen 4
R Nach return() der aufgerufenen Methode wird aufrufende Methode nicht weiter ausgeführt Java Basics - Anfänger-Themen 14
I Null als return obwohl datensatz existiert Java Basics - Anfänger-Themen 12
S this method must return a result of type double Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben