Hey Leute,
ich habe eine Frage zu folgender Aufgabe:
und dafür habe ich folgende Lösung:
Allerdings glaube ich, bzw. bin ich mir sehr sicher, dass ich hier etwas zu einfach denke und richtig beschi*** Code geschrieben habe. Er erfüllt zwar seinen Zweck, allerdings glaube ich, dass es hierfür sicher eine sinnvollere Methode gibt, die für diese Aufgabe auch eher gesucht wird, als tausend else if abfragen zu starten.
Wie seht ihr das?
Liebe Grüße & Vielen Dank schon mal
ich habe eine Frage zu folgender Aufgabe:
Implementieren Sie ein Programm, das eine Ganzzahl zwischen (einschließlich) 0 und 100 einliest. Falls eine Zahl außerhalb dieses Intervalls eingegeben wird, so soll die Meldung ungueltiger Wert ausgegeben und eine neue Zahl eingelesen werden. Dies soll solange wiederholt werden, bis eine gültige Zahl eingegeben wird. Die Eingabe repräsentiert eine Prozentzahl. Das Programm soll anschließend einen Fortschrittsbalken ausgeben, der 10 Zeichen breit ist.
Dabei soll für jede ganze 10% der Eingabe ein | ausgegeben werden, und die restlichen Zeichen mit - aufgefüllt werden.
und dafür habe ich folgende Lösung:
Java:
import java.util.Scanner;
public class Progressbar {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int eingabe = in.nextInt();
while (eingabe < 0 || eingabe > 100) {
System.out.println("ungueltiger Wert");
eingabe = in.nextInt();
}
if (eingabe < 10) {
System.out.println("----------");
}
else if(eingabe >= 10 && eingabe < 20) {
System.out.println("|---------");
}
else if(eingabe >= 20 && eingabe < 30) {
System.out.println("||--------");
}
else if(eingabe >= 30 && eingabe < 40) {
System.out.println("|||-------");
}
else if(eingabe >= 40 && eingabe < 50) {
System.out.println("||||------");
}
else if(eingabe >= 50 && eingabe < 60) {
System.out.println("|||||-----");
}
else if(eingabe >= 60 && eingabe < 70) {
System.out.println("||||||----");
}
else if(eingabe >= 70 && eingabe < 80) {
System.out.println("|||||||---");
}
else if(eingabe >= 80 && eingabe < 90) {
System.out.println("||||||||--");
}
else if(eingabe >= 90 && eingabe < 100) {
System.out.println("|||||||||-");
}
else {
System.out.println("||||||||||");
}
}
}
Allerdings glaube ich, bzw. bin ich mir sehr sicher, dass ich hier etwas zu einfach denke und richtig beschi*** Code geschrieben habe. Er erfüllt zwar seinen Zweck, allerdings glaube ich, dass es hierfür sicher eine sinnvollere Methode gibt, die für diese Aufgabe auch eher gesucht wird, als tausend else if abfragen zu starten.
Wie seht ihr das?
Liebe Grüße & Vielen Dank schon mal