Hallo,
wir sollten ein Programm schreiben, bei dem 2 Zahlen (Untergrenze und Obergrenze) eines Intervalles eingelesen werden. Weiters sollen dann beliebig viele Werte eingelesen werden. Bei 0 ist das Einlesen dann zu Ende. Am Schluss soll ausgegeben werden, wie viele Werte über, zwischen und unter dem Intervall liegen.
Mein Problem: Alles funktioniert bereits. Allerdings wenn ich als Untergrenze eine negative Zahl (zB - 10) angebe und dann Werte wie -12, -15 usw. eingebe, ist die Ausgabe der Anzahl der unter der Untergrenze liegenden Werte falsch. Woran kann das liegen?
wir sollten ein Programm schreiben, bei dem 2 Zahlen (Untergrenze und Obergrenze) eines Intervalles eingelesen werden. Weiters sollen dann beliebig viele Werte eingelesen werden. Bei 0 ist das Einlesen dann zu Ende. Am Schluss soll ausgegeben werden, wie viele Werte über, zwischen und unter dem Intervall liegen.
Mein Problem: Alles funktioniert bereits. Allerdings wenn ich als Untergrenze eine negative Zahl (zB - 10) angebe und dann Werte wie -12, -15 usw. eingebe, ist die Ausgabe der Anzahl der unter der Untergrenze liegenden Werte falsch. Woran kann das liegen?
Java:
import java.util.Scanner;
public class Bsp_3_Intervall {
public static void main(String[] args) {
// TODO Auto-generated method stub
int untergrenze;
int obergrenze;
int zahl;
int kleiner=0;
int zwischen=0;
int groesser=0;
Scanner eing = new Scanner(System.in);
System.out.print("Geben Sie die untere Intervallgrenze ein: ");
untergrenze = eing.nextInt();
System.out.print("Geben Sie obere Intervallgrenze ein: ");
obergrenze = eing.nextInt();
System.out.print("Geben Sie eine Zahl ein: ");
zahl = eing.nextInt();
while (zahl!=0) {
System.out.print("Geben Sie eine Zahl ein: ");
zahl = eing.nextInt();
if (zahl<untergrenze) {
kleiner = kleiner+1;
} else {
if (zahl>untergrenze && zahl<obergrenze) {
zwischen = zwischen +1;
} else {
groesser = groesser+1;
}
}
}
eing.close();
System.out.println("Es liegen " + kleiner + " Zahlen unter, " + zwischen + " Zahlen zwischen und " + groesser + " Zahlen über der Intervallgrenze.");
}
}