diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..2e737e408a044a2d475f86e247ac778244348a2e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.class +!.gitignore \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..0505650b6c1999a5c4a4229163453091c94140ab --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# meti-VL-Info3-Beispielprogramme + +**Beispielprogramme aus der Vorlesung, Übungen** + +Die Programme sind jeweils in einem eigenen Ordner gespeichert. Das Repository wird im Laufe der Vorlesung fortlaufend aktualisiert. Kursteilnehmerinnen und -teilnehmer können sich von diesem Repository einen Clone anlegen, der sich dann fortlaufend per pull-Operation aktualisieren lässt. + +# Inhalt des Repositories + +## Digitaltechnik +Es werden Beispiele für das Programm LogicCircuit in einem Ordner angeboten. +## Java +Die in der VL gezeigten Java Programme werden in einem eigenen Ordner hinterlegt. + +# Änderungswünsche und Fehlermeldungen +Für die Kursteilnehmerinnen und -teilnehmer ist es nicht möglich eigene Änderungen in dieses Repository zu übertragen. Es können jedoch Änderungswünsche oder Fehlermeldungen über den GitLab Issue Tracker gemeldet werden. \ No newline at end of file diff --git a/VL04-02/Copyrightmeldung-Con/Copyrightmeldung.java b/VL04-02/Copyrightmeldung-Con/Copyrightmeldung.java new file mode 100644 index 0000000000000000000000000000000000000000..5ad2c2c8981cefc38851ac951a57104ebd1f0f59 --- /dev/null +++ b/VL04-02/Copyrightmeldung-Con/Copyrightmeldung.java @@ -0,0 +1,12 @@ +//Copyrightmeldung.java +package de.hsreutlingen.inf.metipack.inf3; + +public class Copyrightmeldung { + public void ZeigeCopyright() { + System.out.println("Copyright S.Steddin (C) 2016"); + } +} + + + + \ No newline at end of file diff --git a/VL04-02/Copyrightmeldung-Con/HalloIchCopyRight.java b/VL04-02/Copyrightmeldung-Con/HalloIchCopyRight.java new file mode 100644 index 0000000000000000000000000000000000000000..cc7965286a33e43d647a5b326fbfa31f2e17acbb --- /dev/null +++ b/VL04-02/Copyrightmeldung-Con/HalloIchCopyRight.java @@ -0,0 +1,46 @@ +/** HalloIchCopyRight.java + * + * Das Programm soll außer der Begrüßungsmeldung (Hallo meti) noch einen + * Copyright Verweis ausgeben, der auch in anderen Programmen zugänglich sein + * soll. Die für die Ausgabe zuständige Klasse soll daher in einem Paket + * hinterlegt werden, welches auch anderen Projekten zugänglich sein soll. + * + * Die Klasse Copyrightmeldung.class wird gemäß der package-Anweisung in der + * Quelldatei im Paket de.hsreutlingen.inf.metipack.inf3 + * angelegt und wird beim Programmaufruf im Dateisystem in der zugehörigen + * Verzeichnisstruktur gesucht. Die Wurzel dieser Verzeichnisstruktur ist + * entweder + * a) im aktuellen Verzeichnis, von dem aus die JVM aufgerufen wird oder + * b) in einem der unter der Umgebungsvariablen CLASSPATH hinterlegten Verzeichnisse + * + * Beispiel: + * Wird das Programm aus dem Verzeichnis c:\JavaProgs gestartet, so wird die + * Klasse Copyrightmeldung im Verzeichnis c:\JavaProgs\de\hsreutlingen\inf\metipack\inf3 + * erwartet. Bei der Programminstallation muss das entsprechende Verzeichnis angelegt werden. + * + * + * Die Sourcecode-Dateien müssen gemäß der in der import Direktive festgelegten Verzeichnis- + * struktur abgelegt sein. Anderfalls kann der Compiler die Sourcedatei nicht finden und die + * Übersetzung von HalloIchCopyright bricht ab, da das Import-Verzeichnis nicht auffindbar ist. + * + * Ist die Übersetzung erfolgreich, so wird die .class Datei im gleichen Verzeichnis abgelegt, + * wie die Quelldatei. Auf diese Weise ist gewährleistet, dass beim Aufruf des Programmes + * die .class-Datei im über den package Namen festgelegten Verzeichnisbaum liegt. + * + * Für die Übersetzung von HalloIch müssen die Sourcedateien von Copyrightmeldung und + * Infomeldung nicht mehr vorliegen, wenn deren .class-Dateien im zugehörigen package- + * Verzeichnis liegen. + * + * @author Steddin + * @version 1.00, 2016-11-18 + */ +import de.hsreutlingen.inf.metipack.inf3.Copyrightmeldung; + +public class HalloIchCopyright { + + public static void main(String[] args) { + System.out.println("Hallo meti"); + Copyrightmeldung cm = new Copyrightmeldung(); + cm.ZeigeCopyright(); + } +} diff --git a/VL04-02/DefaultPackage-1-Con/BlaBla.java b/VL04-02/DefaultPackage-1-Con/BlaBla.java new file mode 100644 index 0000000000000000000000000000000000000000..d47629792f92188305ca1d50b4d8cf99510d8afd --- /dev/null +++ b/VL04-02/DefaultPackage-1-Con/BlaBla.java @@ -0,0 +1,6 @@ +class BlaBla { + void sayBla() { + System.out.println("Bla"); + } +} + diff --git a/VL04-02/DefaultPackage-1-Con/MainProg.java b/VL04-02/DefaultPackage-1-Con/MainProg.java new file mode 100644 index 0000000000000000000000000000000000000000..613c5cc0ace3c11948ea8d1b27c38bc9c5c8aab6 --- /dev/null +++ b/VL04-02/DefaultPackage-1-Con/MainProg.java @@ -0,0 +1,12 @@ + /** MainProg.java + * Programm zeigt Nutzung des Default Packages. + * @author Steddin + * @version 1.00, 2019-11-04 + */ + public class MainProg { + public static void main(String[] args) { + BlaBla blabla = new BlaBla(); + blabla.sayBla(); + } +} + diff --git a/VL04-02/DefaultPackage-2-Con/MainProg.java b/VL04-02/DefaultPackage-2-Con/MainProg.java new file mode 100644 index 0000000000000000000000000000000000000000..850a1313896bd20bb2a67f5a9272c047c04dd7da --- /dev/null +++ b/VL04-02/DefaultPackage-2-Con/MainProg.java @@ -0,0 +1,15 @@ + /** MainProg.java + * Programm zeigt Nutzung des Default Packages zusammen mit + * untergeordneten Packages. + * @author Steddin + * @version 1.00, 2019-11-04 + */ +public class MainProg { + public static void main(String[] args) { + vorlesung.BlaBla blabla1 = new vorlesung.BlaBla(); + kaffeeklatsch.BlaBla blabla2 = new kaffeeklatsch.BlaBla(); + blabla1.sayBla(); + blabla2.sayBla(); + } +} + diff --git a/VL04-02/DefaultPackage-2-Con/kaffeeklatsch/BlaBla.java b/VL04-02/DefaultPackage-2-Con/kaffeeklatsch/BlaBla.java new file mode 100644 index 0000000000000000000000000000000000000000..2f3f5f3508ccfbfe37c10369bc8f47c8b1c20fff --- /dev/null +++ b/VL04-02/DefaultPackage-2-Con/kaffeeklatsch/BlaBla.java @@ -0,0 +1,7 @@ +package kaffeeklatsch; +public class BlaBla { + public void sayBla() { + System.out.println("Kaffeeklatsch: Bla"); + } +} + diff --git a/VL04-02/DefaultPackage-2-Con/vorlesung/BlaBla.java b/VL04-02/DefaultPackage-2-Con/vorlesung/BlaBla.java new file mode 100644 index 0000000000000000000000000000000000000000..c7d4675fb7d1e31f3b2a95f9afaf134e4693cab0 --- /dev/null +++ b/VL04-02/DefaultPackage-2-Con/vorlesung/BlaBla.java @@ -0,0 +1,7 @@ +package vorlesung; +public class BlaBla { + public void sayBla() { + System.out.println("Vorlesung: Bla"); + } +} + diff --git a/VL04-02/DefaultPackage-3-Con/MainProg.java b/VL04-02/DefaultPackage-3-Con/MainProg.java new file mode 100644 index 0000000000000000000000000000000000000000..3071d59c33cdb8f1662494c8451fcd3746a6cecd --- /dev/null +++ b/VL04-02/DefaultPackage-3-Con/MainProg.java @@ -0,0 +1,20 @@ + /** MainProg.java + * Programm zeigt Nutzung des Default Packages in Verbindung + * mit hierarchisch strukturierten Packages. + * @author Steddin + * @version 1.00, 2019-11-04 + */ +public class MainProg { + public static void main(String[] args) { + hochschule.vorlesung.BlaBla blabla1 = new hochschule.vorlesung.BlaBla(); + hochschule.mensa.BlaBla blabla2 = new hochschule.mensa.BlaBla(); + kaffeeklatsch.BlaBla blabla3 = new kaffeeklatsch.BlaBla(); + blabla1.sayBla(); + blabla2.sayBla(); + blabla3.sayBla(); + } +} + + + + diff --git a/VL04-02/DefaultPackage-3-Con/hochschule/mensa/BlaBla.java b/VL04-02/DefaultPackage-3-Con/hochschule/mensa/BlaBla.java new file mode 100644 index 0000000000000000000000000000000000000000..8580307478f163a0de2e4a91239b9af2b412295e --- /dev/null +++ b/VL04-02/DefaultPackage-3-Con/hochschule/mensa/BlaBla.java @@ -0,0 +1,7 @@ +package hochschule.mensa; +public class BlaBla { + public void sayBla() { + System.out.println("Hochschule Mensa: Bla"); + } +} + diff --git a/VL04-02/DefaultPackage-3-Con/hochschule/vorlesung/BlaBla.java b/VL04-02/DefaultPackage-3-Con/hochschule/vorlesung/BlaBla.java new file mode 100644 index 0000000000000000000000000000000000000000..150636b1e13de98b7ada15da43ed614236b9916c --- /dev/null +++ b/VL04-02/DefaultPackage-3-Con/hochschule/vorlesung/BlaBla.java @@ -0,0 +1,7 @@ +package hochschule.vorlesung; +public class BlaBla { + public void sayBla() { + System.out.println("Hochschule Vorlesung: Bla"); + } +} + diff --git a/VL04-02/DefaultPackage-3-Con/kaffeeklatsch/BlaBla.java b/VL04-02/DefaultPackage-3-Con/kaffeeklatsch/BlaBla.java new file mode 100644 index 0000000000000000000000000000000000000000..2a685779596dfcfe3cf59a7832f852b9c0804d4f --- /dev/null +++ b/VL04-02/DefaultPackage-3-Con/kaffeeklatsch/BlaBla.java @@ -0,0 +1,6 @@ +package kaffeeklatsch; +public class BlaBla { + public void sayBla() { + System.out.println("Kaffeeklatsch: Bla"); + } +} \ No newline at end of file diff --git a/VL04-02/DefaultPackage-4-Con/hochschule/mensa/BlaBla.java b/VL04-02/DefaultPackage-4-Con/hochschule/mensa/BlaBla.java new file mode 100644 index 0000000000000000000000000000000000000000..8580307478f163a0de2e4a91239b9af2b412295e --- /dev/null +++ b/VL04-02/DefaultPackage-4-Con/hochschule/mensa/BlaBla.java @@ -0,0 +1,7 @@ +package hochschule.mensa; +public class BlaBla { + public void sayBla() { + System.out.println("Hochschule Mensa: Bla"); + } +} + diff --git a/VL04-02/DefaultPackage-4-Con/hochschule/vorlesung/BlaBla.java b/VL04-02/DefaultPackage-4-Con/hochschule/vorlesung/BlaBla.java new file mode 100644 index 0000000000000000000000000000000000000000..150636b1e13de98b7ada15da43ed614236b9916c --- /dev/null +++ b/VL04-02/DefaultPackage-4-Con/hochschule/vorlesung/BlaBla.java @@ -0,0 +1,7 @@ +package hochschule.vorlesung; +public class BlaBla { + public void sayBla() { + System.out.println("Hochschule Vorlesung: Bla"); + } +} + diff --git a/VL04-02/DefaultPackage-4-Con/kaffeeklatsch/BlaBla.java b/VL04-02/DefaultPackage-4-Con/kaffeeklatsch/BlaBla.java new file mode 100644 index 0000000000000000000000000000000000000000..2a685779596dfcfe3cf59a7832f852b9c0804d4f --- /dev/null +++ b/VL04-02/DefaultPackage-4-Con/kaffeeklatsch/BlaBla.java @@ -0,0 +1,6 @@ +package kaffeeklatsch; +public class BlaBla { + public void sayBla() { + System.out.println("Kaffeeklatsch: Bla"); + } +} \ No newline at end of file diff --git a/VL04-02/DefaultPackage-4-Con/mypackage/MainProg.java b/VL04-02/DefaultPackage-4-Con/mypackage/MainProg.java new file mode 100644 index 0000000000000000000000000000000000000000..87816c5cb2e05a8434971ef4072dc0d80b6ae1d2 --- /dev/null +++ b/VL04-02/DefaultPackage-4-Con/mypackage/MainProg.java @@ -0,0 +1,22 @@ + /** MainProg.java + * Programm zeigt vollständige Nutzung des Package Konzepts. + * Aufgabe für Vorlesung: Programm soll über Kommandozeile + * übersetzt und gestartet werden. + * @author Steddin + * @version 1.00, 2019-11-04 + */ +package mypackage; +public class MainProg { + public static void main(String[] args) { + hochschule.vorlesung.BlaBla blabla1 = new hochschule.vorlesung.BlaBla(); + hochschule.mensa.BlaBla blabla2 = new hochschule.mensa.BlaBla(); + kaffeeklatsch.BlaBla blabla3 = new kaffeeklatsch.BlaBla(); + blabla1.sayBla(); + blabla2.sayBla(); + blabla3.sayBla(); + } +} + + + + diff --git a/VL04-02/DefaultPackage-5-Con/hochschule/mensa/BlaBla.java b/VL04-02/DefaultPackage-5-Con/hochschule/mensa/BlaBla.java new file mode 100644 index 0000000000000000000000000000000000000000..8580307478f163a0de2e4a91239b9af2b412295e --- /dev/null +++ b/VL04-02/DefaultPackage-5-Con/hochschule/mensa/BlaBla.java @@ -0,0 +1,7 @@ +package hochschule.mensa; +public class BlaBla { + public void sayBla() { + System.out.println("Hochschule Mensa: Bla"); + } +} + diff --git a/VL04-02/DefaultPackage-5-Con/hochschule/vorlesung/BlaBla.java b/VL04-02/DefaultPackage-5-Con/hochschule/vorlesung/BlaBla.java new file mode 100644 index 0000000000000000000000000000000000000000..150636b1e13de98b7ada15da43ed614236b9916c --- /dev/null +++ b/VL04-02/DefaultPackage-5-Con/hochschule/vorlesung/BlaBla.java @@ -0,0 +1,7 @@ +package hochschule.vorlesung; +public class BlaBla { + public void sayBla() { + System.out.println("Hochschule Vorlesung: Bla"); + } +} + diff --git a/VL04-02/DefaultPackage-5-Con/kaffeeklatsch/BlaBla.java b/VL04-02/DefaultPackage-5-Con/kaffeeklatsch/BlaBla.java new file mode 100644 index 0000000000000000000000000000000000000000..2a685779596dfcfe3cf59a7832f852b9c0804d4f --- /dev/null +++ b/VL04-02/DefaultPackage-5-Con/kaffeeklatsch/BlaBla.java @@ -0,0 +1,6 @@ +package kaffeeklatsch; +public class BlaBla { + public void sayBla() { + System.out.println("Kaffeeklatsch: Bla"); + } +} \ No newline at end of file diff --git a/VL04-02/DefaultPackage-5-Con/mypackage/MainProg.java b/VL04-02/DefaultPackage-5-Con/mypackage/MainProg.java new file mode 100644 index 0000000000000000000000000000000000000000..0d9097727fb67abaebdcbb12d00e9e3424d23cbc --- /dev/null +++ b/VL04-02/DefaultPackage-5-Con/mypackage/MainProg.java @@ -0,0 +1,26 @@ + /** MainProg.java + * Programm zeigt Nutzung der import Direktive: + * Durch die Nutzung identischer Klassennamen in + * den unterschiedlichen Packages ist die Verwendung + * der import-Direktive nur eingeschränkt sinnvoll. + * @author Steddin + * @version 1.00, 2019-11-04 + */ +package mypackage; +import hochschule.vorlesung.*; +import kaffeeklatsch.BlaBla; + +public class MainProg { + public static void main(String[] args) { + BlaBla blabla1 = new BlaBla(); + hochschule.mensa.BlaBla blabla2 = new hochschule.mensa.BlaBla(); + BlaBla blabla3 = new BlaBla(); + blabla1.sayBla(); + blabla2.sayBla(); + blabla3.sayBla(); + } +} + + + + diff --git a/VL04-02/EinfachesPackage-Con/EinfachesProgMitPackage.java b/VL04-02/EinfachesPackage-Con/EinfachesProgMitPackage.java new file mode 100644 index 0000000000000000000000000000000000000000..38f7894d94bf76fecd352be839815fd37d58cd20 --- /dev/null +++ b/VL04-02/EinfachesPackage-Con/EinfachesProgMitPackage.java @@ -0,0 +1,15 @@ +/** VL04-02_EinfachesProgMitPackage + * Ohne die Angabe eines Packages muss die Datei zur Übersetzung und zur Ausführung in dem + * Verzeichnis liegen, in dem die Konsole der JVM gestartet wird. + * Mit Angabe des Packages muss das Programm aus dem über dem Package-Verzeichnis liegenden + * Verzeichnis heraus aufgerufen werden; hierbei muss im Aufruf der Pfad angegeben werden. + * @author Steddin + * @version 1.00, 2019-11-04 + */ +package mypackage; +public class EinfachesProgMitPackage { + + public static void main(String[] args) { + System.out.println("Hallo metis :-)"); + } +} \ No newline at end of file diff --git a/VL04-02/EinfachesPackage-Con/EinfachesProgOhnePackage.java b/VL04-02/EinfachesPackage-Con/EinfachesProgOhnePackage.java new file mode 100644 index 0000000000000000000000000000000000000000..13fcffbd8b905cda626ae36115626375e9c79d8e --- /dev/null +++ b/VL04-02/EinfachesPackage-Con/EinfachesProgOhnePackage.java @@ -0,0 +1,12 @@ +/** VL04-02_EinfachesProgOhnePackage + * Ohne die Angabe eines Packages muss die Datei zur Übersetzung und zur Ausführung in dem + * Verzeichnis liegen, in dem die Konsole der JVM gestartet wird. + * @author Steddin + * @version 1.00, 2016-11-18 + */ +public class EinfachesPackage { + + public static void main(String[] args) { + System.out.println("Hallo metis :-)"); + } +} \ No newline at end of file diff --git a/VL04-02/ModulTest_Lib/.classpath b/VL04-02/ModulTest_Lib/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..dd8173b50adfa920e45a5fc55ee248bb6cb30754 --- /dev/null +++ b/VL04-02/ModulTest_Lib/.classpath @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-12"> + <attributes> + <attribute name="module" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/VL04-02/ModulTest_Lib/.gitignore b/VL04-02/ModulTest_Lib/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..3e2fcc71712d1d9f84845f45b6eddd03e4e2fbfe --- /dev/null +++ b/VL04-02/ModulTest_Lib/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/VL04-02/ModulTest_Lib/.project b/VL04-02/ModulTest_Lib/.project new file mode 100644 index 0000000000000000000000000000000000000000..5cea5fcbc565b012a3e54ca5ea4f203207f11d3b --- /dev/null +++ b/VL04-02/ModulTest_Lib/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>moduletest_lib</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/VL04-02/ModulTest_Lib/.settings/org.eclipse.jdt.core.prefs b/VL04-02/ModulTest_Lib/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000000000000000000000000000000000..2b084d847fda27ff30a053f1b29415df3ac4a5ff --- /dev/null +++ b/VL04-02/ModulTest_Lib/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=12 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=12 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=12 diff --git a/VL04-02/ModulTest_Lib/src/de/hsrt/inf/meti/inf3vl/factory/BlablaMaker.java b/VL04-02/ModulTest_Lib/src/de/hsrt/inf/meti/inf3vl/factory/BlablaMaker.java new file mode 100644 index 0000000000000000000000000000000000000000..18e8c42491f90e0851b09e941aa7cf8ff6f990ec --- /dev/null +++ b/VL04-02/ModulTest_Lib/src/de/hsrt/inf/meti/inf3vl/factory/BlablaMaker.java @@ -0,0 +1,22 @@ +package de.hsrt.inf.meti.inf3vl.factory; +import static java.lang.System.out; +public class BlablaMaker { + private static int blablaCounter = 0; + private BlablaMaker() { + //Konstruktor private --> factory Methode erforderlich + } + public static BlablaMaker blablaMakerFactory() { + if (blablaCounter == 0) { + blablaCounter++; + return new BlablaMaker(); + } + else { + return null; + } + } + public void makeBlabla() { + out.println("can't stop my blabla"); + } +} + + diff --git a/VL04-02/ModulTest_Main/.classpath b/VL04-02/ModulTest_Main/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..11b8135902a0a61187da75a84426666e5d911730 --- /dev/null +++ b/VL04-02/ModulTest_Main/.classpath @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-12"> + <attributes> + <attribute name="module" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="src" path="src"/> + <classpathentry combineaccessrules="false" kind="src" path="/moduletest_lib"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/VL04-02/ModulTest_Main/.project b/VL04-02/ModulTest_Main/.project new file mode 100644 index 0000000000000000000000000000000000000000..e1c58114b469bc0b2c338f462b441bdee62ff4b9 --- /dev/null +++ b/VL04-02/ModulTest_Main/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>moduletest_main</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/VL04-02/ModulTest_Main/.settings/org.eclipse.jdt.core.prefs b/VL04-02/ModulTest_Main/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000000000000000000000000000000000..2b084d847fda27ff30a053f1b29415df3ac4a5ff --- /dev/null +++ b/VL04-02/ModulTest_Main/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=12 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=12 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=12 diff --git a/VL04-02/ModulTest_Main/bin/.gitignore b/VL04-02/ModulTest_Main/bin/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..fd04598cccd1eb791debf5b0edfff26368dbb294 --- /dev/null +++ b/VL04-02/ModulTest_Main/bin/.gitignore @@ -0,0 +1 @@ +/de/ diff --git a/VL04-02/ModulTest_Main/src/de/hsrt/inf/meti/inf3vl/main/Main.java b/VL04-02/ModulTest_Main/src/de/hsrt/inf/meti/inf3vl/main/Main.java new file mode 100644 index 0000000000000000000000000000000000000000..4148ab355a39f245028e4e2ba95d61f56d396272 --- /dev/null +++ b/VL04-02/ModulTest_Main/src/de/hsrt/inf/meti/inf3vl/main/Main.java @@ -0,0 +1,8 @@ +package de.hsrt.inf.meti.inf3vl.main; +import de.hsrt.inf.meti.inf3vl.factory.BlablaMaker; + +public class Main { + public static void main(String[] args) { + BlablaMaker.blablaMakerFactory().makeBlabla(); + } +} diff --git a/VL04-02/MyStaticPI-Con/de/hsreutlingen/inf/metipack/inf3/myMath/Misc.java b/VL04-02/MyStaticPI-Con/de/hsreutlingen/inf/metipack/inf3/myMath/Misc.java new file mode 100644 index 0000000000000000000000000000000000000000..8e96d4c79b5bb394b850ffb731fdd8e851f2c0f8 --- /dev/null +++ b/VL04-02/MyStaticPI-Con/de/hsreutlingen/inf/metipack/inf3/myMath/Misc.java @@ -0,0 +1,26 @@ +/** Misc.java + * + * Anhand der Klasse Misc soll demonstriert werden, wie man sich eine + * eigene Bibliothek mit häufig verwendeten Funktionen und Konstanten + * in einem Package anlegen kann. <p> + * Das Package heißt myMath und könnte außer der Klasse Misc auch noch + * andere Klassen aufnehmen, welche Mathematik-Funktionen anbieten würden. + * + * @author Steddin + * @version 1.00, 2016-11-18 + */ +package de.hsreutlingen.inf.metipack.inf3.myMath; + +public class Misc { + public static final float PI_F = 3.14f; + public static final int REGEL_ANZ_METI_SEMESTER = 7; + + public static float GetKreisFlaeche(float radius) { + return (radius * radius * PI_F); + } + public double GetKugelVolumen(double radius) { + return (4.0 * PI_F * Math.pow(radius,3)); + } +} + + diff --git a/VL04-02/MyStaticPI-Con/mypackage/MyStaticPI.java b/VL04-02/MyStaticPI-Con/mypackage/MyStaticPI.java new file mode 100644 index 0000000000000000000000000000000000000000..08d9e607832c3f089bb5827a87850a321f4b0c06 --- /dev/null +++ b/VL04-02/MyStaticPI-Con/mypackage/MyStaticPI.java @@ -0,0 +1,36 @@ +/** MyStaticPi.java + * + * Das Projekt demonstriert, wie der statische Import von + * Konstanten und von Methoden erfolgen kann. + * + * @author Steddin + * @version 2.00, 2019-11-04 + */ + +package mypackage; +//für Zugriff auf statische Elemente der Klasse myMath.Misc erforderlich: +//import static de.hsreutlingen.inf.metipack.inf3.myMath.Misc.*; +//für Zugriff auf nicht statische Elemente (Methoden) der Klasse myMath.Misc erforderlich: +import de.hsreutlingen.inf.metipack.inf3.myMath.Misc; + +public class MyStaticPI { + + public static void main(String[] args) { + float erg; + float radius = 2.0f; + //Ohne statischen Import müsste folgender Befehl verwendet werden + erg = 2.0f * radius * de.hsreutlingen.inf.metipack.inf3.myMath.Misc.PI_F; + //erg = 2.0f * radius * PI_F; + System.out.println("Umfang(Radius r = " + radius + " cm) = " + erg + " cm"); + System.out.println("Flaeche = " + de.hsreutlingen.inf.metipack.inf3.myMath.Misc.GetKreisFlaeche(radius) + "cm²"); + //System.out.println("Flaeche = " + GetKreisFlaeche(radius) + "cm²"); + //nicht statische Methoden können nur nach Erzeugung einer Instanz + //der Klasse verwendet werden: + Misc helper = new Misc(); + System.out.println("Kugelvolumen = " + helper.GetKugelVolumen(radius)); + //Aufruf über anonyme Klasse: + System.out.println("Kugelvolumen = " + new Misc().GetKugelVolumen(radius)); + } +} + + diff --git a/VL04-02/StaticVars-Con/Kfz.java b/VL04-02/StaticVars-Con/Kfz.java new file mode 100644 index 0000000000000000000000000000000000000000..d5b8401978f9860c3dddf849d4354deda3a4f3bd --- /dev/null +++ b/VL04-02/StaticVars-Con/Kfz.java @@ -0,0 +1,29 @@ +/** Kfz.java + * + * Verwendung von statischen Variablen und Methoden: + * Das Programm enthält Fehler, die korrigiert werden sollen. + * + * @author Steddin + * @version 1.00, 2016-11-18 + */ + +public class Kfz { + int anzSitze = 2; + int anzRaeder = 2; + + public static void main(String[] args) { + Fahrrad fahrrad = new Fahrrad(); + System.out.println("Kfz: Anzahl Autositze: "+ GetAnzSitze()); + System.out.println("Fahrrad: Anzahl Räder: "+ fahrrad.GetAnzRaeder()); + } + + int GetAnzSitze() { + return anzSitze; + } +} + +public class Fahrrad { + int GetAnzRaeder() { + return Kfz.anzRaeder; + } +}