2 Klassen mit get und set Methoden

Was mach ich falsch?;(
Bitte helft mir!! und kann jemand die get und set methoden + Konstruktor erklären? Verstehe das nicht ganz. Danke

Erste Klasse

Java:
import javax.swing.JOptionPane;


public class StellenRechner
{
    private int zahl;
    private byte anzStellen;

    public void setZahl(int zahl)
    {
        this.zahl = zahl;
    }


    public void berechne()
    {

        if(zahl / 10000 == 0)
        {
            anzStellen = 5;
        }
        if(zahl / 1000 == 0)
        {
            anzStellen = 4;
        }
        if(zahl / 100 == 0)
        {
            anzStellen = 3;
        }
        if(zahl / 10 == 0)
        {
            anzStellen = 2;
        }
        if(zahl / 1 == 0)
        {
            anzStellen = 1;
        }
        else
        {
           JOptionPane.showMessageDialog(null,"Falsche Eingabe");

        }
    }
    public byte getStellen()
    {
        return anzStellen;
    }
}

Zweite Klasse

Java:
public class StellenTester
{
    private int zahl;
    private byte anzStellen;


    public void einlesen()
    {
        StellenRechner sr = new StellenRechner();
        
        String z =JOptionPane.showInputDialog("Bitte Zahl eingeben:");
        zahl = Integer.parseInt(z);
        sr.setZahl(zahl);
    }

    public void auslesen()
    {
        StellenRechner sr = new StellenRechner();
        anzStellen = sr.getStellen();

        JOptionPane.showMessageDialog(null,"Die zahl " + zahl + " hat " + anzStellen + " Stellen");
    }

    public static void main(String[] args) 
    {
        StellenTester t = new StellenTester();
        StellenRechner sr = new StellenRechner();

        t.einlesen();
        sr.berechne();
        t.auslesen();
       
    }

}
 
Das mit dem importieren ist nicht der fehler da ich es vergessen habe mitzukopieren sry.
was könnte der fehler sonnst sein ?
Habe ich vl die getter und setter methoden falsch geschrieben?

In netbeans erscheint bei der ausgabe der int anzStellen als 0 doch eigentlich müsst er einen wert in der if schleife zugewiesn bekommen haben
 
Brauche noch einmal eure Hilfe !
Was ich hier der Fehler? Netbeans erkennt nehmlich zuerst keinen Fehler nur beim ausführen erkennt es einen.
Daher kann ich das Projekt nicht einmal testen.

[JAVA=42]
package roemzahl;

import javax.swing.JOptionPane;

public class Tester
{
private String roemWert;
private int dezimalWert;

RoemZahl rz = new RoemZahl();


public String getRoemWert()
{
return roemWert;
}


public void RoemZahlTest()
{
roemWert = JOptionPane.showInputDialog("Römische Zahl eingeben:");
rz.berechne();
dezimalWert = rz.getDezimal();
JOptionPane.showMessageDialog(null,"Die römische Zahl "+roemWert+" hat im Dezimalsystem den Wert " + dezimalWert);
}

public static void main(String[] args)
{
Tester t = new Tester();
t.RoemZahlTest();
}

}[/code]


[JAVA=42]
package roemzahl;

import javax.swing.JOptionPane;

public class RoemZahl
{
private String roemWert;
private int dezimal1,dezimal2,dezimal3,dezimalWert;
private char roem1,roem2,roem3;

Tester t = new Tester();

public int getDezimal()
{
return dezimalWert;
}

public void berechne()
{
roemWert = t.getRoemWert();
roem1 = roemWert.charAt(0);
roem2 = roemWert.charAt(1);
roem3 = roemWert.charAt(2);

switch(roem1)
{
case 'I': dezimal1 = 1;
break;

case 'V': dezimal1 = 5;
break;

case 'X': dezimal1 = 10;
break;

case 'L': dezimal1 = 50;
break;

case 'C': dezimal1 = 100;
break;

case 'D': dezimal1 = 500;
break;

case 'M': dezimal1 = 1000;
break;

default: JOptionPane.showMessageDialog(null,"Falsche Eingabe");
System.exit(0);
}

switch(roem2)
{
case 'I': dezimal2 = 1;
break;

case 'V': dezimal2 = 5;
break;

case 'X': dezimal2 = 10;
break;

case 'L': dezimal2 = 50;
break;

case 'C': dezimal2 = 100;
break;

case 'D': dezimal2 = 500;
break;

case 'M': dezimal2 = 1000;
break;

default: JOptionPane.showMessageDialog(null,"Falsche Eingabe");
System.exit(0);
}
switch(roem3)
{
case 'I': dezimal3 = 1;
break;

case 'V': dezimal3 = 5;
break;

case 'X': dezimal3 = 10;
break;

case 'L': dezimal3 = 50;
break;

case 'C': dezimal3 = 100;
break;

case 'D': dezimal3 = 500;
break;

case 'M': dezimal3 = 1000;
break;

default: JOptionPane.showMessageDialog(null,"Falsche Eingabe");
System.exit(0);
}

dezimalWert = dezimal1 + dezimal2 + dezimal3;
}
}
[/code]
 
Dieser Fehler erscheint viele viele zeilen lang

Exception in thread "main" java.lang.StackOverflowError
at roemzahl.RoemZahl.<init>(RoemZahl.java:12)
at roemzahl.Tester.<init>(Tester.java:11)
 

XHelp

Top Contributor
Tester erstellt eine Instanz von RoemZahl, Instanz von RoemZahl erstellt darauf hin eine Instanz von Tester, die wiederum eine Instanz von RoemZahl erstellt, die wiederum....
Solltest dich also Fragen ob RoemZahl wirklich eine Instanz von Tester benötigt.

P.S. Nur vollständigkeitshalber: if-schleife.de
 
Ganz komme ich nicht mit ;P
bin nämlich anfänger.
Aber ich habe jetz den befehl Tester t = new Tester(); in die methode berechne eingefügt.
Das Programm lässt sich ausführen aber trotzdem funktioniert es nicht.
Es kommt diesmal eine weiter Fehlermeldung

Exception in thread "main" java.lang.NullPointerException
at roemzahl.RoemZahl.berechne(RoemZahl.java:27)
at roemzahl.Tester.RoemZahlTest(Tester.java:22)
at roemzahl.Tester.main(Tester.java:30)
Java Result: 1

vl kannst du das ganz einfacher erklären damit es ein blödmann versteht :)
Danke
 

XHelp

Top Contributor
Schau doch in die Zeile 27 und versuche zu erkennen, was da null ist. Deine römische Zahl braucht keine Instanz der Tester-Klasse, egal wo du es hinschiebst. Stattdessen kannst du alle benötigten Werte im Konstruktor übergeben
 

Blindxantos

Aktives Mitglied
Hallo allerseits,

Die Klassen haben ja ne 1:1-Assoziation, ich kenne das bis jetzt nur so, dass du dann in der Klasse Tester nen Attribut vom Typ RoemZahl stehen hast und in der Klasse RoemZahl hast du nen Attribut vom Typ Tester stehen.

Damit sich die Klassen dann auch kennen, musst du beim Erzeugen der Klasse RoemZahl auf die Klasse Tester verweisen. Das geschieht, indem du beim Konstruktor this übergibst.

Java:
public class Tester {
    //...
    RoemZahl rz = new RoemZahl(this); //Erzeugen des Objektes von Klasse RoemZahl und
                                                    //verweiß auf die Klasse durch this
    /* 
     * private RoemZahl rz = null; <<Attribut
     * rz = new RoemZahl(this); <<Verweiß auf diese Klasse durch this
     */    
    //...
}

Java:
public class RoemZahl {
    //...
    private Tester aTester = null; //Attribut
    public RoemZahl(Tester aTester) {
        //...
        this.aTester = aTester; //aTester ist das Objekt der Klasse Tester
        //...
    }

    public void berechne() {
        roemWert = aTester.getRoemWert(); //t durch aTester ersetzt du kannst natürlich auch das 
                                                          //aTester anders nennen
        //...
    }
}

Deine Klasse RoemZahl hatte keinen Konstruktor? :O Ist mir grad aufgefallen.

Ich hab es mal so ausprobiert und es funktioniert, fast :D Du musst natürlich noch die ganzen Fehler bei der Eingabe abfangen, aber die wirst du schon selbst finden :bae:

Liebe Grüße
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
H Methoden in großen Klassen gruppieren oder auslagern? Java Basics - Anfänger-Themen 10
A Klassen und methoden Java Basics - Anfänger-Themen 15
A Bankweverwaltung mit Klassen und Methoden Java Basics - Anfänger-Themen 14
M Aufsplitten von Methoden in andere Klassen Java Basics - Anfänger-Themen 2
Curtis_MC Parameter-Übergabe bei Klassen und Methoden Java Basics - Anfänger-Themen 12
C Methoden/Klassen Übergabewerte Java Basics - Anfänger-Themen 8
C Java Klassen/Methoden/Übergabeparameter Java Basics - Anfänger-Themen 4
C Methoden Auf Methoden anderer Klassen zugreifen Java Basics - Anfänger-Themen 10
J Teile der Funktionalität von Klassen in Methoden platzieren. Java Basics - Anfänger-Themen 3
M Methoden (in Klassen) Java Basics - Anfänger-Themen 4
J Klassen Variablen in andere Klassen oder Methoden übernehmen Java Basics - Anfänger-Themen 1
arjoopy Methoden Methoden anderer Klassen Java Basics - Anfänger-Themen 6
L Klassen - Getter & Setter Methoden Java Basics - Anfänger-Themen 2
T Wie finde ich passende Java Klassen & Methoden? Java Basics - Anfänger-Themen 4
E Erste Schritte Gute Erklärung zu Objekten / Klassen / Methoden / Sichtbarkeiten auf Deutsch Java Basics - Anfänger-Themen 3
R Anfängerfrage zu Methoden in Vererbte Klassen Java Basics - Anfänger-Themen 2
C Methoden aus Klassen anzeigen lassen Java Basics - Anfänger-Themen 14
B Übungsaufgabe zu Klassen, Methoden ... Java Basics - Anfänger-Themen 2
K Methoden als Klassen benutzen Java Basics - Anfänger-Themen 42
K Vererbung Methoden in klassen auslagern und in mehreren Klassen verfügbar machen Java Basics - Anfänger-Themen 8
Pentalon Eclipse JUNO keine Vorschläge von Methoden bzw. Interfaces der eigenen Klassen Java Basics - Anfänger-Themen 5
B Klassen Java Taschenrechner mit Klassen und Methoden Java Basics - Anfänger-Themen 12
staxx6 ArrayList Methoden aufrufen bestimmter Klassen Java Basics - Anfänger-Themen 4
J Problem mit Klassen und Methoden Java Basics - Anfänger-Themen 7
W Kontenverwaltungssystem (Klassen, Methoden) Java Basics - Anfänger-Themen 3
F Interface Unterschied von Attributen und Methoden bei abstrakten Klassen und Interfaces Java Basics - Anfänger-Themen 5
H Klassen und Methoden Java Basics - Anfänger-Themen 12
D Kapselung Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 7
A Klassen Methoden... Java Basics - Anfänger-Themen 15
I Objekte an andere Klassen/Methoden übergeben? Java Basics - Anfänger-Themen 5
T Vererbung und Zugriff auf Methoden von abgeleiteten Klassen Java Basics - Anfänger-Themen 2
T Kapselung: public-Methoden in protected-Klassen Java Basics - Anfänger-Themen 3
T OOP abstrakte klassen - methoden Java Basics - Anfänger-Themen 8
T Klassen, Objekte, Methoden Java Basics - Anfänger-Themen 9
F Stilfrage: Klassen & Methoden Java Basics - Anfänger-Themen 15
V OOP Klassen Methoden Rückgabewert Java Basics - Anfänger-Themen 15
V OOP Klassen Methoden Java Basics - Anfänger-Themen 2
J Verständniss Frage zu Klassen, Objekte und Methoden Java Basics - Anfänger-Themen 8
L Methoden von anderen Klassen Aufrufen Java Basics - Anfänger-Themen 5
J Methoden/Klassen Problem Java Basics - Anfänger-Themen 9
E 2 Klassen - Problem bei Methoden Java Basics - Anfänger-Themen 22
F Auf Methoden anderer Klassen zugreifen? Java Basics - Anfänger-Themen 8
G Abstrakte Klassen und Methoden Java Basics - Anfänger-Themen 3
D In Gui auf Methoden anderer Klassen zugreifen Java Basics - Anfänger-Themen 2
U Methoden aus Programmfremden Klassen nutzen Java Basics - Anfänger-Themen 2
M Klassen/Methoden API Java Basics - Anfänger-Themen 6
G ArraylList aus Klassen --> Methoden der Klassen aufrufen Java Basics - Anfänger-Themen 3
T Funktionen Plotter - Klassen/Methoden/Funktionen Java Basics - Anfänger-Themen 13
H Wie kann ich auf Methoden von anderen Klassen zugreifen? Java Basics - Anfänger-Themen 1
M Methoden von Klassen aufrufen Java Basics - Anfänger-Themen 4
A Methoden von externen Klassen aufrufen Java Basics - Anfänger-Themen 3
G Übertragen von Variablen auf andere klassen oder Methoden Java Basics - Anfänger-Themen 2
J Methoden aus fremden Klassen verwenden Java Basics - Anfänger-Themen 6
T Mehrere paint Methoden in unterschiedlichen Klassen Java Basics - Anfänger-Themen 7
K Methoden Klassen Bsp. Bankkonto Java Basics - Anfänger-Themen 4
M Klassen/Methoden Java Basics - Anfänger-Themen 10
L Zusammenhang Methoden, Klassen, Objekte, static - sun doku Java Basics - Anfänger-Themen 4
C Methoden von verschieden Klassen in eine Klasse reinpacken? Java Basics - Anfänger-Themen 4
T Methoden / Klassen Problem Java Basics - Anfänger-Themen 11
G Methoden/Klassen elementare Probleme Java Basics - Anfänger-Themen 3
E Synchronized - Methoden in verschied. Klassen Java Basics - Anfänger-Themen 3
G dringende frage zu klassen und methoden ( klassendiagramm) Java Basics - Anfänger-Themen 19
L Klassen/Methoden/Objekt/Vererbung Java Basics - Anfänger-Themen 6
frau-u Problem mit Klassen und Vererbung - benutzen von Methoden Java Basics - Anfänger-Themen 2
L Klassen und Methoden für Dateivergleiche. Java Basics - Anfänger-Themen 4
G Was sind Klassen, Objekte und Methoden? Java Basics - Anfänger-Themen 3
H Methoden aus anderen Klassen aufrufen Java Basics - Anfänger-Themen 3
K klassen/methoden Java Basics - Anfänger-Themen 4
M Zugriff auf Klassen/Methoden im Hauptverzeichnis Java Basics - Anfänger-Themen 2
J Methodenaufrufe abstrakte Klassen, Interfaces Java Basics - Anfänger-Themen 17
M Abstrakte Klassen - Notation Java Basics - Anfänger-Themen 9
Detlef Bosau Nachladen von Klassen zur Laufzeit Java Basics - Anfänger-Themen 24
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
I 2 verschiedene Klassen mit gleichen Property vergleichen Java Basics - Anfänger-Themen 13
C Array von Klassen Java Basics - Anfänger-Themen 2
monsterherz 2 Klassen daher Probs mit dem Dateinamen Java Basics - Anfänger-Themen 9
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 9
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
I @Entity Klassen, Service Beans etc. aus einem Share Projekt beziehen? Java Basics - Anfänger-Themen 26
S IntelliJ geht alle Klassen durch Java Basics - Anfänger-Themen 9
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
D Klassen Klassen Kommunikation Java Basics - Anfänger-Themen 12
Encera Auf Objekte aus anderer Klassen zugreifen Java Basics - Anfänger-Themen 20
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
L Best Practice Annotierte Klassen im Classpath herausfinden Java Basics - Anfänger-Themen 1
P Mit dem Scanner Klassen aufrufen Java Basics - Anfänger-Themen 3
O Klassen Zusammenspiel zwischen 2 Klassen Java Basics - Anfänger-Themen 1
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
M Wie können Klassen nicht-materialisierte Attribute haben, die nur über get/ set-Mehoden simuliert sind? Java Basics - Anfänger-Themen 6
Speedrunner klassen aufrufen Java Basics - Anfänger-Themen 41
M Log4J (v2) nachträglich in allen Klassen hinzufügen Java Basics - Anfänger-Themen 9
D importieren eigener Klassen Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben