Skip to content
Snippets Groups Projects
Commit 8393c430 authored by Sven Steddin's avatar Sven Steddin
Browse files
parents bc7a2b57 c2e52df6
No related branches found
No related tags found
No related merge requests found
Showing
with 259 additions and 0 deletions
/** 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();
}
}
/** 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
/** 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
<?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>
/bin/
<?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>
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
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");
}
}
<?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>
<?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>
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
/de/
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();
}
}
/** 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));
}
}
/** 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;
//fr Zugriff auf statische Elemente der Klasse myMath.Misc erforderlich:
//import static de.hsreutlingen.inf.metipack.inf3.myMath.Misc.*;
//fr 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 msste 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 knnen 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));
}
}
/** Kfz.java
*
* Verwendung von statischen Variablen und Methoden:
* Das Programm enthlt 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 Rder: "+ fahrrad.GetAnzRaeder());
}
int GetAnzSitze() {
return anzSitze;
}
}
public class Fahrrad {
int GetAnzRaeder() {
return Kfz.anzRaeder;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment