Hallo
Hab mich bei diesem forum gerade registriert, da ich eine Frage habe bei der ich die Antwort einfach nicht finde.
Also ich habe eine switch/case Struktur und wenn ich bei der eine boolean Funktion darumlege dann findet das Programm eine Variable in dieser switch/case struktur für eine folgende Berechnung nicht mehr.
Hoffe es ist halbwegs verständlich:
Hier mein Quellcode:
dadurch das ich eben die boolean Funktion bei der ersten switch/case Struktur verwende findet das Programm die Variable ' i ' in der 93. und 103. zeile nicht mehr.
Lg Oppi.
Hab mich bei diesem forum gerade registriert, da ich eine Frage habe bei der ich die Antwort einfach nicht finde.
Also ich habe eine switch/case Struktur und wenn ich bei der eine boolean Funktion darumlege dann findet das Programm eine Variable in dieser switch/case struktur für eine folgende Berechnung nicht mehr.
Hoffe es ist halbwegs verständlich:
Hier mein Quellcode:
Java:
Scanner scan = new Scanner(System.in);
boolean finish = false;
while (!finish) {
System.out.println("Programm zur Berechnung der maximalen Durchbiegung eines Trägers (Material: Stahl) \n \n");
boolean profile = false;
while (!profile) {
System.out.println("Sie koennen aus den folgenden drei Querschnitten waehlen: \n (Q)uadratischer Querschnitt \n (K)reisförmiger Querschnitt \n (I)-Träger");
char q = scan.next().charAt(0);
double i = 0;
double area = 0;
switch (q) {
case 'Q':
System.out.println("Geben Sie die Querschnittsgroesse in mm ein!");
area = scan.nextDouble();
i = (Math.pow(area, 4)) / 12;
profile = true;
break;
case 'K':
System.out.println("Geben Sie die Querschnittsgroesse in mm ein!");
area = scan.nextDouble();
i = ((Math.pow(area, 4)) * Math.PI) / 4;
profile = true;
break;
case 'I':
System.out.println("Geben Sie die Querschnittsgroesse in mm ein!");
area = scan.nextDouble();
i = (10 * (Math.pow(area, 4))) / 144;
profile = true;
break;
default:
System.out.println("Falsche Eingabe, versuchen Sie es erneut!");
profile = false;
}
}
// Abfrage nach Trägerart.
boolean bar = false;
while (!bar) {
System.out.println("Waehlen Sie nun zwischen folgenden Trägerarten:");
System.out.println("(B)eidseitig gelagert, Krafteinleitung mittig \n (K)ragträger mit Last am Endpunkt");
char t = scan.next().charAt(0);
double result = 0;
double lenght = 0;
double force = 0;
double material = 210;
switch (t) {
case 'B':
System.out.println("Geben Sie die Länge des Trägers in mm an!");
lenght = scan.nextDouble();
System.out.println("Geben Sie die auf den Träger wirkende Kraft in Newton an!");
force = scan.nextDouble();
result = (force * (Math.pow(lenght, 3))) / (48 * material * i);
System.out.println("Die maximale Durchbiegung in mm ist:" + result);
bar = true;
break;
case 'K':
System.out.println("Geben Sie die Länge des Trägers in mm an!");
lenght = scan.nextDouble();
System.out.println("Geben Sie die auf den Träger wirkende Kraft in Newton an!");
force = scan.nextDouble();
result = (force * (Math.pow(lenght, 3))) / (3 * material * i);
System.out.println("Die maximale Durchbiegung in mm ist:" + result);
bar = true;
break;
default:
System.out.println("Falsche Eingabe, versuchen Sie es erneut!");
bar = false;
}
}
boolean repeat = false;
while (!repeat) {
System.out.println("Moechten Sie eine neue Berechnung starten? (Y/N)");
Scanner sc = new Scanner(System.in);
char c = sc.next().charAt(0);
if (c == 'y' || c == 'Y') {
finish = false;
break;
}
if (c == 'n' || c == 'N') {
finish = true;
repeat = true;
} else {
System.out.println("Falsche Eingabe!");
repeat = false;
}
}
}
}
}
dadurch das ich eben die boolean Funktion bei der ersten switch/case Struktur verwende findet das Programm die Variable ' i ' in der 93. und 103. zeile nicht mehr.
Lg Oppi.
Zuletzt bearbeitet: