Zum Inhalt springen

Abbruchbedingung bei Schleife & Summenbildung


superhero

Empfohlene Beiträge

Hallo! Ich bin noch totaler Java frischling und muss folgende Aufgabe lösen:

Gegeben sei die folgende Aufgabe: Lassen Sie den Benutzer ganze Zahlen (int) über die Tastatur eingeben.

Alle geraden Zahlen, die der Benutzer eingibt, sollen aufsummiert werden.

Die erste negative Zahl (< 0) beendet die Eingabe.

Lassen Sie dann die Gesamtsumme und die Anzahl aller eingegeben Zahlen ausgeben.

Die letzte Zahl soll dabei nicht mit berücksichtigt werden.

Das habe ich bis jetzt geschrieben:


import java.util.Scanner;



public class Aufgabe3 {


	/**

	 * @param args

	 */

	public static void main(String[] args) {

		// TODO Auto-generated method stub

		System.out.println("Bitte gebe eine ganze Zahl ein");


		// Fuer Eingabe mit Tastatur

		Scanner in = new Scanner(System.in);


		// Variablen deklarieren 	

		int Eingabe;

		int Summe = 0;

		int Zaehler = 0;


		do {Eingabe = in.nextInt();		


		if (Eingabe %2 ==0){


			Summe = Eingabe + Summe;

			Zaehler++;}


		else

			Zaehler++;

		} while (Eingabe < 0);

			System.out.println("Summe der eingegebenen geraden Zahlen:" + (Summe));

			System.out.println("Anzahl der eingegeben Zahlen:" + (Zaehler));

	}

}

		

Leider funktioniert das ganze natürlich noch nicht so wie es soll, er beendet mir bei jeder positiven Zahl das Programm mit der Ausgabe, und bei negativen summiert er, irgendwie verdreht das ganze. Ich verstehs nich :/

Über Hilfe wäre ich wirklich sehr dankbar, diese Aufgabe wird am Montag testiert :/.

Ergänzung: Die "letzte Zahl" ist die negative Zahl, die die das Programm beendet! Diese soll also nicht mit Aufsummiert oder mitgezählt werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Oh Gott, da hatte ich nen dummen groben Denkfehler. Soll oben natürlich "while (Eingabe > 0)" sein.

Gut, jetzt bin ich nen kleinen Schritt weiter, er hört bei der negativen Zahl auf.

Das fehlt noch:

Fehler 1: Der Zähler zählt noch die letzte Zahl mit und rechnet diese auch in die Summe.

->Die negative Zahl soll lediglich zur Ausgabe der Summe und Zähler führen.

Fehler 2: Bei eingabe von 0 wird die Eingabe auch beendet.

-> Die 0 soll gezählt werden, und die Eingabe nicht beenden.

Bearbeitet von superhero
Link zu diesem Kommentar
Auf anderen Seiten teilen

Oh Gott, da hatte ich nen dummen groben Denkfehler. Soll oben natürlich "while (Eingabe > 0)" sein.

Gut, jetzt bin ich nen kleinen Schritt weiter, er hört bei der negativen Zahl auf.

Das fehlt noch:

Fehler 1: Der Zähler zählt noch die letzte Zahl mit und rechnet diese auch in die Summe.

->Die negative Zahl soll lediglich zur Ausgabe der Summe und Zähler führen.

Fehler 2: Bei eingabe von 0 wird die Eingabe auch beendet.

-> Die 0 soll gezählt werden, und die Eingabe nicht beenden.

wieder Quark, mit "while (Eingabe > -1)" wäre Fehler 2 gelöst, jetzt nurnoch Fehler 1 :/

Link zu diesem Kommentar
Auf anderen Seiten teilen

Habs jetzt. Danke für den Denkanstoß.

import java.util.Scanner;



public class Aufgabe3 {


	/**

	 * @param args

	 */

	public static void main(String[] args) {

		// TODO Auto-generated method stub

		System.out.println("Bitte gebe eine ganze Zahl ein");


		// Fuer Eingabe mit Tastatur

		Scanner in = new Scanner(System.in);


		// Variablen deklarieren 	

		int Eingabe;

		int Summe = 0;

		int Zaehler = 0;


		do {Eingabe = in.nextInt();		


		if (Eingabe %2 ==0 && Eingabe > 0){


			Summe = Eingabe + Summe;

			}


		if (Eingabe > -1)

			Zaehler++;

		} while (Eingabe > -1);

			System.out.println("Summe der eingegebenen geraden Zahlen:" + (Summe));

			System.out.println("Anzahl der eingegeben Zahlen:" + (Zaehler));

	}

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...