Forum / Grundlagen des Programmierens / Hausübung Bsp 1.5
Hausübung Bsp 1.5
kann sich jemand bitte das programm durchschauen und mir ev helfen herauszufinden wo der fehler is???
Scanner eingabe=new Scanner(System.in); final int E = 210; double I; double f;
System.out.println("Bitte wählen Sie die passende Querschnittsform");
System.out.println("Kreis [k]");
System.out.println("Quadrat [q]");
System.out.println("I-Träger [i]");
//wenn "q" oder "i" gewählt
String form=eingabe.next();
if (form.equals("q")||form.equals("i"))
{System.out.println("Bitte geben Sie die Seitenlänge in mm an");}
//wenn"k" gewählt
if (form.equals("k"))
System.out.println("Bitte geben Sie den Durchmesser in mm an.");
//als variable "a" definieren
double a=eingabe.nextDouble();
//berechnung von I=Flächenträgkeit.
//wenn q
//I=a^4/12
if (form.equals("q"))
{I=("a^4/12");}
//wenn i
//I=10a^4/144
if (form.equals("i"))
{I=("10a^4/144");} [COLOR="#FFFF00]->hier ist ein Fehler
//wenn k
//I=(a^4*pi)/12
if (form.equals("k"))
{I=(a^4*pi)/12;} ->hier ist ein Fehler
//abfrage der länge
System.out.println("Bitte geben Sie die Länge in mm an");
//als variable "l" definieren
int l =eingabe.nextInt();
//abfrage der kraft
System.out.println("Bitte geben Sie die Kraft in N an");
//als variable "F" definieren
int F =eingabe.nextInt();
//abfrage der Lagerungsart
System.out.println("Bitte geben Sie die Art der Lagerung an");
System.out.println("Beidseitig gelagert, Krafteinwirkung mittig [a]");
System.out.println("Kragträger mit Last am Endpunkt [b]");
//berechnung der Maximalen durchbiegung (f) durchbiegung
String lagerung=eingabe.next();
//wenn a
//f=(F*l^3)/(48*E*I)
if (lagerung.equals("a"))
{f=(F*l^3)/(48*E*I);
System.out.println("Die maximale Durchbiegung beträgt f");
}
//wie verweist man auf eine variable???
//wenn b
//f=(F*l^3)/(3*E*I)
if (lagerung.equals("b"))
{f=(F*l^3)/(3*E*I);
System.out.println("Die maximale Durchbiegung beträgt f");
}
Du musst die Anführungszeichen weglassen, sonst wird der Ausdruck als string interpretiert. I=("a^4/12"); ist falsch I=math.pow(a,4)/12; ist richtig
Damit math.pow funktioniert, musst du noch eine library importieren, und zwar java.lang.math
Zum zweiten: System.out.println("Die maximale Durchbiegung beträgt " + f); wäre richtig. Das steht übrigens in den VO-Folien der 2. VO drinnen, falls du nochmals nachschauen willst.
Hab die Beiträge in die allgemein HÜ1 Diskussion verschoben, damit alles beisammen ist.
boards.studify.at/threads/424-2012S-1-Haus%C3%BCbung
/closed
Michael @soafi
Wirtschaftsingenieur... · Technische Universit...
Java erkennt ^ nicht so einfach als Potenz. Du musst entweder aaa*a schreiben oder die Funktion math.pow(a,4) verwenden. Außerdem wird Java "pi" nicht als 3,14... erkennen, sondern als Variable