Javakurs/Übungsaufgaben/Geometrie/Musterloesung: Unterschied zwischen den Versionen
Erscheinungsbild
Die Seite wurde neu angelegt: „==Musterlösung== <code> public class Geometrie { public static void main(String[] args) { /* * wir wollen die Argumente "Zylinder…“ |
K fix alignment |
||
| Zeile 1: | Zeile 1: | ||
==Musterlösung== | ==Musterlösung== | ||
< | <pre> | ||
public class Geometry { | |||
public static void main(String[] args) { | |||
/* | |||
* wir wollen die Argumente "Zylinder r h" oder Kugel r ... | |||
*/ | |||
if (args.length == 0) { | |||
help(); | |||
} else if (args[0].equals("Zylinder")) { | |||
/* | |||
* hier kannst du deine Methode zur Zylinderberechnung einfügen ich | |||
* habe dir ein Grundgerüst vorgegeben | |||
*/ | |||
if (args.length >= 3) { // haben wir genügend Argumente? | |||
double r = Double.valueOf(args[1]); | |||
double h = Double.valueOf(args[2]); | |||
String ergebnis = zylinder(r, h); | |||
System.out.println(ergebnis); | |||
} else { | |||
help(); | |||
} | |||
} else if (args[0].equals("Kugel")) { | |||
if (args.length >= 2) { // haben wir genügend Argumente? | |||
double r = Double.valueOf(args[1]); | |||
String ergebnis = kugel(r); | |||
System.out.println(ergebnis); | |||
} else { | |||
help(); | |||
} | |||
} else if (args[0].equals("Quader")) { | |||
if (args.length >= 4) { // haben wir genügend Argumente? | |||
double a = Double.valueOf(args[1]); | |||
double b = Double.valueOf(args[2]); | |||
double c = Double.valueOf(args[3]); | |||
String ergebnis = quader(a, b, c); | |||
System.out.println(ergebnis); | |||
} else { | |||
help(); | |||
} | |||
} else { | |||
help(); | |||
} | |||
} | |||
public static void help() { | |||
System.out.println("Folgende Parameteruebergaben werden akzeptiert:"); | |||
System.out.println("Zylinder(String) radius(double) hoehe(double)"); | |||
System.out.println("Kugel(String) radius(double)"); | |||
System.out.println("Quader(String) kante(double) kante(double) kante(double)"); | |||
} | |||
public static String zylinder(double r, double h) { | |||
// Grundflaeche und Umfang bestimmen | |||
double g = Math.PI * r * r; | |||
double u = 2 * Math.PI * r; | |||
double volumen = g * h; | |||
double oberflaeche = u * h + 2 * g; | |||
return "Der Zylinder hat ein Volumen von: " + volumen + " und eine Oberflaeche von " + oberflaeche + " Einheiten."; | |||
} | |||
public static String kugel(double r) { | |||
// Umfang | |||
double u = 2 * Math.PI * r; | |||
// Volumen | |||
double v = (4 * Math.PI * r * r * r) / 3; | |||
// Oberflaeche | |||
double g = 4 * Math.PI * r * r; | |||
return "Die Kugel hat einen Umfang von: " + u + ", ein Volumen von " + v + "und eine Oberflaeche von " + g + " Einheiten."; | |||
} | |||
public static String quader(double a, double b, double c) { | |||
// Volumen | |||
double v = a * b * c; | |||
// Oberflaeche | |||
double g = 2 * (a * b + a * c + b * c); | |||
// Laenge der Raumdiagonalen | |||
double d = Math.sqrt(a * a + b * b + c * c); | |||
// Gesamte Kantenlaenge | |||
double k = 4 * a + 4 * b + 4 * c; | |||
return "Volumen: " + v + ", Oberflaeche: " + g + ", Raumdiagonale: " + d + ", Kantenlaenge: " + k; | |||
} | |||
} | |||
</pre> | |||
</ | |||
Aktuelle Version vom 27. Februar 2013, 17:12 Uhr
Musterlösung
public class Geometry {
public static void main(String[] args) {
/*
* wir wollen die Argumente "Zylinder r h" oder Kugel r ...
*/
if (args.length == 0) {
help();
} else if (args[0].equals("Zylinder")) {
/*
* hier kannst du deine Methode zur Zylinderberechnung einfügen ich
* habe dir ein Grundgerüst vorgegeben
*/
if (args.length >= 3) { // haben wir genügend Argumente?
double r = Double.valueOf(args[1]);
double h = Double.valueOf(args[2]);
String ergebnis = zylinder(r, h);
System.out.println(ergebnis);
} else {
help();
}
} else if (args[0].equals("Kugel")) {
if (args.length >= 2) { // haben wir genügend Argumente?
double r = Double.valueOf(args[1]);
String ergebnis = kugel(r);
System.out.println(ergebnis);
} else {
help();
}
} else if (args[0].equals("Quader")) {
if (args.length >= 4) { // haben wir genügend Argumente?
double a = Double.valueOf(args[1]);
double b = Double.valueOf(args[2]);
double c = Double.valueOf(args[3]);
String ergebnis = quader(a, b, c);
System.out.println(ergebnis);
} else {
help();
}
} else {
help();
}
}
public static void help() {
System.out.println("Folgende Parameteruebergaben werden akzeptiert:");
System.out.println("Zylinder(String) radius(double) hoehe(double)");
System.out.println("Kugel(String) radius(double)");
System.out.println("Quader(String) kante(double) kante(double) kante(double)");
}
public static String zylinder(double r, double h) {
// Grundflaeche und Umfang bestimmen
double g = Math.PI * r * r;
double u = 2 * Math.PI * r;
double volumen = g * h;
double oberflaeche = u * h + 2 * g;
return "Der Zylinder hat ein Volumen von: " + volumen + " und eine Oberflaeche von " + oberflaeche + " Einheiten.";
}
public static String kugel(double r) {
// Umfang
double u = 2 * Math.PI * r;
// Volumen
double v = (4 * Math.PI * r * r * r) / 3;
// Oberflaeche
double g = 4 * Math.PI * r * r;
return "Die Kugel hat einen Umfang von: " + u + ", ein Volumen von " + v + "und eine Oberflaeche von " + g + " Einheiten.";
}
public static String quader(double a, double b, double c) {
// Volumen
double v = a * b * c;
// Oberflaeche
double g = 2 * (a * b + a * c + b * c);
// Laenge der Raumdiagonalen
double d = Math.sqrt(a * a + b * b + c * c);
// Gesamte Kantenlaenge
double k = 4 * a + 4 * b + 4 * c;
return "Volumen: " + v + ", Oberflaeche: " + g + ", Raumdiagonale: " + d + ", Kantenlaenge: " + k;
}
}