Rückgabe der Werte funktioniert nicht

N.Klaas

Mitglied
Hallo allerseits,

ich bin relativ blutiger Anfänger in Java und hab hier und da noch so meine kleinen und großen Problemchen. Gerade bereite ich mich mit Alt-Klausuren auf meine erste Prüfung vor und komme bei einer jedoch nicht so recht weiter.
Wir sollen eine Funktion implementieren die einem immer die Anzahl der Kuchenstücke in Abhängigkeit der Schnitte angibt. Also seien die Schnitte m und die Kuchenstücke x würde das bedeuten:
m=0 -> x=1
m=1 -> x=2
m=2 -> x=4
m=3 -> x=6
usw.

wir sollen den vorgegebenen Methodenkopf verwenden
Code:
 int hoch(int x, int m)
.
Es sollen keine Methoden aus der Klasse Math benutzt werden.
Ich hab mir jetzt folgendes kleines Programm überlegt:
Java:
public class Mathe{		

	int x;			\\Attribute erzeugen (mit Beispielwerten)
	int m = 3;

	int hoch(int x, int m){		\\beginnen Methode mit Parametern
		if(m == 0){		\\Sonderfall m=0 prüfen
			return x = 1,	\\Rückgabe Sonderfall
		} else {	
			for(int i=1; i < m+1; i++){	\\Schleife mit Abbruchbedingung
				x = x+2;		\\Anweisung
			}\\for
		}\\if-else
		return x;				\\Rückgabe
	}\\Methode hoch
	public static void main(String[] args){		
		System.out.println(x);			\\Ergebnis ausgeben
	}\\Methode main
}

Jetzt das Problem. In der Form will er mir das gar nicht erst kompilieren, er hat ein Problem mit meinem System.out.println, warum weiss ich nicht. Lasse ich also den Teil weg, kompiliert er es mir, will es aber nicht ausführen. Wo liegt mein Fehler? Ich bin mir oft nicht sicher, inwiefern meine Attribute außerhalb der Methode gelesen werden können etc.
Dank für eure Hilfe.
Gruß Niklas
 
T

Tomate_Salat

Gast
Hast du im Source auch diese (ich nehme mal an es sind) Kommentare stehen? Da hast du nämlich was verdreht:
Java:
\\ Ich wäre gerne ein Kommentar, bin aber tatsächlich keiner
// Ich bin ein einzeiliger kommentar
/*
 * Ich bin ein mehrzeiliger Kommenatr
 */
/**
 * Ich bin ein Kommentar für Javadocs
 * /

In der main musst du natürlich die Methode hoch aufrufen, sonst ist logisch, dass nichts passiert.
 

pro2

Bekanntes Mitglied
Also er sollte eigentlich den Fehler ausgeben, dass x vielleicht nicht initialisiert sein könnte. Deshalb kompiliert er nicht. Dass er es nicht ausführen will, bezweifle ich, nur die Frage ist, was er denn ausführt wenn du den Teil weglässt. Beim Aufruf des Programms führt er ja das aus, was in der main steht. Und soweit ich das hier sehen kann, steht dann da ja gar nichts. Du musst deine Methode "hoch()" ja irgendwo aufrufen, um zu sehen, ob sie funktioniert. Des weiteren gilt doch x = 2m, wenn ich das richtig sehe. ;-)

edit: achja und die Kommentare natürlich.. //
 

VfL_Freak

Top Contributor
Moin,

In der Form will er mir das gar nicht erst kompilieren, er hat ein Problem mit meinem System.out.println, warum weiss ich nicht. Lasse ich also den Teil weg, kompiliert er es mir, will es aber nicht ausführen. Wo liegt mein Fehler? Ich bin mir oft nicht sicher, inwiefern meine Attribute außerhalb der Methode gelesen werden können etc.
Dank für eure Hilfe.

Dein 'x' ist ein Integer-Wert - wandele in mal in einen String um ...

Und da Du Deine Methode 'hoch' nirgendwo aufrufst, wird sie logischerweise auch nicht ausgeführt !

Gruß
Klaus
 

Fab1

Top Contributor
Hi,

warum machst du nicht einfach

Java:
 if(m == 0){    
            return 1,   
        } else {    
            
                return 2*m;     
            }
         return -1;

statt deiner for-Schleife? Oder verhau ich mich da grad?^^
 

Airborne

Mitglied
@ Klaus,
schau noch mal hin. Das macht nun echt keinen Sinn. Die Ausgabe funktioniert mit dem int.

@ Niklas
Pass auf, du hast ein Member "x" am Anfang der Klasse und ein Argument "x" in deiner Methode. Verwechslungsgefahr!
Nimm lieber eindeutige Namen, das macht die Sache viel leichter (iFaktor, iStuecke, ...).

Und benutzt du eine IDE wie Eclipse oder Netbeans?
Die sollten dich auf die Komentare hinweisen und gleich zeigen, dass da was nicht stimmt.
An sich gibt es auch keinen Grund keine IDE zu benutzen. Sie helfen bei Fehlern, aber den Code muss man schon noch selbst schreiben.
 
T

Tomate_Salat

Gast
Dein 'x' ist ein Integer-Wert - wandele in mal in einen String um ...
Was soll das bringen?

@TO: Was ich komplett übersehen habe: dein x ist keine statische Variable, deswegen kannst du nicht von der main aus direkt darauf zugreifen. Entweder du definierst das x nochtmal in der main oder du setzt ein [c]static[/c] vor das [c]int[/c].
 

N.Klaas

Mitglied
Hey, danke für die vielen Antworten. Ja das mit dem Auskommentieren war eher ne Schussel-Fehler. Hab eure Tips probiert so gut wie möglich umzusetzen, hier das Ergebnis.

Java:
public class Mathe{
	
	public Mathe(int x, int m){}
	
	static int hoch(int x, int m){
		if(m == 0){
			return 1;
		}
		for(int i=1; i<m+1; i++){
			x = x+2;
		}
		return x;
	}
	public static void main(String[] args){
		System.out.println(hoch(0, 3));
	}
}

Jetzt noch eine letzte Frage: Wie kann ich in der main Methode (die ja statisch ist) die hoch Methode aufrufen, ohne, dass diese statisch sein muss? Danke nochmal und noch nen schönen Abend.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Methoden ArrayList Rückgabe bringt komische Werte Java Basics - Anfänger-Themen 12
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
G Endlosschleife keine Rückgabe Java Basics - Anfänger-Themen 36
R Rückgabe: verkettete Liste Java Basics - Anfänger-Themen 2
H Methode mit Array als Rückgabe This method must return a result of Type int[] Java Basics - Anfänger-Themen 2
Z Rückgabe eines Values in umgekehrte richtung Java Basics - Anfänger-Themen 5
M Rückgabe eines Arrays Java Basics - Anfänger-Themen 10
R Methode Rückgabe Java Basics - Anfänger-Themen 10
D Methode mit Übergabe double und Rückgabe String Java Basics - Anfänger-Themen 2
J Rückgabe-Problem Java Basics - Anfänger-Themen 10
B Rückgabe von zwei Werten: String und double Java Basics - Anfänger-Themen 14
N Best Practice Rückgabe eines Terminal Befehls in eine Variable speichern Java Basics - Anfänger-Themen 27
J Funktionen auf der Rückgabe eines Stacks (pop) Java Basics - Anfänger-Themen 6
karlmasutra Klassen Rückgabe eines Wertes aus einer anderen Klasse Java Basics - Anfänger-Themen 3
V Methoden Rekursive Methode mit String als Rückgabe Java Basics - Anfänger-Themen 7
L [Verständnisproblem] Array wird trotz void rückgabe verändert. Java Basics - Anfänger-Themen 5
S Rekursion Rückgabe - Türme von Hanoi Java Basics - Anfänger-Themen 16
F Konsolen Befehl ausführen und Rückgabe auswerten Java Basics - Anfänger-Themen 3
F Get/Post als eigener Thread mit Rückgabe Java Basics - Anfänger-Themen 5
L Probleme bei Rückgabe eines Arrays in einer Methode Java Basics - Anfänger-Themen 47
L Frage zur Rückgabe von Werten bei Methoden Java Basics - Anfänger-Themen 4
P Rückgabe erflogt nicht als Double Java Basics - Anfänger-Themen 2
M Übergabe / Rückgabe Java Basics - Anfänger-Themen 6
A Rückgabe in for-Schleife Java Basics - Anfänger-Themen 2
I Rückgabe und Aufruf einer Methode innerhalb einer anderen Methode Java Basics - Anfänger-Themen 5
S Rückgabe-Array lässt sich nicht auslesen, LocalDate mit String Java Basics - Anfänger-Themen 3
G Methoden mehrdimonsionale Arrays als Rückgabe Java Basics - Anfänger-Themen 2
S Methode rückgabe wiederverwenden Java Basics - Anfänger-Themen 4
J Rückgabe als Wert, keine Referenz Java Basics - Anfänger-Themen 3
llabusch Methoden Rückgabe einer Methode verwerden Java Basics - Anfänger-Themen 1
S Methoden void-Methode: Wieso gibt es eine Rückgabe? Java Basics - Anfänger-Themen 5
R public static void Rückgabe Java Basics - Anfänger-Themen 5
H Array wird verändert ohne Rückgabe? Java Basics - Anfänger-Themen 7
S Rückgabe von einem Array Java Basics - Anfänger-Themen 7
S Problem mit Rückgabe Wert von Methoden Java Basics - Anfänger-Themen 5
M Serialize - Fehler bei Rückgabe von Objekt Java Basics - Anfänger-Themen 5
R CMD Rückgabe durchlesen Java Basics - Anfänger-Themen 14
W Rückgabe Methode mit Feld Java Basics - Anfänger-Themen 4
A Rekursion in Baum und ArrayList als Rückgabe Java Basics - Anfänger-Themen 2
F Problem bei Rückgabe von StringBuffer aus Methode Java Basics - Anfänger-Themen 6
N HashMap fehlerhafte Rückgabe Java Basics - Anfänger-Themen 7
K Problem mit der Rückgabe Java Basics - Anfänger-Themen 3
R Rückgabe Array Java Basics - Anfänger-Themen 22
G Klasse überschreiben wenn Rückgabe über Methode Java Basics - Anfänger-Themen 6
M Methode mit Rückgabe Java Basics - Anfänger-Themen 2
D Maximum Subarray Problem; Problem mit der Rückgabe Java Basics - Anfänger-Themen 10
N Methoden und deren Rückgabe Java Basics - Anfänger-Themen 4
D Rückgabe einer Klasse Java Basics - Anfänger-Themen 20
H TreeMap Rückgabe - Compiler-Warnings Java Basics - Anfänger-Themen 9
M Rückgabe bei Exception Java Basics - Anfänger-Themen 4
H Rekursion und Rückgabe Java Basics - Anfänger-Themen 11
K Rückgabe aus Formular Java Basics - Anfänger-Themen 3
S HashMap: Rückgabe des key zu bestimmten value Java Basics - Anfänger-Themen 3
B "vollständige" Resultat Rückgabe Java Basics - Anfänger-Themen 8
G Problem mit der Rückgabe von einem Array Java Basics - Anfänger-Themen 3
A Beschreibung von Code und Rückgabe von Anzahl in ArrayList Java Basics - Anfänger-Themen 5
C Parameter rückgabe nach Prüfung an Klasse/Methode Java Basics - Anfänger-Themen 2
R Rückgabe vom ActionListener Java Basics - Anfänger-Themen 12
B JavaFilter true rückgabe Java Basics - Anfänger-Themen 23
S Rückgabe eines eingelesenen 2D Arrays aus Klasse heraus Java Basics - Anfänger-Themen 3
J datentyp -objectTyp Rückgabe Java Basics - Anfänger-Themen 2
zilti PHP-Script aufrufen und Rückgabe lesen Java Basics - Anfänger-Themen 2
G Array Rückgabe aus Programm Java Basics - Anfänger-Themen 6
0 Probleme bei Threads mit Rückgabe. Java Basics - Anfänger-Themen 6
C Rückgabe bei methoden Java Basics - Anfänger-Themen 2
S Probleme mit InputStream- Rückgabe Java Basics - Anfänger-Themen 4
G Warum ist die Rückgabe kein Integer? Java Basics - Anfänger-Themen 5
G Rückgabe Java Basics - Anfänger-Themen 6
G Rückgabe mehrdimensionales Array Java Basics - Anfänger-Themen 3
G Rückgabe einer Kopie bzw. Referenz Java Basics - Anfänger-Themen 22
G Rückgabe einer Methoden bei Schließen des Fensters Java Basics - Anfänger-Themen 3
M Rückgabe funktioniert nicht! Java Basics - Anfänger-Themen 4
F Rückgabe eines Array´s aus einer Methode Java Basics - Anfänger-Themen 3
M Rückgabe oder Parameter? Java Basics - Anfänger-Themen 5
H Konstruktor mit Rückgabe Java Basics - Anfänger-Themen 13
L Rückgabe Java Basics - Anfänger-Themen 4
D Rückgabe von Arrays Java Basics - Anfänger-Themen 6
DrahtEck Methoden Methoden und Werte Java Basics - Anfänger-Themen 10
M Variablen Werte nach setzen, bei Abfrage wieder alter Wert Java Basics - Anfänger-Themen 11
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
F 2x 16bit Werte zu einem 32bit und dann splitten mit 0xb Java Basics - Anfänger-Themen 1
ptcho Werte/Position nach dem Funktionsaufruf tauschen? Java Basics - Anfänger-Themen 1
K Warum sind Werte in den Feldern ? Java Basics - Anfänger-Themen 2
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
javaBoon86 Arrays 2 Dimension Werte ausgeben Java Basics - Anfänger-Themen 15
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
TeacherMrSSimon Schachspiel, Werte in Figur eintragen klappt nicht Java Basics - Anfänger-Themen 23
TheSepp Nur Arrays ausgeben, die Werte zugewiesen haben. Java Basics - Anfänger-Themen 4
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
M Werte in Felder speichern und geordnet ausgeben Java Basics - Anfänger-Themen 8
R Methoden Werte einer ArrayList als Parameter übergeben. Java Basics - Anfänger-Themen 4
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
Jambolo Methode, welche die 3 letzten Parameter Werte speichert Java Basics - Anfänger-Themen 20
Chris.089 2 Werte im Array tauschen Java Basics - Anfänger-Themen 6
docmas 2DArray Werte werden nur untereinander ausgegeben Java Basics - Anfänger-Themen 1
M Nur int-Werte erlauben Java Basics - Anfänger-Themen 11
F Werte in einer Arraylist Zählen Java Basics - Anfänger-Themen 2
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben