Methodenaufruf in der Main Datei funzt nicht

Mauli

Mitglied
Hallo,
bearbeite grade ein Projekt für die Uni und da ich mich leider noch ein bisschen an Java rantaste bin ich an einem Punkt wo ich mit einfachem ausprobieren nicht mehr weiter komme..

Habe also folgende Methode in meiner Klasse Firma
Java:
public void addOrReplaceAktienwert(Aktienwert neuerWert){
        if(kurswerte.size() == 0){
            kurswerte.add(neuerWert);
        } else {
            boolean add = false;
            for ( Aktienwert aktienwert : kurswerte) {
                if(aktienwert.getMonat() == neuerWert.getMonat()){
                    aktienwert.setWert(neuerWert.getWert());
                } else {
                    if (kurswerte.size() == 6){
                        kurswerte.remove(0);
                    }
                    add = true;
                }
            }
            if(add){
                kurswerte.add(neuerWert);
            }
        }
    }

Dann hab ich meine Main:
Java:
public class App {



    private static Firma Apple = null;
    private static Firma Microsoft = null;
    private static Firma Sony = null;
   
   
    Firma[] firmen = new Firma[]{Apple, Microsoft, Sony};

    public static void main(String[] args) {
       
       
        Apple = new Firma("Apple", 15);
        Microsoft = new Firma("Microsoft", 30);
        Sony = new Firma("Sony", 45);

Jetzt die Frage, da ich die Methode schon nur mit externer Hilfe hin bekommen habe, wie ruf ich diese Methode korrekt in der Main Klasse auf? Ich habe noch 2 weitere Klassen, Monat und Aktienwert.

Ich will mit bspw Apple.addOrReplaceAktienwert(Monat.Januar, 20) der Firma Apple für den Monat Januar den Aktienwert 20 hinzufügen aber so funzt das nicht und ich hab einfach keine Ahnung wie ich das korrekt schreibe...

Kann mir da jemand helfen???

Danke schonmal und Gruß
 

HarleyDavidson

Bekanntes Mitglied
Naja, zu allererst solltest du den Instanzen auch einen Namen geben:
Code:
Apple apple = new Firma("Apple", 15);
Microsoft ms = new Firma("Microsoft", 30);
Sony sony = new Firma("Sony", 45);
und dann kannst du die in der Main auch ganz normal ansprechen:
Code:
sony.addOrReplaceAktienwert(Aktienwert neuerWert);
 

Kababär

Top Contributor
Wieso geht das nicht? Ist "Monat.Januar, 20" ein Aktienwert? Glaube nicht.. was meinst du mit Aktienwert? Welchen Konstruktor hat er denn?
Du könntest einen Aktienwert so übergeben:
Code:
public class App {



    private static Firma Apple = null;
    private static Firma Microsoft = null;
    private static Firma Sony = null;
  
  
    Firma[] firmen;

    public static void main(String[] args) {
      
      
        Apple = new Firma("Apple", 15);
        Microsoft = new Firma("Microsoft", 30);
        Sony = new Firma("Sony", 45);
        Apple.addOrReplaceAktienwert(new Aktienwert(Monat.Januar, 20));

        firmen = new Firma[]{Apple, Microsoft, Sony};
 

Mauli

Mitglied
Java:
        apple.addOrReplaceAktienwert(new Aktienwert(Monat.Januar, 20));

Das war die Zeile die gefehlt hat, danke jetzt funktioniert alles !! :)

Ich hatte in meiner Klasse Aktienwert auch meinen Konstruktor Aktienwert(Monat monat, double aktienwert), wusste aber nicht wie ich den ansprechen muss.

Naja mit new hats geklappt danke :)
 

Mauli

Mitglied
Allerdings muss ich jetzt das ganze "füge eine Firma hinzu" Konzept überwerfen und das ganze über eine Methode addFirma machen, in einer neuen Klasse.

diese hab ich sehr simpel gestaltet:
Java:
package appmodell;

import java.util.ArrayList;

public class Diagramm {

    private ArrayList<Firma> firmenportfolio = new ArrayList<>();
    private ArrayList<String> firmenfarben = new ArrayList<>();
   
   
    public void addFirma(Firma neueFirma, String firmenfarbe){
        firmenportfolio.add(neueFirma);
                firmenfarben.add(firmenFarbe);
    }
   
    public void removeFirma(int index){
        firmenportfolio.remove(index);
        firmenfarben.remove(index);
    }
   
}

jetzt sagt der mir die Methode ist nicht definiert in meiner Klasse App, warum genau sagt der mir das?
Ich hatte mit der anderen add Methode in meiner Klasse Firma alles genauso gemacht und da hats ja auch geklappt..

Also ich versuche es aktuell mit:

addFirma(new Firma("Apple", 20));

und mein Konstruktor in der Klasse Firma stimmt damit auch überein

Hoffe wer kann mir dabei helfen
Gruß
 

TheWhiteShadow

Bekanntes Mitglied
Die Methode gehört auch nicht App sondern der Klasse Diagramm. Und sie ist nicht statisch, somit brauchst du erst einmal ein Objekt von Diagramm in deiner main-methode.
 

Mauli

Mitglied
gibt das ganze denn dann überhaupt Sinn wenn die Methode in Diagramm ist?? Also das ist zmd mal laut Aufgabe so..
welches Objekt soll ich denn dann erstellen?

Weil ich soll in der Main Methode meiner Hauptklasse 3 Firmen erstellen...
Achja und hatte im Code das addFirma(Firma neueFirma) nur genannt weil ich das erstmal so hin bekommen wollte.
Also hab Firmenfarbe weg gelassen
 

Mauli

Mitglied
d) Erstellen Sie eine Klasse Diagramm, die grundlegende Visualisierungsmethoden für ein Firmenportfolio anbietet.
• Dafür werden folgende private Eigenschaften benötigt:
o ArrayList<Firma> firmenportfolio
o ArrayList<String> firmenfarben
• Setzen Sie außerdem folgende Methoden um:
o addFirma(Firma neueFirma, String firmenFarbe)  Diese Methode fügt eine neue Firma dem firmenportfolio und die zugehörige Farbe den firmenfarben hinzu.
o removeFirma(int index)  Entfernt die Firma an der Stelle index aus dem firmenportfolio und die zugehörige Farbe aus den firmenfarben.
o zeichne(Monat monat)  Diese Methode gibt für jede Firma des Portfolios den Firmennamen und die dazugehörige Farbe in der Konsole aus.



Erstellen Sie die Klasse App mit einer Main-Methode.
• Erstellen Sie innerhalb dieser Methode drei Firmen.
• Fügen Sie jeder dieser Firmen Aktien für JANUAR, FEBRUAR und MAERZ hinzu. Verwenden Sie hierfür die konstanten Variablen aus der Klasse Monat.
• Erstellen Sie anschießend ein Torten- und Balkendiagramm und befüllen diese mit den drei Firmen. Zeichnen Sie abschießend die Balken- und Tortendiagramme für die angegebenen drei Monate.
Mehr Infos im Netz

Dann gibt das ganze doch mehr Sinn wenn addFirma etc in der Klasse Firma auch sind oder nicht? o_O
 

Meniskusschaden

Top Contributor
Zur Erfüllung der bisher gezeigten Aufgabenstellung benötigst du weder Diagramm-Objekte noch Firmen-Objekte. Du sollst ja offenbar nur die Diagramm-Klasse programmieren. Wenn du die Klasse aber auch testen willst (was empfehlenswert ist), benötigst du dafür natürlich ein Diagramm-Objekt und Firmen-Objekte. Von den drei geforderten Firmen-Objekten steht übrigens auch nichts in der Aufgabenstellung.
 

Mauli

Mitglied
Naja doch, ich soll ja in meiner Main 3 Firmen erstellen und denen jeweils für Jan Feb Mär Aktien zuweisen..
das hatte ich auch hin bekommen, allerdings bevor ich meine Diagramm Klasse erstellt hab.

Jetzt soll ich ja aber mit addFirma, welche sich in der Diagramm Klasse befindet in der Main Klasse 3 Firmen hinzufügen und genau da blick ich nicht so ganz durch wie das funktionieren soll...
 

Meniskusschaden

Top Contributor
Hm, da habe ich wohl einen ganzen Bereich in der Aufgabenstellung übersehen. Den gesamten Block nach den Leerzeilen (also ab "Erstellen Sie eine Klasse App ...") habe ich erst jetzt zur Kenntnis genommen. Dann benötigst du natürlich Diagramm- und Firmen-Objekte.

Naja doch, ich soll ja in meiner Main 3 Firmen erstellen und denen jeweils für Jan Feb Mär Aktien zuweisen..
das hatte ich auch hin bekommen, allerdings bevor ich meine Diagramm Klasse erstellt hab.
Bis dahin ist die Diagramm-Klasse ja noch gar nicht relevant. Das sollte also immer noch funktionieren.

Jetzt soll ich ja aber mit addFirma, welche sich in der Diagramm Klasse befindet in der Main Klasse 3 Firmen hinzufügen und genau da blick ich nicht so ganz durch wie das funktionieren soll...
Die drei Firmen-Objekte hast du ja bereits erstellt. Du musst nur noch die geforderten Diagramme erstellen und denen die Firmen hinzufügen.

in der Main Klasse 3 Firmen hinzufügen
Vielleicht liest du das nur falsch. Das bedeutet nicht, das du die Firmen der Main-Klasse (also App) hinzufügen sollst, sondern dass du innerhalb der main-Methode dafür sorgen sollst, dass die Firmen den Diagrammen hinzugefügt werden. Deshalb ist es auch sinnvoll, dass die Methode addFirma() zur Klasse Diagramm gehört.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Methodenaufruf in main() Java Basics - Anfänger-Themen 3
C Methodenaufruf mit geänderten Argumenten Java Basics - Anfänger-Themen 10
S Methoden Methodenaufruf rekursiv zählen Java Basics - Anfänger-Themen 4
N methodenaufruf for each geht nicht Java Basics - Anfänger-Themen 2
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
O Methodenaufruf Java Basics - Anfänger-Themen 5
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
Queiser Methodenaufruf Java Basics - Anfänger-Themen 2
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
I Java Methodenaufruf Java Basics - Anfänger-Themen 9
A OOP Methodenaufruf in einer anderen Klasse Java Basics - Anfänger-Themen 2
G Methoden Probleme beim Methodenaufruf Java Basics - Anfänger-Themen 2
M Methodenaufruf über SQL UPDATE Java Basics - Anfänger-Themen 8
BadBat Klassen instanz als variable + methodenaufruf Java Basics - Anfänger-Themen 4
M Methodenaufruf in Methode Java Basics - Anfänger-Themen 6
M Objekt Name für MethodenAufruf nachträglich zuweisen? Java Basics - Anfänger-Themen 2
J if() mit Methodenaufruf kombiniert (Pixelerkennung) Java Basics - Anfänger-Themen 3
A Probleme beim Methodenaufruf von Object[] ! Java Basics - Anfänger-Themen 12
A Probleme beim Methodenaufruf von char[] ! Java Basics - Anfänger-Themen 10
T Rekursiver Methodenaufruf funktioniert nicht Java Basics - Anfänger-Themen 7
D Methoden g.setColor funktioniert nicht bei Methodenaufruf in anderer Klasse Java Basics - Anfänger-Themen 1
M Methoden Methodenaufruf allgemein Java Basics - Anfänger-Themen 3
H Ist Math.Random() eine Methode oder ein Methodenaufruf (Klausurfrage) Java Basics - Anfänger-Themen 4
O Methodenaufruf Java Basics - Anfänger-Themen 6
F Methodenaufruf Java Basics - Anfänger-Themen 1
F Erste Schritte Label Text vor Methodenaufruf setzen Java Basics - Anfänger-Themen 17
J Array mit Methodenaufruf Java Basics - Anfänger-Themen 2
S Problem bei Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 3
OnDemand Methodenaufruf Java Basics - Anfänger-Themen 3
A Methoden Benutzerdefinierter Methodenaufruf Java Basics - Anfänger-Themen 4
O Methodenaufruf - Inhaltsveränderung Java Basics - Anfänger-Themen 23
G Methodenaufruf anderer Klasse Java Basics - Anfänger-Themen 18
L Einfacher Methodenaufruf vs. Objekt Java Basics - Anfänger-Themen 4
O Methodenaufruf im Konstruktor Java Basics - Anfänger-Themen 6
G was ist ein Methodenaufruf mit (){}? Java Basics - Anfänger-Themen 6
S Methoden Klassen Definition - Methodenaufruf Java Basics - Anfänger-Themen 7
K Methoden Methodenaufruf für BufferedWriter .. Java Basics - Anfänger-Themen 5
feardorcha Methodenaufruf Übergabe- und Rückgabewert Java Basics - Anfänger-Themen 5
W Methodenaufruf innerhalb einer Klasse - static vs. this Java Basics - Anfänger-Themen 3
A Problem bei Methodenaufruf Java Basics - Anfänger-Themen 6
B Parameterausführung bei Methodenaufruf Java Basics - Anfänger-Themen 8
A Methodenaufruf Java Basics - Anfänger-Themen 4
P Vererbung Methodenaufruf funktioniert aber Wertzuweisung von Variablen nicht Java Basics - Anfänger-Themen 9
S methodenaufruf Java Basics - Anfänger-Themen 8
G Erste Schritte Methodenaufruf, Variablen-Deklaration Java Basics - Anfänger-Themen 6
M Methodenaufruf in for-Schleife - nur 1 mal ausgegeben Java Basics - Anfänger-Themen 3
I Externer Methodenaufruf, Punkt-Notation Java Basics - Anfänger-Themen 11
I Methoden Rückverfolgung Methodenaufruf Java Basics - Anfänger-Themen 15
E Methoden Wie kann ich eine Methode so schreiben, dass Methodenaufruf polymorph erfolgen kann? Java Basics - Anfänger-Themen 8
M Methoden Methodenaufruf mit .class. Java Basics - Anfänger-Themen 2
J rekursiver Methodenaufruf Java Basics - Anfänger-Themen 12
K Klassen this-Referenz und Klassen/Methodenaufruf Syntax Java Basics - Anfänger-Themen 3
T Java mehrfacher Methodenaufruf Java Basics - Anfänger-Themen 15
L Methodenaufruf aus anderer Klasse Java Basics - Anfänger-Themen 5
B Quicksort --> Methodenaufruf Java Basics - Anfänger-Themen 10
O Methodenaufruf Java Basics - Anfänger-Themen 4
A nullPointerException bei Methodenaufruf Java Basics - Anfänger-Themen 16
J Vererbung, Methodenaufruf Java Basics - Anfänger-Themen 4
M Problem bei Methodenaufruf aus ActionListener Java Basics - Anfänger-Themen 5
G Methodenaufruf aus der Kommandozeile Java Basics - Anfänger-Themen 28
N Methodenaufruf funtioniert nicht Java Basics - Anfänger-Themen 3
C Methodenaufruf mit Variablen die gesetzt werden Java Basics - Anfänger-Themen 10
Antoras mit ActionListener/Methodenaufruf Textfelder zeichnen Java Basics - Anfänger-Themen 4
G Dynamischer Methodenaufruf Java Basics - Anfänger-Themen 3
G Methodenaufruf über ein Objekt einer anderen Klasse Java Basics - Anfänger-Themen 7
H ungültige methodenaufruf Java Basics - Anfänger-Themen 16
G Methodenaufruf Java Basics - Anfänger-Themen 3
G Frage zu Oberklasse bei Methodenaufruf Java Basics - Anfänger-Themen 2
V Dynamischer Klassen bzw. Methodenaufruf Java Basics - Anfänger-Themen 6
V Wie und wieso geht dieser Methodenaufruf? Java Basics - Anfänger-Themen 2
S Methodenaufruf Java Basics - Anfänger-Themen 6
G Methodenaufruf in der for-Schleife mit Array Java Basics - Anfänger-Themen 7
L hsqldb Methodenaufruf Java Basics - Anfänger-Themen 10
K synchron und asynchroner Methodenaufruf Java Basics - Anfänger-Themen 17
R Fehler bei Methodenaufruf Java Basics - Anfänger-Themen 2
G Methodenaufruf Java Basics - Anfänger-Themen 3
T NullPointerException bei Methodenaufruf Java Basics - Anfänger-Themen 2
G Methodenaufruf Java Basics - Anfänger-Themen 10
K Klassenübergriefendes Methodenaufruf Problem Java Basics - Anfänger-Themen 6
S methodenaufruf. Java Basics - Anfänger-Themen 16
G methodenaufruf Java Basics - Anfänger-Themen 4
E Methodenaufruf mittels variable? kA Java Basics - Anfänger-Themen 5
G methodenaufruf Java Basics - Anfänger-Themen 3
G methodenaufruf Java Basics - Anfänger-Themen 5
W Überschreiben und Methodenaufruf Java Basics - Anfänger-Themen 3
L Methodenaufruf zwischen Klassen Java Basics - Anfänger-Themen 3
C Methodenaufruf mit throws IOException Java Basics - Anfänger-Themen 2
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
N Throw an Main Methode übergeben Java Basics - Anfänger-Themen 7
J Die statische Main-Methode ändert Instanzvariable? Java Basics - Anfänger-Themen 10
I Jetty starten von Programm (Main) Java Basics - Anfänger-Themen 27
Denix The public type Main must be defined in its own fileJava(16777541) Java Basics - Anfänger-Themen 13
D Array in Main Methode aus anderer Klasse aufrufen Java Basics - Anfänger-Themen 3
G jButton führt Main Methode nicht richtig aus Java Basics - Anfänger-Themen 3
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
C60 Methoden Main-Methode erkennt meine Arrays nicht. Java Basics - Anfänger-Themen 7
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
W Verschiedene Methoden in einer Klasse in der Main aufrufen? Java Basics - Anfänger-Themen 8
S Array über ein Ausgabemethode in main ausgeben Java Basics - Anfänger-Themen 31

Ähnliche Java Themen

Neue Themen


Oben