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/Methoden: Unterschied zwischen den Versionen

(Kommentare)
 
(18 dazwischenliegende Versionen von 12 Benutzern werden nicht angezeigt)
Zeile 7: Zeile 7:
 
* Führe den Code aus und vergleiche das Ergebnis mit deinen Erwartungen.  
 
* Führe den Code aus und vergleiche das Ergebnis mit deinen Erwartungen.  
  
<nowiki>
+
<pre>
class Beispiel {
+
public class Print {
public static void main(String [] arguments) {
+
public static void main(String[] arguments) {
ausgabe(1, "Martin");
+
print(1, "Martin");
ausgabe("Arthur", 2);
+
print(2, "Arthur");
ausgabe(3, "Florian");
+
print(3, "Florian");
ausgabe("Robert", 4);
+
print(4, "Robert");
 
}
 
}
  
static void ausgabe(int i, String string) {
+
public static void print(int zahl, String name) {
System.out.println(i + ": " + string);
+
System.out.println(zahl + ": " + name);
 
}
 
}
 
}
 
}
</nowiki>
+
</pre>
 
 
  
 
== Rückgabewert ==
 
== Rückgabewert ==
Zeile 27: Zeile 26:
 
* Führe den Code jeweils aus und vergleiche das Ergebnis mit deinen Erwartungen.  
 
* Führe den Code jeweils aus und vergleiche das Ergebnis mit deinen Erwartungen.  
  
<nowiki>
+
<pre>
//file: Methoden1.java
+
public class ReturnDouble {
class Methoden1 {
+
public static void main(String[] arguments) {
    public static void main (String[] arguments) {
+
System.out.println(gibMirNeZahl());
        System.out.println( gibMirNeZahl() );
+
}
    }
+
 
   
+
public static double gibMirNeZahl() {
    public static double gibMirNeZahl() {
+
return 15.3;
        return 15.3;
+
}
    }
 
 
}
 
}
</nowiki>
+
</pre>
  
<nowiki>
+
<pre>
//file: Methoden2.java
+
public class ReturnBoolean {
class Methoden2 {
+
public static void main(String[] arguments) {
    public static void main (String[] arguments) {
+
System.out.println(mathematik(1, 2));
        System.out.println( mathematik(1, 2) );
+
System.out.println(mathematik(1, 5));
    }
+
System.out.println(mathematik(3, 4));
   
+
}
    public static boolean mathematik(int argument1, int argument2) {
+
 
        return (argument1 + 5) < (argument2 * 2);
+
public static boolean mathematik(int argument1, int argument2) {
    }
+
return (argument1 + 5) < (argument2 * 2);
 +
}
 
}
 
}
</nowiki>
+
</pre>
  
<nowiki>
+
<pre>
//file: Methoden3.java
+
public class ReturnInt {
class Methoden3 {
+
public static void main(String[] arguments) {
    public static void main (String[] arguments) {
+
System.out.println("2 + 7 = " + add(2, 7));
        System.out.println( mathematik(1, 2) );
+
System.out.println("0 + 8 = " + add(0, 8));
        System.out.println( mathematik(1, 5) );
+
System.out.println("-7 + 7 = " + add(-7, 7));
        System.out.println( mathematik(3, 4) );
+
}
    }
 
   
 
    public static boolean mathematik(int argument1, int argument2) {
 
        return (argument1 + 5) < (argument2 * 2);
 
    }
 
}
 
</nowiki>
 
  
<nowiki>
+
public static int add(int int1, int int2) {
//file: Methoden4.java
+
return int1 + int2;
class Methoden4 {
+
}
    public static void main (String[] arguments) {
 
        int eineZahl = 2;
 
        System.out.println( mathematik(4, eineZahl) );
 
        eineZahl = 5;
 
        System.out.println( mathematik(2, eineZahl) );
 
        System.out.println( mathematik(eineZahl, 4) );
 
    }
 
   
 
    public static boolean mathematik(int argument1, int argument2) {
 
        return (argument1 + 5) < (argument2 * 2);
 
    }
 
 
}
 
}
</nowiki>
+
</pre>
 
 
== Kommentare ==
 
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)
 
  
<!--
 
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit "Vorschau zeigen" kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.
 
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)
 
  
==== Robert ====
+
Die Teilaufgabe mit dem Code "Rückgabewert" compiliert nicht.  
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.
+
Es kommt folgende Fehlermeldung:
-->
 
  
=======Ran========
+
2 errors
das:
+
.\ReturnDouble.java:11: error: class ReturnBoolean is public, should be declared in a file named ReturnBoolean.java
//file: Methoden2.java
+
public class ReturnBoolean {
class Methoden3
+
      ^
 +
.\ReturnDouble.java:23: error: class ReturnInt is public, should be declared in a file named ReturnInt.java
 +
public class ReturnInt {
 +
      ^
  
soll so:
+
Wie ich es verstanden habe, müsste ich hier noch zusätzliche "Hilfsprogramme" schreiben?
//file: Methoden2.java
 
class Methoden2 {
 
sein...
 

Aktuelle Version vom 7. März 2014, 10:39 Uhr

Hinweis: Alle in diese Übung verwendeten Klassen findest du auch als Vorgabedateien unter http://docs.freitagsrunde.org/Veranstaltungen/javakurs_2007/vorgaben/Methoden.tar


Argumente

  • Überlege dir, was der folgende Code macht. Was erwartest du als Ausgabe?
  • Führe den Code aus und vergleiche das Ergebnis mit deinen Erwartungen.
public class Print {
	public static void main(String[] arguments) {
		print(1, "Martin");
		print(2, "Arthur");
		print(3, "Florian");
		print(4, "Robert");
	}

	public static void print(int zahl, String name) {
		System.out.println(zahl + ": " + name);
	}
}

Rückgabewert

  • Überlege dir, was der folgende Code in den folgenden Beispielen macht. Was erwartest du als Ausgabe?
  • Führe den Code jeweils aus und vergleiche das Ergebnis mit deinen Erwartungen.
public class ReturnDouble {
	public static void main(String[] arguments) {
		System.out.println(gibMirNeZahl());
	}

	public static double gibMirNeZahl() {
		return 15.3;
	}
}
public class ReturnBoolean {
	public static void main(String[] arguments) {
		System.out.println(mathematik(1, 2));
		System.out.println(mathematik(1, 5));
		System.out.println(mathematik(3, 4));
	}

	public static boolean mathematik(int argument1, int argument2) {
		return (argument1 + 5) < (argument2 * 2);
	}
}
public class ReturnInt {
	public static void main(String[] arguments) {
		System.out.println("2 + 7 = " + add(2, 7));
		System.out.println("0 + 8 = " + add(0, 8));
		System.out.println("-7 + 7 = " + add(-7, 7));
	}

	public static int add(int int1, int int2) {
		return int1 + int2;
	}
}


Die Teilaufgabe mit dem Code "Rückgabewert" compiliert nicht.

Es kommt folgende Fehlermeldung:

2 errors .\ReturnDouble.java:11: error: class ReturnBoolean is public, should be declared in a file named ReturnBoolean.java public class ReturnBoolean {

      ^

.\ReturnDouble.java:23: error: class ReturnInt is public, should be declared in a file named ReturnInt.java public class ReturnInt {

      ^

Wie ich es verstanden habe, müsste ich hier noch zusätzliche "Hilfsprogramme" schreiben?