mehrdimensionale arrays

nocir

Mitglied
Hey, habe eine Aufgabe:

Ein Junge verkauft Limonade an einen Stand für jeweils 5€. Die Kunden kaufen die Limonade für jeweils 5€, 10€ , 15€ und 20€. Es soll immer das passende Wechselgeld wiedergegeben werden.

So ich habe Probleme wie ich nach der initialisierung weitermachen soll
fühl mich einfach lost :D
 

Marinek

Bekanntes Mitglied
Also ich gehe davon aus, dass dennoch die richtigen Geldscheine etc. zu Verfügung stehen... Immerhin wird mit € bezahlt.

Daher verstehe ich deinen Hinweis nicht... Aber lieb gemeint...
 

KonradN

Super-Moderator
Mitarbeiter
Die Aufgabe ist evtl. ungenau beschrieben worden, aber man sollte sich genau überlegen, was Sache ist.

Spiel also das Szenario etwas durch:

Du hast einen Limo-Stand der Limo für 5€ verkauft. Und nun kommen Leute, die Limo für 5, 10, 15 oder 20 Euro kaufen (Also 1-4 Limos sozusagen).
Was kann denn nun passieren? Wie können die Leute bezahlen? Was solltest Du dann zurück geben? (Die Anforderung ist evtl. nicht komplett. Evtl. ist die Anforderung bei dem Wechselgeld auch noch, dass Du da möglichst wenig einzelne Elemente zurück geben sollst. Also wer eine Limo für 5€ kauft und 10€ bezahlt sollte vermutlich nicht 500 1 Cent Stücke bekommen....

So da nicht mehr Informationen gegeben sind, ist das doch erst einmal ein Szenario, das man etwas durchspielen kann. Und dann kannst Du Dir beim Durchspielen überlegen, was Du denn genau machst.
 

KonradN

Super-Moderator
Mitarbeiter
Aber halt ganz wichtig wie immer wieder: Erst die Programmierung ganz vergessen! Versteht erst einmal die Aufgabe. Was passiert genau? Was soll denn genau gemacht werden?
Und dann das alles durchspielen! Was sind die Abläufe? Was wird wann gemacht?

Erst wenn man dieses Verständnis hat, dann kann man Code schreiben! Ohne dieses fachliche Verständnis ist eine korrekte Lösung schlicht Zufall.
 

nocir

Mitglied
class Main {
public static void main(String[] args){

int[][] kundenzahlung = {{5},
{10},
{15},
{20}};

// Zeile = i , Spalte =

int[][] rueckgeld = {};
for(int i = 0; i < kundenzahlung.length; i++){
for(int j = 0; j < kundenzahlung.length; j++){}
//kundenzahlung = lemonandechange[j];
}
for(int i = 0; i < kundenzahlung.length; i++){
for(int j = 0; j < kundenzahlung.length; j++){
System.out.printf("" + rueckgeld[j]);
}
System.out.println();
}

}
public static boolean lemonadeChange(int[] bills) {
boolean result = true;
float bezahlung = 5.0;

for(i=0; i<bills.length; i++ ){
for(i=5; i<bills.legnth; i++){}
system.out.println();
}
return result;
}
}
 

nocir

Mitglied
Also ich habe jetzt soweit das geschrieben hat gefühlt 2 stunden gedauert.

ab der boolean methode habe ich nicht mehr weiter gemacht da hatte ich keine energie mehr
 

KonradN

Super-Moderator
Mitarbeiter
hat gefühlt 2 stunden gedauert.
Sorry, aber: dann hast Du gefühlt 2 Stunden verschwendet.

Der Code macht keinen/wenig Sinn und ich habe keine Ahnung, was Du da überhaupt versuchst zu machen...

a) Code bitte immer in Code-Tags posten. Dazu den Knopf </> links oberhalb des Eingabebereiches nutzen.

b) An mehreren Stellen hast Du keine gültige Java Syntax. Wie ist der Code entstanden? Nutzt Du keine Entwicklungsumgebung? Die würde Dir sowas sofort anzeigen.

c) Was genau versuchst Du? Was willst Du umsetzen? Das ist am Code nicht zu erkennen und ich habe irgendwie Zweifel, dass Du da selbst weisst, was Du machen willst...
 

KonradN

Super-Moderator
Mitarbeiter
mal ganz blöd gefragt.. wozu brauche ich hier mehrdimensionale Arrays? Hab ich da gerade einen Knick im Gehirn?
Das findet sich meiner Meinung nach nur bei so Anfänger-Aufgaben, denn es sind erst ein paar Details der Java Sprache bekannt und manche Bereiche sind noch nicht behandelt worden.

So kommt aus meiner Sicht der objektorientierte Ansatz viel zu spät bei fast allen Büchern und Kursen. Aber bei einer objektorientierten Sprache ist der Ansatz tatsächlich anders. Da würde man sich überlegen, was man an Entitäten braucht.

Das Problem bei dem Ansatz mit dem 2D Array ist, dass man hier unleserlichen Code bekommt. kundenzahlung[0][...] ist von kundenzahlung[1][...] kaum zu unterscheiden. Durch die Einführung von Konstanten wird es dann etwas besser zu kundenzahlung[MUENZEN_WERT][...] und kundenzahlung[MUENZEN_ANZAHL][...] aber es macht es nicht wirklich gut. Außerdem ist man auf einen Datentyp begrenzt so man nicht auf Object geht um dann die Typsicherheit weg zu werfen.
Und hinzu kommt, dass der Code nicht wirklich zugehörig ist, d.h. es findet keine Kapselung statt.

Die Lösung kann statt dessen eine Klasse sein, die halt Werte hat für die verwendete Münze und für die Anzahl. Münze wäre dann evtl. eine Enumeration, die auch Comparable implementiert und man kann dann über die sortierten values() gehen um dann die jeweilige Anzahl der Werte zu ermitteln. Die Klasse mit Münze und Anzahl hätte dann auch Methoden, die z.B. den Wert einer Instanz ermittelt und so.

Und ein anderer Punkt ist auch noch, dass man oft statt einem Array schlicht eine List verwendet. Aus einer array creation expression mit array initializer würde dann ein List.of(...) oder so.
 

Wuast

Bekanntes Mitglied
Ich glaube ich checke oft nichtmal, was (wie hier scheinbar) verlangt wird. Ich denke, dass du hier wesentlich besser weißt was du von dir gibst als ich =)

Mein Erstgedanke war (nur entsprechend der gegebenen Infos)... warum nicht einfach in einer Methode die Kosten berechnen (Anzahl der Limos * 5) und dann das Rückgeld berechnen, indem von den Kosten der Geldeingang abgezogen wird. Dann weiß ich doch sofort, wieviel Wechselgeld ich ausgeben muss.

Dann weitergehend könnte man nat. noch die Stückelung des Rückgeldes vorgeben (ggf. auch anhand des Bestandes) aber das habe ich z.B. gar nicht erst als Aufgabe erfasst. Da sind wir bei deinen Überlegungen vorweg
Die Aufgabe ist evtl. ungenau beschrieben worden, aber man sollte sich genau überlegen, was Sache ist.
[...]
Du hast einen Limo-Stand der Limo für 5€ verkauft. Und nun kommen Leute, die Limo für 5, 10, 15 oder 20 Euro kaufen (Also 1-4 Limos sozusagen).
Was kann denn nun passieren? Wie können die Leute bezahlen? Was solltest Du dann zurück geben? (Die Anforderung ist evtl. nicht komplett. Evtl. ist die Anforderung bei dem Wechselgeld auch noch, dass Du da möglichst wenig einzelne Elemente zurück geben sollst. Also wer eine Limo für 5€ kauft und 10€ bezahlt sollte vermutlich nicht 500 1 Cent Stücke bekommen....

Code:
    int kostenLimo = 5; //Euro
    float geldIn;
    float geldOut;
    
    public int berechneKosten (int anzahlLimos) {
        return anzahlLimos*kostenLimo;
    }
    
    public float berechneRueckgeld(int anzahlLimos, float geldIn) throws Exception {
        this.geldIn = geldIn;
        geldOut = geldIn - berechneKosten(anzahlLimos);
        if (geldOut < 0) {
            throw new Exception ("Zu wenig bezahlt");
        }
        else return geldOut;
    }
 

KonradN

Super-Moderator
Mitarbeiter
Ich denke, dass du hier wesentlich besser weißt was du von dir gibst als ich =)
Nein, was die konkrete Aufgabe angeht habe ich die genauen Anforderungen auch nicht verstanden. Bezüglich Arrays habe ich mich auf die Lösungsidee bezogen, die Wechselgeld in Form von Anzahl an Einheiten ausgibt. Aber das dies ggf. gemeint ist lag nur an anderen Threads die zu der Zeit aktuell waren. Evtl. ist auch einfach Deine Lösungsidee gefragt. (Vor Zeile 6 fehlt aber noch etwas. Evtl. ist da beim Kopieren etwas schief gegangen.)

Somit bin ich hier auch vollkommen bei Dir.
 

Wuast

Bekanntes Mitglied
Ok, war bei deinen ganzen Ausführungen und Gedanken etwas verwirrt weil ich dachte, ich schnall mal wieder gar nichts...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Mehrdimensionale Arrays Java Basics - Anfänger-Themen 2
melaniemueller Lagerverwaltung erstellen - mehrdimensionale Arrays Java Basics - Anfänger-Themen 62
J Methoden Mehrdimensionale Arrays übereinander legen Java Basics - Anfänger-Themen 5
F Mehrdimensionale Arrays Java Basics - Anfänger-Themen 12
G Mehrdimensionale Arrays Java Basics - Anfänger-Themen 17
T Mehrdimensionale Arrays mit geschachtelter for-Schleife initialisieren Java Basics - Anfänger-Themen 14
L mehrdimensionale arrays ich verzweifle so langsam... Java Basics - Anfänger-Themen 9
C Mehrdimensionale Arrays in Java langsam? Java Basics - Anfänger-Themen 8
D Mehrdimensionale Arrays Sortieren Java Basics - Anfänger-Themen 5
T Mehrdimensionale Arrays Java Basics - Anfänger-Themen 4
B mehrdimensionale arrays Java Basics - Anfänger-Themen 4
B mehrdimensionale Arrays Java Basics - Anfänger-Themen 5
J eclipse, mehrdimensionale arrays, hilfsmethoden Java Basics - Anfänger-Themen 3
S arraycopy für mehrdimensionale Arrays? Java Basics - Anfänger-Themen 8
B Mehrdimensionale Arrays Java Basics - Anfänger-Themen 4
T mehrdimensionale arrays Java Basics - Anfänger-Themen 8
H Mehrdimensionale Arrays vergleichen Java Basics - Anfänger-Themen 6
G Zwei mehrdimensionale Arrays multiplizieren Java Basics - Anfänger-Themen 9
J Mehrdimensionale Arrays inhaltlich vergleichen. Java Basics - Anfänger-Themen 3
D mehrdimensionale nicht-rechteckige Arrays Java Basics - Anfänger-Themen 2
T Mehrdimensionale Array Java Basics - Anfänger-Themen 2
putinator Mehrdimensionale Array addieren Java Basics - Anfänger-Themen 10
D 2 mehrdimensionale Matrix einlesen Java Basics - Anfänger-Themen 2
T .add(E) für mehrdimensionale Vectoren Java Basics - Anfänger-Themen 5
H mehrdimensionale Datenstruktur erfassen Java Basics - Anfänger-Themen 10
L Mehrdimensionale Array Java Basics - Anfänger-Themen 4
A Mehrdimensionale Felder Java Basics - Anfänger-Themen 18
D Mehrdimensionale ArrayList - Zugriff über return Java Basics - Anfänger-Themen 2
B Mehrdimensionale Array Problem Java Basics - Anfänger-Themen 12
J Mehrdimensionale Liste erstellen ohne Array Java Basics - Anfänger-Themen 14
V Mehrdimensionale Collection? Java Basics - Anfänger-Themen 4
J Mehrdimensionale Array kopieren Java Basics - Anfänger-Themen 6
G Mehrdimensionale ArrayList erstellen Java Basics - Anfänger-Themen 7
D mehrdimensionale ArrayList ? Java Basics - Anfänger-Themen 14
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste und Arrays Java Basics - Anfänger-Themen 12
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
pc pc pc pc pc letztes Element eines Arrays n Java Basics - Anfänger-Themen 3
M Arrays Java Basics - Anfänger-Themen 3
Ostkreuz Wert von Arrays summieren Java Basics - Anfänger-Themen 1
Ostkreuz Summieren von Arrays Java Basics - Anfänger-Themen 4
javaBoon86 Arrays 2 Dimension Werte ausgeben Java Basics - Anfänger-Themen 15
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
B bei 2 Arrays Anzahl gleicher Elemente vergleichen? Java Basics - Anfänger-Themen 49
JustAProgrammer Ein Dreieck mit Arrays erstellen Java Basics - Anfänger-Themen 2
TheSepp Nur Arrays ausgeben, die Werte zugewiesen haben. Java Basics - Anfänger-Themen 4
volcanos Addition -> List<Integer> mit Arrays.asList() versus List<Integer>ArrayList<>() Java Basics - Anfänger-Themen 14
ArrayList mit unbekannter Menge an Arrays die Arrays vergleichen Java Basics - Anfänger-Themen 9
D Arrays an replaceAll-Methode übergeben Java Basics - Anfänger-Themen 12
rosima26 Geordnete Arrays ausgeben Java Basics - Anfänger-Themen 31
D Inhalt eines Arrays ausgeben Java Basics - Anfänger-Themen 7
A Jedes zweite Element eines Arrays entfernen Java Basics - Anfänger-Themen 30
C Zwei Arrays addieren und ausgeben Java Basics - Anfänger-Themen 3
E Zinsrechnung mithilfe von Arrays Java Basics - Anfänger-Themen 12
LePetitChat1 Arrays - NullPointerException? Java Basics - Anfänger-Themen 14
H Arrays: Größten Zahlen Unterschied herausfinden Java Basics - Anfänger-Themen 20
H Arrays befüllen Java Basics - Anfänger-Themen 43
C60 Methoden Main-Methode erkennt meine Arrays nicht. Java Basics - Anfänger-Themen 7
D Arrays Java Basics - Anfänger-Themen 9
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
R While-Loop der die Einträge eines Arrays in umgekehrter Reihenfolge anzeigt Java Basics - Anfänger-Themen 3
N Arrays Java Basics - Anfänger-Themen 5
W n verschiedene Arrays zufällig ausgeben - mit der Random-Klasse? Java Basics - Anfänger-Themen 8
U zwei 2D arrays auf gleich sein überprüfen Java Basics - Anfänger-Themen 14
C initialisieren eines arrays richtiger Größe und mit geeignetem Datentyp Java Basics - Anfänger-Themen 26
Bademeister007 Elemente aus zwei verschiedenen Arrays miteinander vergleichen und gegeben falls entfernen Java Basics - Anfänger-Themen 14
A Arrays aufsummieren Java Basics - Anfänger-Themen 11
C Wie 2 Arrays zusammenfügen und sortieren? Java Basics - Anfänger-Themen 11
S Arrays aneinanderketten Java Basics - Anfänger-Themen 20
Sinan Arrays auflisten ohne Wiederholung Java Basics - Anfänger-Themen 28
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
R Werte und Reihenfolge in 2d Arrays vergleichen Java Basics - Anfänger-Themen 5
D Verschlüsslungsaufgabe / Arrays Java Basics - Anfänger-Themen 6
L Methode für Zweidimensionale Arrays Java Basics - Anfänger-Themen 4
L Methode zum invertieren eines Arrays Java Basics - Anfänger-Themen 7
S zweidimensionale char arrays Java Basics - Anfänger-Themen 14
D Verwirrung bei Streams aus primitiven Arrays Java Basics - Anfänger-Themen 2
P Arrays mit verschiedenen Längen miteinander dividieren. Java Basics - Anfänger-Themen 1
P Wie kann ich die Zahlen dieses Arrays dividieren? Java Basics - Anfänger-Themen 2
N 2D Arrays jedes xy vergleichen Java Basics - Anfänger-Themen 7
J Traveling Salesman Problem [Arrays] Java Basics - Anfänger-Themen 9
M Arrays mit mehreren Werten über JOptionPane initialisieren Java Basics - Anfänger-Themen 12
Kawastori Größe eines Arrays bestimmen Java Basics - Anfänger-Themen 13
Zeppi Arrays[i] Java Basics - Anfänger-Themen 7
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
J B-Sprache mit Arrays ausführen Java Basics - Anfänger-Themen 18
A Teilarrays eines 2D-Arrays sortieren Java Basics - Anfänger-Themen 4
C Arrays - deklarieren, initialisieren? Ist das ein Objekt? Java Basics - Anfänger-Themen 3
K Sudoku mit 2D Arrays Java Basics - Anfänger-Themen 19
T Vertikales Histogramm mit Arrays Java Basics - Anfänger-Themen 3
JD_1998 Arrays einlesen, zwischenspeichern und wieder ausgeben Java Basics - Anfänger-Themen 8
Z Kein überprüfen des gesamten Arrays möglich.(Viergewinnt Spiel) Java Basics - Anfänger-Themen 6
F Arrays: Mathematische Funktion Java Basics - Anfänger-Themen 19
mihe7 Von Datentypen und (mehrdimensionalen) Arrays Java Basics - Anfänger-Themen 4
A Teilen eines Arrays Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben