Summe Berechnen

spitzname

Mitglied
Java:
import java.util.*;

public class Main {

    public static void main(String[] args) {

        //Scanner mit Objekt s initialisieren(für Eingabestrom)
        Scanner s = new Scanner(System.in);
        //Arrays mit drei Objekten von Classe Auftrag erzeugen
        Auftrag[] a = new Auftrag[3];
        //for Schleife initialisiert drei verschiedene Objekte
        //von Classe Auftrag mit Werten
        for (int i = 0;i<3;i++)
        {
            a[i]=new Auftrag();

           //preis wird eingegeben
          
            System.out.print("preis:");
            float gp = s.nextFloat();
            //i-ten preis in classe Auftrag in die variable preis übertragen
            a[i].setpreis(gp);
          
        }//ende for Schleife
     }ende main
}ende class main




//classe Auftrag
public class Auftrag {
    //variablendeklaration
     private float preis;
      
    //berechnet die Summe aller eingegebenen Preise
    double berechneEinnahmen()
    {

    }
     // zugrifsmethode für den eingegebenen Preis
     void setpreis(float eing_preis)
    {
        preis = eing_preis;
    }

}ende Class Auftrag


Hallo, wie kann ich die Summe von den drei eingegebenen Preisen berechnen, also welche Datten kommen in diese Methode der Classe Auftrag?

//berechnet die Summe aller eingegebenen Preise
double berechneEinnahmen()
{

}

würde mich über Tipps freuen
danke im voraus

gruß
 
Zuletzt bearbeitet:
Ist etwas verwirrend. Du setzt in der for-Schleife den Preis jedes Auftrags, das ist klar. Auch wenn das ein falscher Methodenaufruf ist, denn deine Methode heisst setpreis(float eing_preis) und nicht setGesamtpreis(float eing_preis). Da musst du schon drauf achten.

Die Summe aller eingegeben Preise bekommst du nicht per Methodenaufruf in EINEM Auftrag, das ist ein Denkfehler. Du bekommst die Summe der Preise, indem du in main-Methode von jedem Auftrag den Preis abfragst und diesen Preis dann zur Summe addierst. Macht aber wenig Sinn das dann überhaupt vorher in einer eigenen Klasse zu hinterlegen, wenn du sie für sonst nichts brauchst.
 
Danke für den Tipp,

die Classe wir benötigt weil da später noch mehr Methoden defeniert werden.

also sollten die einzelnen Preise addiert werden ungefär so --> Summe = a[0].gp + a[1].gp + [a2].gp
aber wie mache ich das wenn ich 100 Aufträge und somit 100 Preise habe?


gruß spitzname
 
Mit einer Schleife?
Java:
int sum = 0;
for (int i=0; i<auftrag.length; i++)
    sum +=auftrag[i].getPreis();
System.out.println(sum);
 
Ja, das kannst du ja oben in deiner for-Schleife einfach machen. Zuerst setzt du den Preis des Auftrages fest und dann addierst du ihn zur Summe. Dann hast du nur eine for-Schleife benötigt.

Übrigens, hinter einigen geschweiften Klammern stehen ein paar Worte wie "ende main" oder dergleichen, das sollen wohl Kommentare werden, damit du den Überblick behältst, deswegen solltest du diese auch wirklich als Kommentare vermerken und ein // vor den Text anbringen (wie in der Zeile drüber), sonst denkt der Compiler, dass es ein Stück Code ist. 🙂
 
Danke für die Hilfe, ich habe verstanden.:toll:
Aber ich habe doch noch eine Frage was ist wenn die Aufgabenstellung verlangt, dass eine Methode nämlich --> double berechneEinnahmen() <-- in der Clase Auftrag die Summe aller eingegebenen Preise berechnen soll, könnte man das umsetzen?


gruß spitzname
 
Da müsste man vielleicht die ganze Aufgabenstellung wissen, damit man genauer weiss, wie die Klasse Auftrag aussehen soll. Ansonsten wüsste ich jetzt nicht, wie man das sinnvoll umsetzen soll. Denn der Sinn einer Klasse ist ja, dass sie eigene und objektabhängige Parameter und Werte besitzt, dh du hast hier drei verschiedene Aufträge. Wenn du jetzt bei einem dieser Aufträge berechneEinnahmen() aufrufen würdest, dann kann dieser Auftrag die Daten der anderen Aufträge garnicht wissen, deswegen machts auch wenig Sinn, wenn du diese Methode in der Klasse Auftrag implementierst.
Einen Lösungsvorschlag hab ich doch, aber ich weiss nicht ob das der Sinn der Aufgabe war. Wenn du alle Aufträge, die du erzeugst, in einer Liste sammelst, dann kannst du in der Klasse Main die Methode berechneEinnahmen() erstellen und dort für jedes Element der Liste den Preis abrufen und zur Summe addieren. Das würde schon gehen.
 

Neue Themen


Zurück
Oben