Hallo Zusammen
Ich möchte Zahlen (nur die korrekten Eingaben) in ein Array speichern und aufaddieren.
Nur leider gibt es mir immer das falsche Ergebnis aus.
Ich denke es liegt daran, dass die for-Schleife die ich hierfür verwende an der falschen Stelle ist, Zeile 42 - 43.
Ich wollte sie eigentlich auch in der Methode ausgeben einfügen (weil sonst meiner Meinung nach auch der return wird in der Methode eingeben keinen Sinn macht), aber dort funktioniert sie gar nicht. Kann mir da vielleicht jemand weiterhelfen?
Danke und Gruss
Sophie
Ich möchte Zahlen (nur die korrekten Eingaben) in ein Array speichern und aufaddieren.
Nur leider gibt es mir immer das falsche Ergebnis aus.
Ich denke es liegt daran, dass die for-Schleife die ich hierfür verwende an der falschen Stelle ist, Zeile 42 - 43.
Ich wollte sie eigentlich auch in der Methode ausgeben einfügen (weil sonst meiner Meinung nach auch der return wird in der Methode eingeben keinen Sinn macht), aber dort funktioniert sie gar nicht. Kann mir da vielleicht jemand weiterhelfen?
Java:
public class Summation {
public static void main (String [] args){
int [] zahlen = einlesen();
ausgeben (zahlen);
}
static int zahl;
static int summe = 0;
static int AnzahlkorrekteEingabe = 0;
static int AnzahlfalscheEingabe = 0;
//Methode zum einlesen und auswerten der Eingaben
public static int[] einlesen() {
int [] zahlenreihe = new int[10];
for (int i = 0; i < 10; i++){ //Es können bis zu 10 Zahlen eingegeben werden
//danach wird die Summe ausgegeben (es sei denn
//die Eingabe wird vorher mit 0 beendet
//Der Benutzer wird aufgefordert eine Zahl einzugeben
zahlenreihe [i] = Konsole.getInputInt("Bitte geben Sie eine Zahl zwischen 1 und 10 ein (Ende mit 0): ");
System.out.println ("Zahl: " + zahlenreihe [i]);
if (zahlenreihe [i] == 0){ // Die Eingabe wird mit der Zahl 0 beendet
break;
}
else if ((zahlenreihe [i] >= 0) && (zahlenreihe [i] <= 10)){ // Die Eingabe ist im Zahlenbereich 0-10 korrekt
System.out.println("korrekt"); // Dem Nutzer wird die Eingabe als korrekt bestätigt
for (int i1 = 0; i1 < zahlenreihe.length; i1++)
summe += zahlenreihe[i1];
AnzahlkorrekteEingabe++; // Die korrekten Eingaben werden gezählt
}
else{ // Wird eine Zahl ausserhalb des Zahlenbereichs eingegeben
// wird der Benutzer darauf hingewiesen
System.out.println("falsch");
AnzahlfalscheEingabe++; //Die falschen Eingaben werden gezählt
}
}
return zahlenreihe;
}
// Methode zur Ausgabe der Ergebnisse auf der Konsole
public static void ausgeben(int[] zahlen) {
System.out.println("Korrekte Eingaben: " + AnzahlkorrekteEingabe);
System.out.println("Summe der korrekten Eingaben:" + summe);
System.out.println("Falsche Eingaben: " + AnzahlfalscheEingabe);
}
}
Danke und Gruss
Sophie