3
3njoyeD
Gast
Hallo!
Ich komme in meinem Java Algortihmus nicht weiter :-/
Bin noch recht am Anfang von Java.
Wir haben uns mit der Sequenz, Selektion und Repetition auseinandergesetzt.
Ich bin nun beim umsetzen von Schleifen der Repetitionen, also determinierte, kopfgesteuerte & fußgesteuerte.
Die abweisende und nicht abweisende Schleife ist mir gelungen. Nun sitze ich an der (vorherbestimmten) determinierten Schleife.
Es gibt 2 Mathematische Formeln:
1.)
RLeiter= länge * roh /Querschnitt
Primitiver Datentyp: double
Werte: rLeiter, l, roh, A
2.)
Stromdichte=Strom/Querschnitt
Primitver Datentyp: double
Wert: J, I
(Querschnitt oben schon angelegt)
Soweit so gut...
Nun muss die Stromdichte unter 1A/mm² liegen.
Es soll die Stromstärke in Schritten um 0,1 gesenkt werden, bis die Stromdichte unter 1A/mm² liegt.
Das sieht bei der Kopfgesteuerten (abweisenden) Repetition so aus:
Bei der Fußgesteuerten (nicht abweisenden) Repetition so:
Jetzte bin ich an der determinierten (vorherbestimmten) FOR Schleife.
Gelesen habe ich, dass sie sich aus 3 Parametern zusammensetzt:
for(Typ Variable = Wert; Bedingung; Update)
Sie soll, wie in den anderen Beispielen den Strom (Wert: I) um 0,1 senken & dabei die Stromdichte neu berechnen: J=I/A, bis die Stromdichte unter 1A/mm² liegt.
Nun meine Frage:
Habe nun in auf diversen Websiten gesehen, dass man die for Schleife auch anders gestalten kann.
Wenn ich versuche, die Parameter auf mein Proplem einzugeben, also sagen wir:
for(J<=1; I=I-0.1; J=I/A){
System.out.println("J= " + J + "A/mm² bei " + " I= " + I); // Ausgabe von Stromdichte bei Stromstärke
}
bekomme ich einen kritischen Fehler.
Wie kann ich die for-Schleife so parametrieren, dass die Stromdichte über die Stromstärke (0,1 Schritten) gesenkt wird?
Grüße an die Java Community!
3njoyeD
Ich komme in meinem Java Algortihmus nicht weiter :-/
Bin noch recht am Anfang von Java.
Wir haben uns mit der Sequenz, Selektion und Repetition auseinandergesetzt.
Ich bin nun beim umsetzen von Schleifen der Repetitionen, also determinierte, kopfgesteuerte & fußgesteuerte.
Die abweisende und nicht abweisende Schleife ist mir gelungen. Nun sitze ich an der (vorherbestimmten) determinierten Schleife.
Es gibt 2 Mathematische Formeln:
1.)
RLeiter= länge * roh /Querschnitt
Primitiver Datentyp: double
Werte: rLeiter, l, roh, A
2.)
Stromdichte=Strom/Querschnitt
Primitver Datentyp: double
Wert: J, I
(Querschnitt oben schon angelegt)
Soweit so gut...
Nun muss die Stromdichte unter 1A/mm² liegen.
Es soll die Stromstärke in Schritten um 0,1 gesenkt werden, bis die Stromdichte unter 1A/mm² liegt.
Das sieht bei der Kopfgesteuerten (abweisenden) Repetition so aus:
Java:
package Gleichstrom;
import java.util.Scanner;
public class RleiterStromdichteKopfgesteuerte {
public static void main(String[] args) {
double l, a, roh, rLeiter; // Deklaration der Variablen
Scanner scan = new Scanner(System.in); // Erzeugen eines Scannerobjekts zum Einlesen der Tastatur
System.out.println("Willkommen beim Berechnen des Leiterwiderstands!");
System.out.print("Länge in m= "); l= scan.nextDouble(); // Einlesen einer Kommazahl für die Länge
System.out.print("Querschnitt in mm²= "); a= scan.nextDouble(); // Einlesen einer Kommazahl für den Querschnitt
System.out.print("Roh in Ohm*mm²/m= "); roh= scan.nextDouble(); // Einlesen einer Kommazahl für Roh
rLeiter = roh * l / a; // Berechnen des Leiterwiderstands
System.out.println("RLeiter = " + rLeiter + "Ohm"); // Ausgabe vom Ergebniss
//*****************************************************************************
System.out.println("Berechnen der Stromdichte");
double J,I; // Deklaration der neuen Variablen
System.out.print("Stromstärke in A= "); I= scan.nextDouble(); // Einlesen einer Kommazahl für die Stromstärke
J=I/a; // Berechnen der Stromdichte
System.out.println("Errechnete Stromdichte bei einem Leiterquerschnitt von: " + a + "mm² = " + J + "A/mm²"); // Ausgabe von Stromdichte bei oben festgelegten Leiterquerschnitt
if (J>1) { // Wenn Stromdichte größer 1 führe nachfolgende Sequenz aus
System.out.println("Stromdichte liegt über dem zulässigen Wert von 1A/mm². Verringere Stromstärke um 0,1 bis Stromdichte < 1A/mm²"); // Ausgabe eines Textes
while (J<=1) { // while = kopfgesteuerte (abweisende) Repetition
// Schleife wird gestartet, nachfolgende Anweisungen werden solang ausgegeben, bis Bedingung (while) erfüllt
I= I-0.1; // Stromstärke -0,1
J=I/a; // Berechnen der Stromdichte
System.out.println("J= " + J + "A/mm² bei " + " I= " + I); // Ausgabe von Stromdichte bei Strom
}
}else{ // Wenn Stromdichte nach erster Berechnung schon in Ordnung ist, wird die Schleife übersprungen
System.out.println("Die Stromdichte liegt unter 1A/mm², in Ordnung"); // Ausgabe Stromdichte in Ordnung
}
}
}
Bei der Fußgesteuerten (nicht abweisenden) Repetition so:
Java:
do { // Schleife wird gestartet, nachfolgende Anweisungen werden solang ausgegeben, bis Bedingung (while) erfüllt
I= I-0.1; // Stromstärke -0,1
J=I/a; // Berechnen der Stromdichte
System.out.println("J= " + J + "A/mm² bei " + " I= " + I); // Ausgabe von Stromdichte bei Strom
}
while (J>=1); // Bedingung, dass Schleife beendet wird
System.out.println(" "); // Zeilenumbruch zur besseren Übersicht
System.out.println("Die Stromdichte liegt unter 1A/mm², in Ordnung"); // Ausgabe Stromdichte in Ordnung
System.out.println("Stromdichte= "+ J + "A/mm²"); // Ausgabe einer Kommazahl für die Stromdichte
Jetzte bin ich an der determinierten (vorherbestimmten) FOR Schleife.
Gelesen habe ich, dass sie sich aus 3 Parametern zusammensetzt:
for(Typ Variable = Wert; Bedingung; Update)
Sie soll, wie in den anderen Beispielen den Strom (Wert: I) um 0,1 senken & dabei die Stromdichte neu berechnen: J=I/A, bis die Stromdichte unter 1A/mm² liegt.
Nun meine Frage:
Habe nun in auf diversen Websiten gesehen, dass man die for Schleife auch anders gestalten kann.
Wenn ich versuche, die Parameter auf mein Proplem einzugeben, also sagen wir:
for(J<=1; I=I-0.1; J=I/A){
System.out.println("J= " + J + "A/mm² bei " + " I= " + I); // Ausgabe von Stromdichte bei Stromstärke
}
bekomme ich einen kritischen Fehler.
Wie kann ich die for-Schleife so parametrieren, dass die Stromdichte über die Stromstärke (0,1 Schritten) gesenkt wird?
Grüße an die Java Community!
3njoyeD