Parameter Konstruktor plus rechnen

B

ByQuantox

Mitglied
Guten Tag Liebe Leute,
Ich habe da eine Frage. Geht es wenn ich jetzt zwei Klassen habe (eine normale und eine main), wenn ich einen Klassenzugriff von der main in die normale machen mit dem Parameter Konstruktor, dass er mir die Anzahl züruckgeben kann wie oft ich einen Klassenzugriff mit den Parameter Konstruktor gemacht habe?
Oder ist das nicht möglich?
Kurz und knapp nochmal:
Einen Zugriff von der Main in die normale mit Rückgabe wie oft ich dass schon gemacht habe.
Mfg ByQuantox
 
mihe7

mihe7

Top Contributor
Wenn ich das mal übersetze: Du willst wissen, wie oft Du ein Objekt mit Hilfe eines bestimmten Konstruktors erzeugt hast? Ja, das geht. Aber wozu?
 
B

ByQuantox

Mitglied
Ich möchte mithilfe des Konstruktors ein Zahl die ab 1000 gezählt wird für jeden neuen Zugriff bekommen.
Also bei einem Zugriff dann die Zahl 1001 und beim zweiten Zugriff 1002, wie mache ich das am besten?
 
mihe7

mihe7

Top Contributor
Ich weiß, was Du willst, ich weiß nur nicht, wozu.

Java:
public class Test {
    // Klassenvariable
    private static int zahl = 1000;

    public Test() {
         // Standard-Konstruktor: wollen wir nicht zählen
    }

    public Test(int x) {
        Test.zahl++; // oder einfach nur zahl++;
    }

    public static int getZahl() { return zahl; }
}

Java:
System.out.println(Test.getZahl()); // liefert 1000
new Test();
System.out.println(Test.getZahl()); // liefert immer noch 1000
new Test(5);
System.out.println(Test.getZahl()); // liefert 1001
 
B

ByQuantox

Mitglied
Hier jetzt nochmal was ich meine. Ich will das die Drei Personen nur mit Namen hinzugefügt werden und dass Sie dann nach und nach eine neue KontoNr. bekommen, dass klappt aber irgendwie nicht. Kann jemand helfen?
Java:
[/B]
public class konto {
    
    //Private Attribute
    private String besitzer; //Besitzer
    private static int kontoNr = 1000; //4 stellige Zahl
    private double kontoStand; 
    private int anzahlKonten;
    private int zwi = 0;
    
    //Standard Konstruktor
    konto() {
        besitzer = "Oscar";
        kontoNr++;
        kontoStand = 100.00;
        anzahlKonten = 2;
    }
    
    //Parameter Konstruktor
    public konto(String besitzer) {
        this.besitzer = besitzer;
        kontoNr = 1000 + zwi;
        konto.kontoNr++;
        anzahlKonten++;
    }
    
    //einzahlen-Methode
    public void einzahlen(double betrag) {
        kontoStand = kontoStand + betrag;
        System.out.println("Sie haben " + betrag + "€ eingezahlt");
    }
    
    //auszahlen-Methode
    public boolean auszahlen(double betrag) {
        boolean erg = false;
        if(betrag < kontoStand) {
            kontoStand = kontoStand - betrag;
            erg = true;
        }    else    {
            erg = false;
        }
        return erg;
    }
    
    // Get-Methoden
    public String getBesitzer() {
        return besitzer;
    }
    public int getKontoNummer() {
        return kontoNr;
    }
    public double getKontostand() {
        return kontoStand;
    }
    public int getAnzahlDerKonten() {
        return anzahlKonten;
    }
    
    // Set-Methoden
    public void setBesitzer(String neuerBesitzer) {
        besitzer = neuerBesitzer;
    }
    
    //Überweisungs-Methode
    public boolean überweisung(konto kontonummer, double betrag) {
        boolean erg = false;
        if(betrag > kontonummer.kontoStand) {
            if(betrag <= 0) {
                System.out.println("Sie können nur positive Beiträge überweisen!");
            }    else    {
                kontoStand -= betrag;
                kontonummer.kontoStand = kontonummer.kontoStand + betrag;
                System.out.println("Sie haben " + betrag + "€ an folgende Kontonummer überwiesen: " + kontonummer.kontoNr + ", Besitzer dieses Kontos: " + kontonummer.besitzer + "\n");
            }
        }
        return erg;
    }
    
    //Ausgabe aller Details //Extra Ausgabe, kann man auch hinaus nehmen
    public void ausgabeAllerDetails() {
        System.out.println("Der aktuelle Besitzer ist: \t\t" + besitzer);
        System.out.println("Ihre Kontonummer ist: \t\t\t" + kontoNr);
        System.out.println("Ihr aktueller Kontostand ist: \t\t" + kontoStand + "€");
        System.out.println("Ihre aktuelle Mengen von Konten sind: \t" + anzahlKonten + "\n");
    }
    
}
[B]

Hier die Main:
Java:
[/B]
import java.util.Scanner;

public class main {

    public static void main(String[] args) {
        
        Scanner sa = new Scanner(System.in);
        
        konto s1 = new konto("Peter");
        konto s2 = new konto("Uwe");
        konto s3 = new konto("Peter");
        
        s1.ausgabeAllerDetails();
        s2.ausgabeAllerDetails();
        s3.ausgabeAllerDetails();
        
        
        
        double überweisungBetrag = sa.nextDouble();
        if(s1.auszahlen(überweisungBetrag) == true) {
            System.out.println("Sie haben erfolgreich " + überweisungBetrag + " ausgezahlt");
        }    else    {
            System.out.println("Fehler: Sie können maximal " + s2.getKontostand() + "€ auszahlen.");
        }
    }
}
[B]
 
T

temi

Top Contributor
Du benötigst zwei Variablen dazu:

Eine statische, die speichert, welche Nummer als nächstes kommt und eine nicht statische, welche die für die aktuelle Instanz gültige Nummer speichert.

Die statische Variable ist ja sozusagen an die Klasse gebunden und hat für alle Instanzen den selben Wert.

Java:
class Konto {
    private static int next = 1000;
    private int nummer;
  
    public Konto() {
        nummer = next; // DIESER Instanz die nächste Nummer zuweisen
        next++; // nächste Nummer erhöhen, damit die nächste Instanz eine andere Nummer erhält.
    }
}
 
B

ByQuantox

Mitglied
Du benötigst zwei Variablen dazu:

Eine statische, die speichert, welche Nummer als nächstes kommt und eine nicht statische, welche die für die aktuelle Instanz gültige Nummer speichert.

Die statische Variable ist ja sozusagen an die Klasse gebunden und hat für alle Instanzen den selben Wert.

Java:
class Konto {
    private static int next = 1000;
    private int nummer;
 
    public Konto() {
        nummer = next; // DIESER Instanz die nächste Nummer zuweisen
        next++; // nächste Nummer erhöhen, damit die nächste Instanz eine andere Nummer erhält.
    }
}

Danke, hat geklappt
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Reflektions, Benutzer soll Konstruktor auswählen und Parameter übergeben können Allgemeine Java-Themen 5
A Reflection Konstruktor Parameter Supertyp Allgemeine Java-Themen 2
S Neue Instanz eines Objekts erzeugen - Konstruktor erhaelt Parameter. Allgemeine Java-Themen 5
L Die abzuleitende Klasse als Parameter übergeben Allgemeine Java-Themen 4
W Haben Konstruktoren in Java eigentlich immer mindestens einen Parameter? Allgemeine Java-Themen 4
I Array Parameter mit 2 Klassen - NullPointerException Allgemeine Java-Themen 3
F URI mit Parameter klappt nicht Allgemeine Java-Themen 1
H Aufruf eines Web Service anhand übergebenen Parameter Allgemeine Java-Themen 2
T best practice: Parameter überprüfen, wo? Allgemeine Java-Themen 9
S Parametrisierte jUnit 5-Tests mit eigenen Datentypen/Klassen-Objekten als Test-Parameter Allgemeine Java-Themen 0
M If-Abfrage mit Parameter Allgemeine Java-Themen 8
I Javaaufruf aus Batch inkl. Parameter (Adminrechte) Allgemeine Java-Themen 2
P Java https proxy (-Dhttps.proxyHost) Start-Parameter funktioniert nicht? Allgemeine Java-Themen 2
N Methoden Generic: Rückgabetyp als Class-Parameter übergeben Allgemeine Java-Themen 3
K Java FX Zu startenden FXML-Controller per Parameter wählen Allgemeine Java-Themen 2
F Enum-werte als Methoden-Parameter übergeben Allgemeine Java-Themen 6
T Klassen Parameter weitergabe Allgemeine Java-Themen 1
C Überschreiben mit kontravariante Parameter Allgemeine Java-Themen 13
M Parameter auslesen im Servlet Allgemeine Java-Themen 0
perlenfischer1984 Wann ist ein Parameter Check sinnvoll Allgemeine Java-Themen 7
N Vererbung Parameter muss 2 Bedingungen erfüllen Allgemeine Java-Themen 2
Sogomn Methode als Parameter? Allgemeine Java-Themen 3
T Parameter Allgemeine Java-Themen 6
R Parameter Adapter - Design Allgemeine Java-Themen 1
I Methode verallgemeinern (Methode als Parameter)? Allgemeine Java-Themen 10
F In OSX: Java-Programm über URI-Scheme aufrufen mit Parameter? Allgemeine Java-Themen 0
H Generics als Parameter Allgemeine Java-Themen 1
N [stream-api] Parameter pro Typ zählen Allgemeine Java-Themen 1
NicoDeluxe Maximale Parameter Allgemeine Java-Themen 5
M final vor dem parameter eines Konstruktors Allgemeine Java-Themen 1
S Servlet, per URLConnection Mit String Http Parameter mitsenden Allgemeine Java-Themen 3
M Parameter-Datei einlesen (zeilenweise); Dateiintegrität Allgemeine Java-Themen 7
H JasperReport: Parameter befüllen Allgemeine Java-Themen 7
Joew0815 JList + JTableModel: Parameter der Tabelle übergeben Allgemeine Java-Themen 10
Y Applet/Html - Wie Java-Methode aufrufen, die einen Parameter erwartet? Allgemeine Java-Themen 3
G Polymorphie Funktion als Parameter Allgemeine Java-Themen 8
G Methoden Unterschiedliche viele Parameter Allgemeine Java-Themen 17
F Parameter im Link /jar-Aufruf Allgemeine Java-Themen 12
S OOP Designrichtlinie Parameter Prüfung Allgemeine Java-Themen 7
C char und char-Array als parameter übergeben Allgemeine Java-Themen 6
B Array Parameter Problem Allgemeine Java-Themen 3
S Keytool: mögliche Werte für Parameter Allgemeine Java-Themen 4
H Externes Programm, Parameter Allgemeine Java-Themen 6
C Webservice: XML Parameter übergabe. Allgemeine Java-Themen 7
M Session-Parameter setzen? Allgemeine Java-Themen 10
P VM-Parameter -D... Allgemeine Java-Themen 3
V Wildcard aus Parameter in return type Allgemeine Java-Themen 2
O Collections Eigene Methodenzusicherung bei Collections als Parameter Allgemeine Java-Themen 2
W ScriptEngine + Wie Parameter übergeben bei Fukntion? Allgemeine Java-Themen 2
F Parameter für Java Applikation per xml ins Meta-inf speichern? Allgemeine Java-Themen 3
J BlueJ Methode hat zu viele Parameter Allgemeine Java-Themen 6
R VM-Error - BadWindow (invalid Window parameter) Allgemeine Java-Themen 4
J Parameter an Java übergeben Allgemeine Java-Themen 10
P VM Parameter und .jar Allgemeine Java-Themen 3
L Parameter-Objekte verändern oder nicht? Allgemeine Java-Themen 6
J Parameter absichtlich für außen verändern Allgemeine Java-Themen 4
A wie kann man Parameter an ein Task übergeben? Allgemeine Java-Themen 3
Iron Monkey Singleton mit Parameter Allgemeine Java-Themen 14
G setter und getter: Parameter Überprüfung Allgemeine Java-Themen 6
G JVM Parameter Allgemeine Java-Themen 7
G Parameter Bedeutung Allgemeine Java-Themen 4
W Properties-Klasse: mehrere Parameter-Belegungen übergeben? Allgemeine Java-Themen 2
J Unicode: cmd parameter (main args); exec params; filenames Allgemeine Java-Themen 2
C US_export_policy.jar und local_policy.jar VM Parameter Allgemeine Java-Themen 1
J Casten ueber generischen Parameter? Allgemeine Java-Themen 5
T Parameter einer Klasse auf Interface prüfen Allgemeine Java-Themen 6
G generische Klasse als Parameter einer generischen Klasse Allgemeine Java-Themen 5
G Parameter oder Attribut (wann nehme ich was?) Allgemeine Java-Themen 12
S .rar-Dateien ein Passwort als Parameter übergeben Allgemeine Java-Themen 5
N Funktion als Parameter einer anderen Funktion Allgemeine Java-Themen 5
D Parameter parsen? Allgemeine Java-Themen 15
G Typ Parameter & Reflections Allgemeine Java-Themen 4
F mehrere Verzeichnisse als Parameter Allgemeine Java-Themen 15
Y Javadoc - Wie Parameter ansprechen bei Methodenkommentar Allgemeine Java-Themen 2
G Parameter bei mailto Allgemeine Java-Themen 2
C Java Parameter zum starten ohne auf Programmende zu warten Allgemeine Java-Themen 4
V Jar Datei mit Parameter starten Allgemeine Java-Themen 7
P Übergabe- Parameter SQL Map Allgemeine Java-Themen 45
S URL-Parameter auslesen Allgemeine Java-Themen 2
F Parameter vs Argument Allgemeine Java-Themen 4
T xverify-parameter : Workaround zur Laufzeit? Allgemeine Java-Themen 8
F Viele generische Parameter sinnvoll? oder besser casten? Allgemeine Java-Themen 10
P command line parameter auswerten Allgemeine Java-Themen 3
M Parameter an main übergeben aber wie? Allgemeine Java-Themen 4
T Parameter an Thread übergeben Allgemeine Java-Themen 8
S synchronisation einer Methode abhängig vom Parameter Allgemeine Java-Themen 10
J Interface als Parameter übergeben Allgemeine Java-Themen 4
L JNI: C-->Java : Methode mit String-Parameter Allgemeine Java-Themen 18
A Weshalb man Parameter auf Gültigkeit prüfen sollte Allgemeine Java-Themen 6
H in JOE die Parameter -xmx256m -xrs hinzufügen Allgemeine Java-Themen 2
K Testen einer Klasse mit File Objekt als Parameter Allgemeine Java-Themen 6
X Default-Werte für Methoden-/Funktions-Parameter Allgemeine Java-Themen 2
M Funktion als Parameter oder andere Möglichkeit Allgemeine Java-Themen 3
R Parameter in einer Methode verändern Allgemeine Java-Themen 5
N Wie parameter von java aus an anderes Programm übergeben? Allgemeine Java-Themen 7
B jar per doppelklick auf datei parameter übergeben Allgemeine Java-Themen 5
T ArrayList oder Vector als Parameter? Allgemeine Java-Themen 7
F Parameter Name herausfinden Allgemeine Java-Themen 25
P Post-Parameter übergeben Allgemeine Java-Themen 3
Q Programme ausführen Parameter einstellen Allgemeine Java-Themen 9

Ähnliche Java Themen

Anzeige

Neue Themen


Oben