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

K
(Kommentare)
 
(11 dazwischenliegende Versionen von 7 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( 2, "Arthur" );
+
print(2, "Arthur");
ausgabe( 3, "Florian" );
+
print(3, "Florian");
ausgabe( 4, "Robert" );
+
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() {
 
        return 15.3;
 
    }
 
}
 
</nowiki>
 
  
<nowiki>
+
public static double gibMirNeZahl() {
//file: Methoden2.java
+
return 15.3;
class Methoden2 {
+
}
    public static void main ( String[] arguments ) {
 
        System.out.println( mathematik( 1, 2 ) );
 
    }
 
   
 
    public static boolean mathematik ( int argument1, int argument2 ) {
 
        return ( argument1 + 5 ) < ( argument2 * 2 );
 
    }
 
 
}
 
}
</nowiki>
+
</pre>
  
<nowiki>
+
<pre>
//file: Methoden3.java
+
public class ReturnBoolean {
class Methoden3 {
+
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( 1, 5 ) );
+
System.out.println(mathematik(3, 4));
        System.out.println ( mathematik( 3, 4 ) );
+
}
    }
 
   
 
    public static boolean mathematik ( int argument1, int argument2 ) {
 
        return ( argument1 + 5 ) < ( argument2 * 2 );
 
    }
 
}
 
</nowiki>
 
  
<nowiki>
+
public static boolean mathematik(int argument1, int argument2) {
//file: Methoden4.java
+
return (argument1 + 5) < (argument2 * 2);
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 ==
+
<pre>
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 ;)
+
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) {
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.
+
return int1 + int2;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)
+
}
 
+
}
==== Robert ====
+
</pre>
Na mal schauen, ob irgendjemand diese Funktion wirklich benutzt. Ich fände es jedenfalls toll.
 
-->
 
 
 
====Ran====
 
das:
 
//file: Methoden2.java
 
class Methoden3
 
 
 
soll so:
 
//file: Methoden2.java
 
class Methoden2 {
 
sein...
 
 
 
====Robert====
 
Danke, ist geändert. -- [[Benutzer:Buchholz|Robert Buchholz]] 11:20, 11. Apr. 2007 (CEST)
 
 
 
 
 
====Mario====
 
Jetzt auch den Fehler im Archiv verändert ... -- [[Benutzer:Mario|Mario Bodemann]] 11:26, 08. Apr. 2008 (CEST)
 
  
====Fehler?====
 
<strike>Beispiel.java werden die Methoden  mit falscher Reihenfolge der Parameter aufgerufen:
 
  
ausgabe("Arthur", 2); -> fehler
+
Die Teilaufgabe mit dem Code "Rückgabewert" compiliert nicht.
 +
Es kommt folgende Fehlermeldung:
  
ausgabe("Robert", 4); -> fehler</strike>
+
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 {
 +
      ^
  
fixed, siehe oben -- Mario
+
Wie ich es verstanden habe, müsste ich hier noch zusätzliche "Hilfsprogramme" schreiben?

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?