CodeGym
Aktion
CodeGym University
Lernen
Kurs
Aufgaben
Umfragen & Quizze
Spiele
Hilfe
Zeitplan für einen Tritt in den Hintern
Community
Benutzer
Forum
Chat
Artikel
Erfolgsstorys
Aktivität
Rezensionen
Abonnements
Helles Design
Jetzt lernen
  • Alle Fragen
Martin Eichler
Level 7
Freiburg
  • 28.02.2020
  • 620Aufrufe
  • 2Kommentare

Programm rechnet falsch/ Programm does not calculate correctly

Frage zur Aufgabe Konsolenbasiertes Sparschwein
Java Syntax,  Level 5,  Lektion 12
In der Diskussion

Gib über die Tastatur Zahlen ein und berechnen deren Summe, bis der Benutzer das Wort „summe“ eingibt.
Zeige die resultierende Summe auf dem Bildschirm an.

Hinweis: Um Daten von der Tastatur einzulesen, bis die Zeichenkette ‚exit‘ eingegeben wird, gehen wir wie folgt vor:

BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
while (true)
{
	String s = buffer.readLine();
	if (s.equals("beenden"))
		break;
}
Anforderungen:
  • Das Programm muss Daten von der Tastatur einlesen.
  • Das Programm muss das Lesen von Daten über die Tastatur beenden, nachdem der Benutzer das Wort "summe" in Kleinbuchstaben eingegeben und die Eingabetaste gedrückt hat.
  • Das Programm muss korrekt funktionieren, wenn der Benutzer eine Zahl und das Wort "summe" eingibt.
  • Das Programm muss korrekt funktionieren, wenn der Benutzer zwei Zahlen und das Wort "summe" eingibt.
  • Das Programm muss korrekt funktionieren, wenn der Benutzer mehr als zwei Zahlen und das Wort "summe" eingibt.
  • Das Programm muss Text auf dem Bildschirm ausgeben.
package de.codegym.task.task05.task0529; import java.io.BufferedReader; import java.io.InputStreamReader; /* Konsolenbasiertes Sparschwein */ public class Solution { public static void main(String[] args) throws Exception { //schreib hier deinen Code BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int value = 0; int sum = 0; //value = Integer.parseInt(reader.readLine()); while (true){ sum = sum + value; value = Integer.parseInt(reader.readLine()); String s = reader.readLine(); if (s.equals("summe")) break; } System.out.println(sum); } }
0
Kommentare (2)
  • Beliebt
  • Neu
  • Alt
Du musst angemeldet sein, um einen Kommentar schreiben zu können
Shuy
Level 9 , Frankfurt, Germany
28 Februar 2020, 08:27
Du könntest hier ja als erstes in der while Schleife den Input nehmen und dann prüfen ob er "summe" eingetippt hat, wenn ja -> break, wenn nein -> weiterrechnen. Erst wenn der Check vorbei ist würde ich das ergebnis in einen Integer parsen. Derzeit würde dein Programm ne exception werfen da es sein könnte dass du "summe" versuchst zu parsen, falls er zuerst "summe" eingibt. Allgemein solltest du nur 1 mal pro Schleifen durchgang einen Input nehmen, nicht 2 mal, da man sonst eine Nummer als String speichert und mit dieser nichts macht. Kleiner Tipp: sum += value; ist das selbe wie sum = sum + value;
+4
Martin Eichler
Level 7 , Freiburg, Germany
28 Februar 2020, 17:44
Hab's mit Deiner Hilfe hinbekommen, vielen Dank!
0
Lernen
  • Registrierung
  • Java-Kurs
  • Hilfe zu Aufgaben
  • Preise
  • Spieleprojekte
  • Java Syntax
Community
  • Benutzer
  • Artikel
  • Forum
  • Chat
  • Erfolgsstorys
  • Aktivität
  • Affiliate Program
Unternehmen
  • Über uns
  • Kontakt
  • Rezensionen
  • Medien
  • CodeGym im Bildungsbereich
  • FAQ
  • Support
CodeGym CodeGym ist ein Java-Tutorial zum Lernen von Java von Grund auf. Dieser Kurs ist perfekt dafür geeignet, Java von Beginn an zu meistern. Er enthält über 1200 Aufgaben mit Sofortüberprüfung und grundlegende Theorie zu den Java-Grundlagen. Damit auch du bei deinem Kurs erfolgreich bist, haben wir eine ganze Reihe motivierender Inhalte: Quizfragen, Programmierprojekte, Inhalte zu effizientem Lernen und zum Berufseinstieg als Java-Entwickler.
Folgen
Sprache der Oberfläche
Programmierer werden gemacht, nicht geboren © 2023 CodeGym
MastercardVisa
Programmierer werden gemacht, nicht geboren © 2023 CodeGym
This website uses cookies to provide you with personalized service. By using this website, you agree to our use of cookies. If you require more details, please read our Terms and Policy.