Problem beim Aufruf einer Methode: Wo is der Fehler?

Status
Nicht offen für weitere Antworten.

Mattes_01

Mitglied
Also das ist meine Methode, bzw Klasse, in der die Methode steht:

Sollte nur ein kleiner Methodenaufruf zum Verständnis sein, klappte aber nicht so ganz^^

Wenn einer den Fehler findet, bitte bescheid sagen!


Code:
class TestB
{
	private int value;
	TestB(int value)
	{
		this.value = value;
	}
	public void inc() {value = value +1;}
	public void dec() {value = value -1;}
	public void set( int value) {this.value = value;}
	public int get(){return value;}
	public boolean iszero(){return value == 0;}
}

Und hier rufe ich die Methode auf:
Code:
class Test
{
	public static void main (String[]args)
	{
		double e=0, p=0;
		TestB p = new TestB(20);
		e = p.dec(20);
	}
}


Bekomme da immer einen Fehler, wenn ich das zweite ausführe, und zwar genau bim Aufruf der Methode.....

Gruss Mattes
 

Mattes_01

Mitglied
ok
wie müsste das denn aussehen, wenn ich quasi von 20 einen abziehen will, und das über die Methode machen möchte?

Also was müsste man ändern, damit das klappt, ich denke mal meine Idee habt ihr verstanden, was ich machen will.

Danke und Gruss Mattes
 

Murray

Top Contributor
Code:
TestB p = new TestB(20);
p.dec();
int newVal = p.get();

Oder kürzer:
Code:
int newVal = new TestB(20).dec().get();
 

mattulla

Bekanntes Mitglied
Code:
class TestB 
{ 
   private int value; 
   TestB(int value) 
   { 
      this.value = value; 
   } 
   public void inc() {value = value +1;} 
   public void dec() {value = value -1;} 
   public void set( int value) {this.value = value;} 
   public int get(){return value;} 
   public boolean iszero(){return value == 0;} 
} 

 
 

 

class Test 
{ 
   public static void main (String[]args) 
   { 
      double e=0, p=0; 
      TestB p = new TestB(20); 
      p.dec();
   } 
}
 

Mattes_01

Mitglied
Also um das jetzt mal zu umschreiben:

Übergeben tu ich den Startwert mit dem Aufruf der Methode:
Code:
TestB p = new TestB(20);


Aber was bedeutet das hier:
Code:
p.dec();

rufe ich damit die "dec" Methode aus der Klasse auf und übergebe damit dann den wert an das p oder wie?

Ich verstehe auch nciht so ganz wofür ich die "get" Methode brauche, ist das so, dass ich quasi den Wert, den die "dec" Methode berechnet direkt garnicht übergeben kann, sondern mir den über die "get" Methode holen MUSSS?


EDIT: hatte ich ganz vergessen: Respekt für eure Geschwindigkeit ;)

Danke und Gruss Mattes
 

Murray

Top Contributor
Mit
Code:
p.dec()
rufst Du die Methode dec() am Objekt p auf (p ist eine Instanzmethode, keine Klassenmethode).

Da dec() keinen Rückgabewert hat, steht hier keine Zuweisung, sondern nur der reine Aufruf.

Wenn Du später den Wert ( also das Member value im Objekt p) brauchst, dann must Du die get-Methode verwenden, da die Variable als "private" deklariert wurde und somit nicht ausserhalb der Klasse TestB sichtbar ist.
 

mattulla

Bekanntes Mitglied
Also die get-Methode brauchst du wegen dem private, ansonsten kannst du von ausserhalb der Klasse nicht auf das Klassenattribut zugreifen.

Hab aber son bissel das Gefuehl, dass dir einfach allgemein saemtliche Grundlagen was das OO-Programmieren angeht fehlen. Am Besten waere es wahrscheinlich wenn du dir die Grundlagen erst mal aneignest.

Java ist auch eine Insel ist zu dem Zweck eigentlich ganz nett. Brauchst das mit Sicherheit nicht komplett durxcharbeiten aber so die ersten 6 Kapitel sollten schon mal einen ganz guten Ueberblick geben.

Gruesse
mattulla
 

Mattes_01

Mitglied
Also wenn ich "value" als public deklariere bräuchte ich das nich,




jo hast schon recht, wir machen das in der uni und noch haben wir ein bisschen ferien und da versuche ich mich jetzt mal was tiefer reinzuarbeiten und das alles irgendwie zusammenzufassen, also in nem word-dokument.

die java-insel kenne ich auch schon, denke mal unser script ist ähnlich, naja und die beispiel schreibe ich dann meistens ab udn teste die im programm, also wie das alles funktioniert.


Aber mal ne andere Frage: Ich meine was bringt das durcharbeiten denn wirklich?
Also das reine lesen und ein bisschen markieren, danach kann man doch auch nicht programmieren...

Ist es nicht einfacher, wenn man sich irgendwelche kleinen Aufgaben stellt und diese dann programmiert? (vorrausgesetzt man hat da no dokumentation, oder kompetente Hilfe dazu ;) )

Ich denke nämlich mir fällt das leichter, also so lerarning by doing, also "stupides" auswendig-lernen, da verliere ich leider sehr schnell die Lust...

Gruss Mattes
 

mattulla

Bekanntes Mitglied
da hast wohl recht...einfach durchlesen und nen bissel was markieren bringt wirklich nix. Aber man kann ja erst nen Kapitel lesen dann vll ein Beispiel abtippen (falls eins vorhaden ist) und sich im naechsten Schritt dann versuchen selber eine Aufgabe zu stellen welche das gerade erlernte Thema behandelt. Gerade das letztere ist wohl nicht so einfach weil man sihc dann bestimmt selber schnell wieder Aufgaben stellt fuer die man Techniken braucht die man noch gar nicht erlernt hat.
 

Mattes_01

Mitglied
Also ich bins nochmal!

Und zwar habe ich grade nochmal im Script geblättert und bin auf folgendes gestossen:

Code:
int newval = p.dec(20);


Also das steht bei uns so im Script drin unter Aufruf von Methoden.

Würde das auch so funktionieren???

Oder geht das nicht, weil p nicht in der selben Klasse deklariert ist?


Gruss Mattes
 
J

jobby

Gast
Code:
int newval = p.dec(20);
das ginge nur wenn die Methode z.B. wie folgt aussähe:

Code:
   public int dec(int i) {
     this.value=this.value-i;
     return this.value;
   }
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Problem beim Array aufruf Java Basics - Anfänger-Themen 4
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
S Collections funktionale Listen (ListNode<E>) review und problem beim clone Java Basics - Anfänger-Themen 0
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1
F Problem beim entfernen von mehreren Listenelementen auf einmal (Programmierung des Spiels Arschloch) Java Basics - Anfänger-Themen 1
B Problem beim grundsätzlichen Verständnis bei Rekursion mit 2-dimensionalen Array Java Basics - Anfänger-Themen 6
E Datentypen Problem beim Speichern von enum. Java Basics - Anfänger-Themen 10
A Problem beim Deklarieren von einem BOOLEAN Java Basics - Anfänger-Themen 4
B Gleicher Prozess starten und stoppen (Problem beim Stoppen) Java Basics - Anfänger-Themen 5
DestinatioN Problem beim splitten eines Satzes in Wörter und die Wörter in Buchstaben Java Basics - Anfänger-Themen 2
B Problem beim Angeben einer Eingabe Java Basics - Anfänger-Themen 12
J Encoding Problem beim Einlesen einer txt Datei mit Umlauten Java Basics - Anfänger-Themen 3
R Problem beim Wochenplan (Datum,Wochentag) Java Basics - Anfänger-Themen 30
D Problem beim umwandeln eines Strings in eine Dzezimalzahl Java Basics - Anfänger-Themen 6
A Compiler-Fehler Problem beim einbinden der applet Klasse Java Basics - Anfänger-Themen 2
L Compiler-Fehler Problem beim Programmieren eines Kalenders (java.lang.ArrayIndexOutOfBoundsException) Java Basics - Anfänger-Themen 2
C Problem beim laden eines BufferedImage Java Basics - Anfänger-Themen 2
D Problem beim Lesen einer txt-Datei Java Basics - Anfänger-Themen 8
fLooojava Bluetooth Projekt - Problem beim mehrmaligen Senden Java Basics - Anfänger-Themen 5
E Problem beim Übergeben von Parameter an Methode Java Basics - Anfänger-Themen 2
Z Problem beim Lesen und Schreiben einer Datei Java Basics - Anfänger-Themen 10
R Problem beim erstellen eines neuen Klassenobjekts Java Basics - Anfänger-Themen 2
F Input/Output Problem beim einlesen eines Strings Java Basics - Anfänger-Themen 3
J Problem beim auslesen von Int Wert aus YML-Datei Java Basics - Anfänger-Themen 6
P Problem beim Abschluss im Kompositum Java Basics - Anfänger-Themen 3
M Problem mit null pinterexception beim laden von Bildern Java Basics - Anfänger-Themen 20
J Problem beim ausführen in cmd.exe Java Basics - Anfänger-Themen 4
J Variablen Problem beim einlesen einer Zahl Java Basics - Anfänger-Themen 7
A Problem beim Compilieren Java Basics - Anfänger-Themen 11
J Problem beim Fenster Java Basics - Anfänger-Themen 4
tux20 Problem beim Schreiben von List to File Java Basics - Anfänger-Themen 2
M Problem beim Compilieren Java Basics - Anfänger-Themen 14
Maxim6394 Problem beim Abspielen von Sounds Java Basics - Anfänger-Themen 8
S Problem beim ersten compilieren überhaubt Java Basics - Anfänger-Themen 43
H Problem beim lesen des InputStreams von einem Subprozess Java Basics - Anfänger-Themen 4
Luk10 Problem beim .jar Datei erstellen Java Basics - Anfänger-Themen 19
L Problem beim Ausführen Java Basics - Anfänger-Themen 40
A Problem beim einfügen in eine Datenbank Java Basics - Anfänger-Themen 2
E Problem beim Programmieren eines Kartenspiels Java Basics - Anfänger-Themen 3
A Problem beim Ausführen einer .jar datei auf externen System Java Basics - Anfänger-Themen 5
M Problem beim compilieren Java Basics - Anfänger-Themen 6
JAVAnnik problem beim lvl laden Java Basics - Anfänger-Themen 15
L Problem beim Einlesen einer Datei in einen String Java Basics - Anfänger-Themen 12
W Problem beim erstellen eines Tests Java Basics - Anfänger-Themen 16
JAVAnnik Problem beim Objekt bewegen Java Basics - Anfänger-Themen 20
A Erstes Programm - Problem beim Ausführen als jar Java Basics - Anfänger-Themen 3
S Problem beim Speichern und Laden von Daten Java Basics - Anfänger-Themen 13
B Problem beim Abspielen einer Videodatei Java Basics - Anfänger-Themen 4
S Problem beim Erstellen eines Scanner-Objekts Java Basics - Anfänger-Themen 7
W Problem beim CSV-Import Java Basics - Anfänger-Themen 5
M Datentypen Problem beim zusammenstellen eines Abfrage-Strings Java Basics - Anfänger-Themen 3
K Collections Problem beim import von Packages Java Basics - Anfänger-Themen 10
S Problem beim Kompilieren - cannot find symbol - constructor() Java Basics - Anfänger-Themen 12
B Problem beim Email versenden mit Javamail Java Basics - Anfänger-Themen 5
H Problem beim Anfang von Java (Java Editor) Java Basics - Anfänger-Themen 2
I Problem beim Schreiben eines ersten Programms Java Basics - Anfänger-Themen 3
D Problem beim Zeichnen von "Das Haus vom Nikolaus" Java Basics - Anfänger-Themen 10
D Problem beim Auslesen aus File Java Basics - Anfänger-Themen 3
A Problem beim Splitten eines Strings Java Basics - Anfänger-Themen 10
S Problem mit ObjectInputStream beim Einlesen von LinkedList Java Basics - Anfänger-Themen 3
J Problem beim Löschen von elementen aus einer ArrayList Java Basics - Anfänger-Themen 5
V Problem beim Programm laden Java Basics - Anfänger-Themen 5
H Problem beim kompilieren Java Basics - Anfänger-Themen 3
C ActionListener problem beim starten von programmen Java Basics - Anfänger-Themen 3
4 OOP Problem beim Speichern verschiedener Klassen in verschiedenen Dateien Java Basics - Anfänger-Themen 25
T Problem beim Returnwert einer Methode Java Basics - Anfänger-Themen 12
M line.separator: Problem beim Lesen einer Datei Java Basics - Anfänger-Themen 11
Miladriel Problem beim Neuzeichnen nach deiconify Java Basics - Anfänger-Themen 9
R Problem beim Ausführen von Java-PGM aus der shel Java Basics - Anfänger-Themen 3
G Problem beim Sortieren einer Liste Java Basics - Anfänger-Themen 20
M Problem beim Ereignishandling mit Menü Java Basics - Anfänger-Themen 2
H problem beim zeichen im JFrame Java Basics - Anfänger-Themen 6
F Problem beim Objekteaufruf... Java Basics - Anfänger-Themen 4
E BlockChallenge: Problem beim löschen der Blöcke Java Basics - Anfänger-Themen 3
H Problem beim Verkürzen von Programm Java Basics - Anfänger-Themen 3
T Problem beim Werfen und Fangen von Exceptions Java Basics - Anfänger-Themen 2
M Problem beim Zugriff auf Daten GUI + Startklasse Java Basics - Anfänger-Themen 4
P Problem beim Thread Java Basics - Anfänger-Themen 20
0 problem beim Polygon zeichnen Java Basics - Anfänger-Themen 3
V Problem beim erstellen eines ausführbaren Programs Java Basics - Anfänger-Themen 5
0 Problem beim Starten des Applets Java Basics - Anfänger-Themen 2
N Problem beim Durchsuchen einer LinkedList Java Basics - Anfänger-Themen 5
G Problem beim Programmieren von Blackjack Java Basics - Anfänger-Themen 15
R Problem beim Laden eines Images Java Basics - Anfänger-Themen 7
K Problem beim installieren des JDK 1.6+ version Java Basics - Anfänger-Themen 3
T Problem beim Konsolenstart Java Basics - Anfänger-Themen 5
C Problem beim Berechnen der Quadratwurzel Java Basics - Anfänger-Themen 3
C Problem beim nutzen von Teilprogrammen in main Java Basics - Anfänger-Themen 2
M Problem beim Zeichnen Java Basics - Anfänger-Themen 5
D Problem beim Kompilieren Java Basics - Anfänger-Themen 4
D Problem beim auslesen von TextArea Java Basics - Anfänger-Themen 3
G Problem beim Schreiben in Textdatei Java Basics - Anfänger-Themen 9
F ggT finden - problem beim qc Java Basics - Anfänger-Themen 4
S Problem mit url, inputStream und bytes beim Quellcode laden. Java Basics - Anfänger-Themen 6
G Habe ein Problem mit syn-Editor ( beim compilieren) Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben