PCMasters Hardware Forum > Software > GFX, Webdesign und Programmierung > Seite 8 > [Java] Addition von benutzereingegebenen Zahlen

Im PC Forum registrieren


Produktsuche
IDEALO-PRODUKT-SUCHE
idealo preisvergleich
PCM News & Reviews
Antwort
 
 
Alt 04.02.2010, 09:31
Threadersteller
ComputerNOOB
 
Standard

[Java] Addition von benutzereingegebenen Zahlen



Hallo,

ich habe ein Problem in Java. Ich soll alle von dem Benutzer eingegebenen Zahlen addieren. Die eingabe von 0 soll die Eingabe des Nutzers beenden und die Addition starten ....
hier was ich bisher habe:
Zitat:
BufferedReader stdin =
new BufferedReader (new InputStreamReader(System.in));
int zahl;
int start;
int x =0;
BufferedReader Eingabe = new BufferedReader
(new InputStreamReader(System.in));


System.out.println("Zum Starten der Addition '0' eingeben");

System.out.println("Wieviele Zahlen sollen addiert werden?");
zahl = Integer.parseInt(Eingabe.readLine());

if ( x < zahl)

System.out.println("Geben Sie eine Zahl ein:");
zahl = Integer.parseInt(Eingabe.readLine());
Kann mir jemand helfen??
Dankööö

Geändert von ComputerNOOB (04.02.2010 um 09:38 Uhr).
Alt Heute
Hardware Bot
Computer Informationen
 
Diese Werbung wird registrierten
Mitgliedern nicht angezeigt.
Werden Sie noch heute kostenlos Mitglied
auf PCMasters.de
Standard Weitere Informationen

 
Alt 04.02.2010, 14:04
pixelflat
 
Standard

Für was brauchst du den 1. BufferedReader stdin?

So wie ich die Aufgabe verstanden habe sollst du so viele Zahlen einlesen können, bis der Benutzer irgendwann eine 0 eingibt. Dann musst du nicht auch noch Fragen wie viele Zahlen der Benutzer eingeben soll. Du kannst ja einfach überprüfen ob die Zahl eine 0 ist und dann das Ergebnis ausgeben.

Natürlich brauchst du dafür eine Schleife. Welche ist relativ egal, aber da du nicht genau weißt wann die 0 kommt, würde ich while() nehmen.

Code:
int erg = 0;

while(zahl != 0)
{
 zahl = Integer.parseInt(Eingabe.readLine()); // hier müsstest du noch eine Exception abfangen, falls Text eingegeben wird und nicht in Int gewandelt werden kann
 erg = erg + zahl;
}
In deinem Fall hast du Glück, dass die Abbruch-Bedingung gerade die Zahl 0 ist. Da machts nämlich nichts wenn du die letzte Eingabe (also eine 0) nochmal aufs Ergebnis addierst. Wäre die Abbruch-Bedingung jetzt -1 müsstest du vor dem Addieren (erg = erg + zahl) nochmal prüfen ob jetzt die -1 eingegeben wurde oder nicht... Oder du zählst am Ende immer nochmal eins ab, was aber nicht sehr elegant wäre.

Edit: Hier nochmal mit Exception-Handling:
Code:
int erg = 0;

while(zahl != 0)
{
 try
 {
  zahl = Integer.parseInt(Eingabe.readLine());
  erg = erg + zahl;
 }
 catch (NumberFormatException ex)
 {
   System.out.println("Eingabe war keine Zahl!");
 }
}

Geändert von pixelflat (04.02.2010 um 14:27 Uhr).
 
Alt 04.02.2010, 23:36
Threadersteller
ComputerNOOB
 
Standard

Dickes Dankeschön!! das mit "try" und "catch" hatten wir leider noch nicht im Unterricht gehabt...bin relativ neu in Java und kanns eig garnicht...
hardware forum Neue Frage stellen?
Kurze Zusammenfassung der Frage:
Bitte wählen Sie eine Kategorie:
Mailadresse:
Ihre Frage:
Ihre Frage wird als Gast gespeichert. Sollte eine Antwort im Forum erfolgen, bekommen Sie diese per Email zugeschickt.


Zufällige Frage
Um auf dieses Thema zu ANTWORTEN
bitte sich zuerst » hier kostenlos registrieren!!

Antwort

Tags: , , ,

Ähnliche Tags: , , ,


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Laptop Tastatur nimmt nur Zahlen?! Bongos Notebooks, Barebones und HTPCs 5 13.09.2009 16:51
Intel muss 1,06 Mrd. € Strafe zahlen Sala Webweites 14 30.05.2009 19:37
Branchenriesen tief in den roten Zahlen Diskussion Postmaster Allgemeine Fragen 2 11.05.2009 19:00
xyzdownloads.com muss ich zahlen ? MasterofDisaster Internet und Netzwerke 7 19.04.2009 13:41
Das kleine Zelda Spiel [Java] Teitjo GFX, Webdesign und Programmierung 11 11.12.2008 15:37


Sie betrachten gerade: [Java] Addition von benutzereingegebenen Zahlen


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:15 Uhr.



Im PC Forum registrieren