Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Javakurs/Übungsaufgaben/Geometrie/Musterloesung: Unterschied zwischen den Versionen

(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==
<code>
+
<pre>
public class Geometrie {
+
public class Geometry {
   
+
public static void main(String[] args) {
public static void main(String[] args) {
+
/*
          /*
+
* wir wollen die Argumente "Zylinder r h" oder Kugel r ...
            * wir wollen die Argumente "Zylinder r h" oder Kugel r ...
+
*/
            */
+
 
       
+
if (args.length == 0) {
            if (args.length == 0) {
+
help();
                help();
+
} else if (args[0].equals("Zylinder")) {
            }
+
/*
     
+
* hier kannst du deine Methode zur Zylinderberechnung einfügen ich
        else if (args[0].equals("Zylinder")) {
+
* habe dir ein Grundgerüst vorgegeben
            /*
+
*/
            * hier kannst du deine Methode zur Zylinderberechnung einfügen ich
+
if (args.length >= 3) { // haben wir genügend Argumente?
            * habe dir ein Grundgerüst vorgegeben
+
double r = Double.valueOf(args[1]);
            */
+
double h = Double.valueOf(args[2]);
           
+
String ergebnis = zylinder(r, h);
            if (args.length >= 3) { // haben wir genügend Argumente?
+
System.out.println(ergebnis);
+
} else {
                double r = Double.valueOf(args[1]);  
+
help();
                double h = Double.valueOf(args[2]);
+
}
+
} else if (args[0].equals("Kugel")) {
                String ergebnis = zylinder(r,h);
+
if (args.length >= 2) { // haben wir genügend Argumente?
+
double r = Double.valueOf(args[1]);
                System.out.println( ergebnis );
+
String ergebnis = kugel(r);
            } else {
+
System.out.println(ergebnis);
                help();
+
} else {
            }
+
help();
        } else if (args[0].equals("Kugel")) {
+
}
+
} else if (args[0].equals("Quader")) {
            if (args.length >= 2) { // haben wir genügend Argumente?
+
if (args.length >= 4) { // haben wir genügend Argumente?
+
double a = Double.valueOf(args[1]);
                double r = Double.valueOf(args[1]);
+
double b = Double.valueOf(args[2]);
               
+
double c = Double.valueOf(args[3]);
                String ergebnis = kugel(r);
+
String ergebnis = quader(a, b, c);
               
+
System.out.println(ergebnis);
                System.out.println( ergebnis );
+
} else {
            } else {
+
help();
                help();
+
}
            }
+
} else {
        } else if (args[0].equals("Quader")) {
+
help();
           
+
}
            if (args.length >= 4) { // haben wir genügend Argumente?
+
 
+
}
                double a = Double.valueOf(args[1]);
+
 
                double b = Double.valueOf(args[2]);
+
public static void help() {
                double c = Double.valueOf(args[3]);
+
System.out.println("Folgende Parameteruebergaben werden akzeptiert:");
               
+
System.out.println("Zylinder(String) radius(double) hoehe(double)");
                String ergebnis = quader(a,b,c);
+
System.out.println("Kugel(String) radius(double)");
               
+
System.out.println("Quader(String) kante(double) kante(double) kante(double)");
                System.out.println( ergebnis );
+
}
            } else {
+
 
            help();
+
public static String zylinder(double r, double h) {
            }
+
// Grundflaeche und Umfang bestimmen
        } else {
+
double g = Math.PI * r * r;
            help();
+
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 void help() {
+
 
+
public static String kugel(double r) {
        System.out.println("Folgende Parameteruebergaben werden akzeptiert:");
+
// Umfang
        System.out.println("Zylinder(String) radius(double) hoehe(double)");
+
double u = 2 * Math.PI * r;
        System.out.println("Kugel(String) radius(double)");
+
// Volumen
        System.out.println("Quader(String) kante(double) kante(double) kante(double)");
+
double v = (4 * Math.PI * r * r * r) / 3;
    }
+
// Oberflaeche
   
+
double g = 4 * Math.PI * r * r;
    public static String zylinder(double r, double h){
+
return "Die Kugel hat einen Umfang von: " + u + ", ein Volumen von " + v + "und eine Oberflaeche von " + g + " Einheiten.";
       
+
}
        //Grundflaeche und Umfang bestimmen
+
 
        double g = Math.PI*r*r;
+
public static String quader(double a, double b, double c) {
        double u = 2*Math.PI*r;
+
// Volumen
       
+
double v = a * b * c;
        double volumen = g*h;
+
// Oberflaeche
        double oberflaeche = u*h+2*g;
+
double g = 2 * (a * b + a * c + b * c);
       
+
// Laenge der Raumdiagonalen
        return "Der Zylinder hat ein Volumen von: "+volumen+" und eine Oberflaeche von "+oberflaeche+" Einheiten.";
+
double d = Math.sqrt(a * a + b * b + c * c);
    }
+
// Gesamte Kantenlaenge
   
+
double k = 4 * a + 4 * b + 4 * c;
    public static String kugel(double r){
+
return "Volumen: " + v + ", Oberflaeche: " + g + ", Raumdiagonale: " + d + ", Kantenlaenge: " + k;
       
+
}
        //Umfang
+
}
        double u = 2*Math.PI*r;
+
</pre>
       
 
        //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;
 
    }
 
}
 
</code>
 

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;
	}
}