Hallo Leute,
nachdem ich in meinem ersten Thema wg. der Klassen gefragt habe (s. hier) und bereits viele hilfreiche Antworten erhalten habe (danke nochmal an alle!), habe ich ein bisschen rumprobiert und versucht, mich der Lösung meines Problemes schrittweise zu nähern und ganz einfach gestartet.
Ziel ist ein Programm, bei dem zwei Personen Werte von Quittungen in die Konsole eingeben können, damit das Programm dann ausgibt, wer wem welchen Betrag schuldet, damit beide den selben Betrag ausgegeben haben (z.B. in einer WG bei Gemeinschaftsgütern).
Am Anfang habe ich die Zahlenwerte vorgegeben, sie in einer Schleife aufaddieren lassen und dann miteinander verglichen.
Das hat soweit geklappt.
Jetzt möchte ich, dass die beiden Personen ihre Werte über die Konsole eingeben. Da steige ich trotz der erhaltenen Hinweise aus meinem ersten Thread nicht ganz durch. Entsprechend der Hinweise von temi habe ich folgendes übernommen:
[CODE lang="java" title="Bla erneut"]import java.util.Scanner;
public class Bla {
public static void main (String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Wieviele Ausgaben sollen bei Person A erfasst werden?");
int numberOfCostsA = scanner.nextInt(); // Anzahl an Belegen erfasst, s. Array und for-Schleife unten
System.out.println("Trage jetzt die Beträge der Quittungen ein:");
double[] costsA = new double[numberOfCostsA]; // Array, Umfang bestimmt durch die Anzahl der Belege, s. o.
for (int i = 0; i < numberOfCostsA; i++) { // i < Anzahl an Belegen, s. o.
costsA = costsA[i++];
}
}[/CODE]
Ich verstehe all das, was ich //mit einer Bemerkung versehen habe. Was ich aber trotz der Hinweise nicht auf die Kette kriege, ist, den Array nun mit Werten zu füllen. Wenn ich temis Code Copy-Paste (und versuche entsprechend anzupassen) funktioniert es nicht. D.h. ich kann in die Konsole keine Werte eintragen.
Kann mir hier jemand weiterhelfen?
Aktuell sieht mein Eclipse-Fenster aus, wie im Screenshot (also alles in einer Klasse weil ich dachte, dass es bei der aktuellen Komplexität ausreicht und ich mich nicht zusätzlich verwirren wollte).
Sorry für den langen Post Ich freue mich über jeden Input und bin sehr dankbar über alle Erklärversuche.
Grüße Yannik
nachdem ich in meinem ersten Thema wg. der Klassen gefragt habe (s. hier) und bereits viele hilfreiche Antworten erhalten habe (danke nochmal an alle!), habe ich ein bisschen rumprobiert und versucht, mich der Lösung meines Problemes schrittweise zu nähern und ganz einfach gestartet.
Ziel ist ein Programm, bei dem zwei Personen Werte von Quittungen in die Konsole eingeben können, damit das Programm dann ausgibt, wer wem welchen Betrag schuldet, damit beide den selben Betrag ausgegeben haben (z.B. in einer WG bei Gemeinschaftsgütern).
Am Anfang habe ich die Zahlenwerte vorgegeben, sie in einer Schleife aufaddieren lassen und dann miteinander verglichen.
[CODE lang="java" title="Bla"]public class Bla {
public static void main (String[] args) {
double [] cost1 = new double [3];
cost1[0] = 4.99;
cost1[1] = 3.79;
cost1[2] = 2.99;
System.out.println(cost1.length + " Ausgaben gibt es bei Person A: " + cost1[0] + ", " + cost1[1] + " und " + cost1[2] + ".");
double sumCost1 = 0;
for(int i = 0; i < 3; i++) {
sumCost1 = cost1 + sumCost1; }
System.out.println("Das macht insg.: " + sumCost1);
// Leerzeichen
System.out.println();
double [] cost2 = new double [5];
cost2[0] = 1.99;
cost2[1] = 3.99;
cost2[2] = 1.69;
cost2[3] = 2.99;
cost2[4] = 0.99;
System.out.println(cost2.length + " Ausgaben gibt es bei Person B: " + cost2[0] + ", " + cost2[1] + ", " + cost2[2] + ", "+ cost2[3] + " und " + cost2[4] + ".");
double sumCost2 = 0;
for(int i = 0; i < 5; i++) {
sumCost2 = cost2+sumCost2; }
System.out.println("Das macht insg.: " + sumCost2);
//Leerzeichen
System.out.println();
if (sumCost1 < sumCost2) {
System.out.print("A schuldet B: ");
System.out.println(sumCost2 - sumCost1);
}
else if (sumCost2 < sumCost1) {
System.out.print("B schuldet A: ");
System.out.println(sumCost1 - sumCost2);
}
else {
System.out.println("Die Beträge sind ausgeglichen");
}
[/CODE]
public static void main (String[] args) {
double [] cost1 = new double [3];
cost1[0] = 4.99;
cost1[1] = 3.79;
cost1[2] = 2.99;
System.out.println(cost1.length + " Ausgaben gibt es bei Person A: " + cost1[0] + ", " + cost1[1] + " und " + cost1[2] + ".");
double sumCost1 = 0;
for(int i = 0; i < 3; i++) {
sumCost1 = cost1 + sumCost1; }
System.out.println("Das macht insg.: " + sumCost1);
// Leerzeichen
System.out.println();
double [] cost2 = new double [5];
cost2[0] = 1.99;
cost2[1] = 3.99;
cost2[2] = 1.69;
cost2[3] = 2.99;
cost2[4] = 0.99;
System.out.println(cost2.length + " Ausgaben gibt es bei Person B: " + cost2[0] + ", " + cost2[1] + ", " + cost2[2] + ", "+ cost2[3] + " und " + cost2[4] + ".");
double sumCost2 = 0;
for(int i = 0; i < 5; i++) {
sumCost2 = cost2+sumCost2; }
System.out.println("Das macht insg.: " + sumCost2);
//Leerzeichen
System.out.println();
if (sumCost1 < sumCost2) {
System.out.print("A schuldet B: ");
System.out.println(sumCost2 - sumCost1);
}
else if (sumCost2 < sumCost1) {
System.out.print("B schuldet A: ");
System.out.println(sumCost1 - sumCost2);
}
else {
System.out.println("Die Beträge sind ausgeglichen");
}
[/CODE]
Das hat soweit geklappt.
Jetzt möchte ich, dass die beiden Personen ihre Werte über die Konsole eingeben. Da steige ich trotz der erhaltenen Hinweise aus meinem ersten Thread nicht ganz durch. Entsprechend der Hinweise von temi habe ich folgendes übernommen:
[CODE lang="java" title="Bla erneut"]import java.util.Scanner;
public class Bla {
public static void main (String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Wieviele Ausgaben sollen bei Person A erfasst werden?");
int numberOfCostsA = scanner.nextInt(); // Anzahl an Belegen erfasst, s. Array und for-Schleife unten
System.out.println("Trage jetzt die Beträge der Quittungen ein:");
double[] costsA = new double[numberOfCostsA]; // Array, Umfang bestimmt durch die Anzahl der Belege, s. o.
for (int i = 0; i < numberOfCostsA; i++) { // i < Anzahl an Belegen, s. o.
costsA = costsA[i++];
}
}[/CODE]
Ich verstehe all das, was ich //mit einer Bemerkung versehen habe. Was ich aber trotz der Hinweise nicht auf die Kette kriege, ist, den Array nun mit Werten zu füllen. Wenn ich temis Code Copy-Paste (und versuche entsprechend anzupassen) funktioniert es nicht. D.h. ich kann in die Konsole keine Werte eintragen.
Kann mir hier jemand weiterhelfen?
Aktuell sieht mein Eclipse-Fenster aus, wie im Screenshot (also alles in einer Klasse weil ich dachte, dass es bei der aktuellen Komplexität ausreicht und ich mich nicht zusätzlich verwirren wollte).
Sorry für den langen Post Ich freue mich über jeden Input und bin sehr dankbar über alle Erklärversuche.
Grüße Yannik