/*
************************************************************************
* TESTREIHE:
* Wie arbeiten verschiedene Programmbestandteile in JAVA zusammen?
*
* Autorin: Sigrid Wehner
* Stand: 1.6.2002
* -----------------------------------------------------------------------
* diese Quelle: Hpex2a.java
* Bestandteile:
* ------------
* Quelle: Hpex2a.java Klasse liegt in aktueller Directory z.B.:
* /home/sigrid/hiwi/javatests/ex2a/
* int min Methode - dieselbe Quelle -
* long min Methode - dieselbe Quelle -
* main Methode - dieselbe Quelle -
*
* benoetigt: Klamax.class Klasse liegt in einer anderen Directory,
* z.B. im Unterverzeichnis ./unterdir/
* des aktuellen, also im Pfad
* /home/sigrid/hiwi/javatests/ex2a/unterdir
* int max Methode - aus Klasse Klamax -
* long max Methode - aus Klasse Klamax -
*
* Erkenntnis: (1) Der Methodenaufruf aus der externen Klasse Klamax
* funktioniert nur mittels KOMPLETTEN Namen:
* z.B.: Klamax.max
* (2) Die externe Klasse Klamax kann auch in einem anderen
* Verzeichnis als dem aktuellen vorliegen, und zwar
* sowohl als uebersetzte .class Datei als auch als
* .java Quelldatei. In dem Fall wird bei Aufruf von
* javac Hpex2a.java eine uebersetzte .class Datei im
* zugehoerigen Pfad erzeugt.
* (3) Ebenso gilt:
* Liegen Klamax.java als Quelle UND Klamax.class als
* Klasse vor, wird bei Aufruf von javac Hpex2a.java
* die Quelle neu uebersetzt, falls sie neueren Datums
* als die .class Datei ist.
* (4) Liegt die externe Klasse Klamax AUSSERHALB des
* aktuellen Pfades, sind folgende Optionen fuer
* javac und java zu beachten:
*
* fuer den Java-Compiler die -classpath-Option:
* ---------------------------------------------
* javac -classpath ./unterdir Hpex2a.java
*
* fuer den Java-Interpreter die -classpath-Option
* (oder abgekuerzt -cp):
* ------------------------------------------------
* java -cp .:./unterdir Hpex2a
*
* ACHTUNG: Bei javac koennen Optionen und Quellnamen
* in beliebiger Reihenfolge erscheinen!
* INKONSISTENTERWEISE muessen bei java ZUERST die
* Optionen, danach die Klasse genannt werden !!!
*
************************************************************************
*/
/** Hpex2a:
* Ablauffaehige Klasse, beinhaltet Methode main
* sowie 2 Methoden mit demselben Namen min,
* jedoch unterschiedlichen Parametertypen
* @author Sigrid Wehner
* @version 1.6.2002
*/
public class Hpex2a {
/** Sucht Minimum von 2 Integer-Zahlen
* @param i erste Integerzahl
* @param j zweite Integerzahl
* @return Minimum der beiden Zahlen
*/
static int min (int i, int j)
{
if (i < j)
return i;
return j;
}
/** Sucht Minimum von 2 Long-Zahlen
* @param i erste Longzahl
* @param j zweite Longzahl
* @return Minimum der beiden Zahlen
*/
static long min (long i, long j)
{
if (i < j)
return i;
return j;
}
/** Hauptprogramm */
public static void main (String args [])
{
long along=22l, blong=999l;
int aint=33, bint=44;
System.out.println();
System.out.print("MINIMUM --> Ergebnis von Methode int min (int, int) : ");
System.out.println (min(aint,bint));
// diese Quelle, diese Klasse
System.out.print("MINIMUM --> Ergebnis von Methode long min (long,long): ");
System.out.println (min(along,blong));
// diese Quelle, diese Klasse
System.out.println();
System.out.print("MAXIMUM --> Ergebnis von Methode int max (int, int) : ");
System.out.println (Klamax.max(aint,bint));
//...geht nicht: System.out.println (max(aint,bint));
// andere Klasse, aktueller Pfad
System.out.print("MAXIMUM --> Ergebnis von Methode long max (long,long): ");
System.out.println (Klamax.max(along,blong));
//...geht nicht: System.out.println (max(along,blong));
// andere Klasse, aktueller Pfad
System.out.println();
}
}