Zum Inhalt springen

Abbruchbedingung bei Schleife & Summenbildung


Empfohlene Beiträge

Geschrieben

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.

Geschrieben (bearbeitet)

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
Geschrieben
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 :/

Geschrieben

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));

	}

}

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...