/* ************************************************************************ * TESTREIHE: * Wie arbeiten verschiedene Programmbestandteile in JAVA zusammen? * * Autorin: Sigrid Wehner * Stand: 2.6.2002 * ----------------------------------------------------------------------- * diese Quelle: Hpex3a.java * Bestandteile: * ------------ * Quelle: Hpex3a.java Klasse liegt in aktueller Directory,z.B.: * /home/sigrid/hiwi/javatests/ex3a/ * int min Methode - dieselbe Quelle - * long min Methode - dieselbe Quelle - * main Methode - dieselbe Quelle - * * benoetigt: Klamax.class Klasse ebenso in AKTUELLER Directory * int max Methode - aus Klasse Klamax - * long max Methode - aus Klasse Klamax - * * Klaspann.class Klasse liegt in einer ANDEREN Directory * z.B. im Unterverzeichnis ./unterdir * also im Pfad: * /home/sigrid/hiwi/javatests/ex3a/unterdir * int spann Methode - aus Klasse Klaspann - * long spann Methode - aus Klasse Klaspann - * * ----------> Klasse Klaspann.class liegt mit GLEICHEM * Namen ausserdem in einer ZWEITEN * Directory,die ueber CLASSPATH bekannt ist * hier z.B. in: * /home/sigrid/hiwi/javatests/ex3a/unterdir2 * * Klaxquer.class Klasse liegt in einem Verzeichnis, das * durch die Umgebungsvariable * $CLASSPATH bekannt ist * hier z.B.: * /home/sigrid/SWJLIB/ * * Erkenntnis: Der Java-Compiler prueft, wo die externen Klassen zu finden * sind. Die Suchreihenfolge entspricht der Reihenfolge * in der $CLASSPATH-Variablen. * z.B.: * CLASSPATH=$CLASSPATH:./unterdir:./unterdir2 * ==> Es wird zuerst in der vorigen Einstellung von * CLASSPATH gesucht (z.B. in Bibliotheken), dann * in .unterdir. Es wuerde also die Klasse * Klaspann aus .unterdir genommen. * CLASSPATH=$CLASSPATH:./unterdir2:./unterdir * ==> Umgekehrt: jetzt wuerde die Klasse Klaspann * aus .unterdir2 genommen. * * Um zu verhindern ,dass eigene Klassen mit gleichem Namen * wie in externen Bibliotheken NICHT beruecksichtigt werden, * kann man natuerlich die Suchreihenfolge aendern mittels: * CLASSPATH=./unterdir:./unterdir2:$CLASSPATH * ==> Jetzt wird ZUERST in .unterdir gesucht, dann in * .unterdir2, dann erst in voreingestellten * Bibliotheken. * ************************************************************************ */ /** Hpex3a:
* Ablauffaehige Klasse, beinhaltet Methode main
* sowie 2 Methoden mit demselben Namen min,
* jedoch unterschiedlichen Parametertypen * @author Sigrid Wehner * @version 1.6.2002 */ public class Hpex3a { /** 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.println ("-----------------------------------------------------------"); System.out.print(" 2 Integer-Zahlen sind: "); System.out.print(aint); System.out.print(" und "); System.out.println(bint); System.out.print(" 2 Long-Zahlen sind : "); System.out.print(along); System.out.print(" und "); System.out.println(blong); 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(); System.out.print("SPANNWEITE --> fuer die beiden Integer-Zahlen : "); System.out.println (Klaspann.spann(aint,bint)); // andere Klasse, anderer Pfad System.out.print("SPANNWEITE --> fuer die beiden Long-Zahlen : "); System.out.println (Klaspann.spann(along,blong)); // andere Klasse, anderer Pfad System.out.println(); System.out.print("MITTELWERT --> fuer die beiden Integer-Zahlen : "); System.out.println (Klaxquer.xquer(aint,bint)); // andere Klasse im CLASSPATH System.out.print("MITTELWERT --> fuer die beiden Long-Zahlen : "); System.out.println (Klaspann.spann(along,blong)); // andere Klasse im CLASSPATH System.out.println ("-----------------------------------------------------------"); } }