Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- Java/Standardeingabe (http://www.informatikerboard.de/board/thread.php?threadid=1217)


Geschrieben von Carlos Valederrama am 18.05.2012 um 20:22:

  Java/Standardeingabe

Servus,

Aufgabenstellung und Quellcode:

Zitat:
Andern Sie das Programm so ab, dass die Variable zahl von der Standardeingabe eingelesenwird. Die Eingabe soll nur dann akzeptiert und weiterverarbeitet werden, wenn siemindestens 0 und höchstens 100 beträgt.


Zitat:
public class Zahlenreihen{
public static void main (String[] args) {
double zahl = 2.0;
int stufe = 1;
double ergebnis = 0.0;

System.out.println("Stufe | Ergebnis"); System.out.println("----------------");

while (stufe <= 10) {
ergebnis = zahl * stufe;
System.out.println(stufe + "|" + ergebnis);
stufe = stufe + 1;
}
}
}



Geschrieben von Carlos Valederrama am 19.05.2012 um 15:23:

 

Hab das Programm mittlerweile so abgeändert: (Zur Erklärung: "Urc" ist eine Klasse im Rahmen der IOulm-Bibliothek)


Zitat:

import IOulm.*;

public class Zahlenreihen{
public static void main (String[] args) {
double zahl = 2.0;
int stufe = 1;
double ergebnis = 0.0;

if (Urc.readDouble()) {
zahl = Urc.getDouble();
} else {
System.out.println("Konnte nicht einlesen.");
System.exit(1);
}

if (zahl < 0) {
System.err.println("Zahl muss zwischen 0 und 100 liegen");
System.exit(2);
}

if (zahl > 100) {
System.err.println("Zahl muss zwischen 0 und 100 liegen");
System.exit(3);
}

System.out.println("Stufe | Ergebnis");
System.out.println("----------------");


while
(stufe <= 10){
ergebnis = zahl * stufe;
System.out.println(stufe + "|" + ergebnis);
stufe = stufe + 1;
}
}
}


Es funktioniert ohne Fehlermeldung und für die Eingabe 7 gibt es z.B. das hier aus:
Zitat:

Stufe | Ergebnis
----------------
1|7.0
2|14.0
3|21.0
4|28.0
5|35.0
6|42.0
7|49.0
8|56.0
9|63.0
10|70.0


Aus irgendeinem Grund hab ich nur das Gefühl, es ist noch nicht ganz richtig, wegen double zahl=2.0



Geschrieben von Karlito am 19.05.2012 um 19:28:

 

Hallo,

du überschreibst doch die Variable. Das sollte also OK sein.

Was passiert, wenn keine Zahl eingegeben wird? Wird das von der Funktion Urc.getDouble() abgefangen? Sonst müsstest du dich evtl noch darum kümmern.

VG,

Karlito



Geschrieben von Carlos Valederrama am 03.06.2012 um 19:06:

 

Hat geklappt danke.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH