From 8c94608805160ff7cf94039cd1ca1a644e0a0fd8 Mon Sep 17 00:00:00 2001 From: Hannes <13hannes11@gmail.com> Date: Fri, 10 Nov 2017 00:13:57 +0100 Subject: [PATCH] added all past projects --- .../.vs/PlanetSimulation/v14/.suo | Bin 0 -> 23040 bytes C#_Mono/PlanetSimulation/PlanetSimulation.sln | 20 + .../PlanetSimulation/Camera2D.cs | 56 + .../PlanetSimulation/Game1.cs | 110 + .../PlanetSimulation/Icon.png | Bin 0 -> 6479 bytes .../PlanetSimulation/Planet.cs | 136 + .../PlanetSimulation/PlanetManager.cs | 108 + .../PlanetSimulation/PlanetSimulation.csproj | 57 + .../PlanetSimulation/Primitives2D.cs | 539 +++ .../PlanetSimulation/Program.cs | 24 + .../Properties/AssemblyInfo.cs | 27 + .../bin/Debug/Lidgren.Network.dll | Bin 0 -> 118272 bytes .../bin/Debug/MonoGame.Framework.dll | Bin 0 -> 625152 bytes .../PlanetSimulation/bin/Debug/OpenTK.dll | Bin 0 -> 3290624 bytes .../bin/Debug/OpenTK.dll.config | 14 + .../bin/Debug/PlanetSimulation.exe | Bin 0 -> 14336 bytes .../bin/Debug/PlanetSimulation.exe.mdb | Bin 0 -> 4832 bytes .../PlanetSimulation/bin/Debug/Tao.Sdl.dll | Bin 0 -> 69632 bytes .../bin/Debug/Tao.Sdl.dll.config | 29 + C#_Mono/UI/.vs/UI/v14/.suo | Bin 0 -> 11264 bytes C#_Mono/UI/UI.sln | 20 + C#_Mono/UI/UI.userprefs | 16 + C#_Mono/UI/UI/DemoToolBox.cs | 17 + C#_Mono/UI/UI/Game1.cs | 91 + C#_Mono/UI/UI/Icon.png | Bin 0 -> 6479 bytes C#_Mono/UI/UI/Program.cs | 24 + C#_Mono/UI/UI/Properties/AssemblyInfo.cs | 27 + C#_Mono/UI/UI/UI.csproj | 60 + C#_Mono/UI/UI/UI/Button.cs | 38 + C#_Mono/UI/UI/UI/MouseManager.cs | 48 + C#_Mono/UI/UI/UI/SolidColorTexture.cs | 38 + C#_Mono/UI/UI/UI/ToolWindow.cs | 60 + C#_Mono/UI/UI/UI/UICamera.cs | 12 + C#_Mono/UI/UI/UI/UIElement.cs | 47 + C#_Mono/UI/UI/bin/Debug/Lidgren.Network.dll | Bin 0 -> 118272 bytes .../UI/UI/bin/Debug/MonoGame.Framework.dll | Bin 0 -> 625152 bytes C#_Mono/UI/UI/bin/Debug/OpenTK.dll | Bin 0 -> 3290624 bytes C#_Mono/UI/UI/bin/Debug/OpenTK.dll.config | 14 + C#_Mono/UI/UI/bin/Debug/Tao.Sdl.dll | Bin 0 -> 69632 bytes C#_Mono/UI/UI/bin/Debug/Tao.Sdl.dll.config | 29 + C#_Mono/UI/UI/bin/Debug/UI.exe | Bin 0 -> 9216 bytes C#_Mono/UI/UI/bin/Debug/UI.exe.mdb | Bin 0 -> 2916 bytes C#_Mono/UI/UpgradeLog.htm | Bin 0 -> 31778 bytes Java/20x20 (printf)/.idea/.name | 1 + Java/20x20 (printf)/.idea/checkstyle-idea.xml | 16 + Java/20x20 (printf)/.idea/compiler.xml | 22 + .../.idea/copyright/profiles_settings.xml | 3 + Java/20x20 (printf)/.idea/encodings.xml | 6 + Java/20x20 (printf)/.idea/misc.xml | 80 + Java/20x20 (printf)/.idea/modules.xml | 8 + Java/20x20 (printf)/.idea/workspace.xml | 653 +++ Java/20x20 (printf)/20x20 (printf).iml | 11 + Java/20x20 (printf)/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/pkg20x20/Main.class | Bin 0 -> 831 bytes Java/20x20 (printf)/manifest.mf | 3 + Java/20x20 (printf)/nbproject/build-impl.xml | 1413 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 7 + .../nbproject/project.properties | 71 + Java/20x20 (printf)/nbproject/project.xml | 15 + .../20x20 (printf)/pkg20x20/Main.class | Bin 0 -> 831 bytes Java/20x20 (printf)/src/pkg20x20/Main.java | 29 + Java/20x20Sternchen/20x20Sternchen.iml | 11 + Java/20x20Sternchen/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/pkg20x20sternchen/Main.class | Bin 0 -> 1412 bytes Java/20x20Sternchen/manifest.mf | 3 + Java/20x20Sternchen/nbproject/build-impl.xml | 1413 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 7 + .../nbproject/project.properties | 71 + Java/20x20Sternchen/nbproject/project.xml | 15 + .../src/pkg20x20sternchen/Main.java | 64 + Java/Addition/Addition_0/Addition_0.iml | 11 + Java/Addition/Addition_0/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/addition_0/Addition_0.class | Bin 0 -> 622 bytes Java/Addition/Addition_0/manifest.mf | 3 + .../Addition_0/nbproject/build-impl.xml | 1400 +++++++ .../Addition_0/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../Addition_0/nbproject/private/private.xml | 4 + .../Addition_0/nbproject/project.properties | 71 + .../Addition/Addition_0/nbproject/project.xml | 15 + .../Addition_0/src/addition_0/Addition_0.java | 9 + Java/Addition/Addition_1/Addition_1.iml | 11 + Java/Addition/Addition_1/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/addition_1/Addition_1.class | Bin 0 -> 944 bytes Java/Addition/Addition_1/manifest.mf | 3 + .../Addition_1/nbproject/build-impl.xml | 1400 +++++++ .../Addition_1/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../Addition_1/nbproject/private/private.xml | 4 + .../Addition_1/nbproject/project.properties | 71 + .../Addition/Addition_1/nbproject/project.xml | 15 + .../Addition_1/src/addition_1/Addition_1.java | 13 + Java/Addition/Addition_2/Addition_2.iml | 11 + Java/Addition/Addition_2/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/addition_2/Addition_2.class | Bin 0 -> 1311 bytes Java/Addition/Addition_2/manifest.mf | 3 + .../Addition_2/nbproject/build-impl.xml | 1400 +++++++ .../Addition_2/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../Addition_2/nbproject/private/private.xml | 4 + .../Addition_2/nbproject/project.properties | 71 + .../Addition/Addition_2/nbproject/project.xml | 15 + .../Addition_2/src/addition_2/Addition_2.java | 17 + Java/BackTracking/BackTracking.iml | 11 + Java/BackTracking/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/backtracking/BackTracking.class | Bin 0 -> 2182 bytes Java/BackTracking/manifest.mf | 3 + Java/BackTracking/nbproject/build-impl.xml | 1413 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 7 + .../BackTracking/nbproject/project.properties | 71 + Java/BackTracking/nbproject/project.xml | 15 + .../src/backtracking/BackTracking.java | 106 + Java/Begruessung/Begruessung.iml | 11 + Java/Begruessung/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/begruessung/Begruessung.class | Bin 0 -> 791 bytes Java/Begruessung/manifest.mf | 3 + Java/Begruessung/nbproject/build-impl.xml | 1413 +++++++ .../Begruessung/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../Begruessung/nbproject/private/private.xml | 7 + Java/Begruessung/nbproject/project.properties | 71 + Java/Begruessung/nbproject/project.xml | 15 + .../src/begruessung/Begruessung.java | 10 + Java/Bubblesort/Bubblesort.iml | 11 + Java/Bubblesort/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/bubblesort/Bubblesort.class | Bin 0 -> 1315 bytes Java/Bubblesort/manifest.mf | 3 + Java/Bubblesort/nbproject/build-impl.xml | 1413 +++++++ Java/Bubblesort/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + Java/Bubblesort/nbproject/private/private.xml | 9 + .../private/profiler/configurations.xml | 116 + .../profiler/snapshot-1453291927121.nps | Bin 0 -> 2297 bytes .../profiler/snapshot-1453292067017.nps | Bin 0 -> 2368 bytes Java/Bubblesort/nbproject/project.properties | 71 + Java/Bubblesort/nbproject/project.xml | 15 + .../Bubblesort/src/bubblesort/Bubblesort.java | 48 + Java/Division/Division_0/Division_0.iml | 11 + Java/Division/Division_0/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/division_0/Division_0.class | Bin 0 -> 623 bytes Java/Division/Division_0/manifest.mf | 3 + .../Division_0/nbproject/build-impl.xml | 1400 +++++++ .../Division_0/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../Division_0/nbproject/private/private.xml | 4 + .../Division_0/nbproject/project.properties | 71 + .../Division/Division_0/nbproject/project.xml | 15 + .../Division_0/src/division_0/Division_0.java | 9 + Java/Division/Division_1/Division_1.iml | 11 + Java/Division/Division_1/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/division_1/Division_1.class | Bin 0 -> 946 bytes Java/Division/Division_1/manifest.mf | 3 + .../Division_1/nbproject/build-impl.xml | 1400 +++++++ .../Division_1/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../Division_1/nbproject/private/private.xml | 4 + .../Division_1/nbproject/project.properties | 71 + .../Division/Division_1/nbproject/project.xml | 15 + .../Division_1/src/division_1/Division_1.java | 13 + Java/Division/Division_2/Division_2.iml | 11 + Java/Division/Division_2/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/division_2/Division_2.class | Bin 0 -> 1294 bytes Java/Division/Division_2/manifest.mf | 3 + .../Division_2/nbproject/build-impl.xml | 1400 +++++++ .../Division_2/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../Division_2/nbproject/private/private.xml | 4 + .../Division_2/nbproject/project.properties | 71 + .../Division/Division_2/nbproject/project.xml | 15 + .../Division_2/src/division_2/Division_2.java | 17 + Java/Fenster/Fenster.iml | 11 + Java/Fenster/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/fenster/Fenster.class | Bin 0 -> 489 bytes .../build/classes/fenster/Window$1.class | Bin 0 -> 725 bytes .../build/classes/fenster/Window$2.class | Bin 0 -> 725 bytes .../build/classes/fenster/Window$3.class | Bin 0 -> 725 bytes .../build/classes/fenster/Window$4.class | Bin 0 -> 518 bytes .../build/classes/fenster/Window.class | Bin 0 -> 6546 bytes .../Fenster/build/classes/fenster/Window.form | 99 + Java/Fenster/manifest.mf | 3 + Java/Fenster/nbproject/build-impl.xml | 1413 +++++++ Java/Fenster/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + Java/Fenster/nbproject/private/private.xml | 7 + Java/Fenster/nbproject/project.properties | 71 + Java/Fenster/nbproject/project.xml | 15 + Java/Fenster/src/fenster/Fenster.java | 20 + Java/Fenster/src/fenster/Window.form | 99 + Java/Fenster/src/fenster/Window.java | 166 + .../GeometrischeFiguren.iml | 11 + Java/GeometrischeFiguren/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/geometrischefiguren/Dreieck.class | Bin 0 -> 1423 bytes .../GeometrischeFigurenOberfläche$1.class | Bin 0 -> 650 bytes .../GeometrischeFigurenOberfläche.class | Bin 0 -> 4380 bytes .../GeometrischeFigurenOberfläche.form | 35 + .../classes/geometrischefiguren/Kreis.class | Bin 0 -> 785 bytes .../classes/geometrischefiguren/Punkt.class | Bin 0 -> 968 bytes .../classes/geometrischefiguren/Strecke.class | Bin 0 -> 1629 bytes Java/GeometrischeFiguren/manifest.mf | 3 + .../nbproject/build-impl.xml | 1413 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 7 + .../nbproject/project.properties | 71 + .../GeometrischeFiguren/nbproject/project.xml | 15 + .../src/geometrischefiguren/Dreieck.java | 40 + .../GeometrischeFigurenOberfläche.form | 35 + .../GeometrischeFigurenOberfläche.java | 97 + .../src/geometrischefiguren/Kreis.java | 28 + .../src/geometrischefiguren/Punkt.java | 33 + .../src/geometrischefiguren/Strecke.java | 46 + Java/HA-Test_1/HA-Test_1.iml | 11 + Java/HA-Test_1/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/ha/test_1/HATest_1.class | Bin 0 -> 1884 bytes Java/HA-Test_1/manifest.mf | 3 + Java/HA-Test_1/nbproject/build-impl.xml | 1413 +++++++ Java/HA-Test_1/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + Java/HA-Test_1/nbproject/private/private.xml | 7 + Java/HA-Test_1/nbproject/project.properties | 71 + Java/HA-Test_1/nbproject/project.xml | 15 + Java/HA-Test_1/src/ha/test_1/HATest_1.java | 26 + Java/IF/IF_01/IF_01.iml | 11 + Java/IF/IF_01/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 Java/IF/IF_01/build/classes/if_01/IF_01.class | Bin 0 -> 1182 bytes Java/IF/IF_01/manifest.mf | 3 + Java/IF/IF_01/nbproject/build-impl.xml | 1400 +++++++ Java/IF/IF_01/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + Java/IF/IF_01/nbproject/private/private.xml | 4 + Java/IF/IF_01/nbproject/project.properties | 71 + Java/IF/IF_01/nbproject/project.xml | 15 + Java/IF/IF_01/src/if_01/IF_01.java | 19 + Java/IF/IF_02/IF_02.iml | 11 + Java/IF/IF_02/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 Java/IF/IF_02/build/classes/if_02/IF_02.class | Bin 0 -> 1580 bytes Java/IF/IF_02/manifest.mf | 3 + Java/IF/IF_02/nbproject/build-impl.xml | 1400 +++++++ Java/IF/IF_02/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + Java/IF/IF_02/nbproject/private/private.xml | 4 + Java/IF/IF_02/nbproject/project.properties | 71 + Java/IF/IF_02/nbproject/project.xml | 15 + Java/IF/IF_02/src/if_02/IF_02.java | 28 + Java/IF/IF_03/IF_03.iml | 11 + Java/IF/IF_03/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 Java/IF/IF_03/build/classes/if_03/IF_03.class | Bin 0 -> 762 bytes Java/IF/IF_03/manifest.mf | 3 + Java/IF/IF_03/nbproject/build-impl.xml | 1400 +++++++ Java/IF/IF_03/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + Java/IF/IF_03/nbproject/project.properties | 71 + Java/IF/IF_03/nbproject/project.xml | 15 + Java/IF/IF_03/src/if_03/IF_03.java | 16 + Java/JosefProblem/JosefProblem.iml | 11 + Java/JosefProblem/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/josefproblem/JosefProblem.class | Bin 0 -> 1248 bytes Java/JosefProblem/manifest.mf | 3 + Java/JosefProblem/nbproject/build-impl.xml | 1413 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 7 + .../JosefProblem/nbproject/project.properties | 71 + Java/JosefProblem/nbproject/project.xml | 15 + .../src/josefproblem/JosefProblem.java | 35 + .../JosefProlemObjektorientiert.iml | 11 + Java/JosefProlemObjektorientiert/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../JosefProlemObjektorientiert.class | Bin 0 -> 1532 bytes .../josefprolemobjektorientiert/Person.class | Bin 0 -> 997 bytes Java/JosefProlemObjektorientiert/manifest.mf | 3 + .../nbproject/build-impl.xml | 1413 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 7 + .../nbproject/project.properties | 71 + .../nbproject/project.xml | 15 + .../JosefProlemObjektorientiert.java | 69 + Java/Kochkurve/Kochkurve.iml | 11 + Java/Kochkurve/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/kochkurve/KKurve.class | Bin 0 -> 1814 bytes .../build/classes/kochkurve/Kurve$1.class | Bin 0 -> 520 bytes .../build/classes/kochkurve/Kurve.class | Bin 0 -> 3552 bytes .../build/classes/kochkurve/Kurve.form | 38 + Java/Kochkurve/manifest.mf | 3 + Java/Kochkurve/nbproject/build-impl.xml | 1413 +++++++ Java/Kochkurve/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + Java/Kochkurve/nbproject/private/private.xml | 7 + Java/Kochkurve/nbproject/project.properties | 71 + Java/Kochkurve/nbproject/project.xml | 15 + Java/Kochkurve/src/kochkurve/KKurve.java | 62 + Java/Kochkurve/src/kochkurve/Kurve.form | 38 + Java/Kochkurve/src/kochkurve/Kurve.java | 81 + Java/Lotto/Lotto.iml | 11 + Java/Lotto/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 Java/Lotto/build/classes/lotto/Kugel.class | Bin 0 -> 1289 bytes Java/Lotto/build/classes/lotto/Lotto.class | Bin 0 -> 523 bytes Java/Lotto/build/classes/lotto/Ziehung.class | Bin 0 -> 1961 bytes Java/Lotto/manifest.mf | 3 + Java/Lotto/nbproject/build-impl.xml | 1413 +++++++ Java/Lotto/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + Java/Lotto/nbproject/private/private.xml | 7 + Java/Lotto/nbproject/project.properties | 71 + Java/Lotto/nbproject/project.xml | 15 + Java/Lotto/src/lotto/Lotto.java | 125 + Java/Matrizen/Matrizen.iml | 11 + Java/Matrizen/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/matrizen/Matrix.class | Bin 0 -> 1303 bytes .../build/classes/matrizen/Matrizen.class | Bin 0 -> 1744 bytes Java/Matrizen/manifest.mf | 3 + Java/Matrizen/nbproject/build-impl.xml | 1413 +++++++ Java/Matrizen/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + Java/Matrizen/nbproject/private/private.xml | 7 + Java/Matrizen/nbproject/project.properties | 71 + Java/Matrizen/nbproject/project.xml | 15 + Java/Matrizen/src/matrizen/Matrix.java | 50 + Java/Matrizen/src/matrizen/Matrizen.java | 49 + .../Multiplikation_0/Multiplikation_0.iml | 11 + .../Multiplikation/Multiplikation_0/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../multiplikation_0/Multiplikation_0.class | Bin 0 -> 653 bytes .../Multiplikation_0/manifest.mf | 3 + .../Multiplikation_0/nbproject/build-impl.xml | 1400 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 4 + .../nbproject/project.properties | 71 + .../Multiplikation_0/nbproject/project.xml | 15 + .../multiplikation_0/Multiplikation_0.java | 9 + .../Multiplikation_1/Multiplikation_1.iml | 11 + .../Multiplikation/Multiplikation_1/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../multiplikation_1/Multiplikation_1.class | Bin 0 -> 979 bytes .../Multiplikation_1/manifest.mf | 3 + .../Multiplikation_1/nbproject/build-impl.xml | 1400 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 4 + .../nbproject/project.properties | 71 + .../Multiplikation_1/nbproject/project.xml | 15 + .../multiplikation_1/Multiplikation_1.java | 13 + .../Multiplikation_2/Multiplikation_2.iml | 11 + .../Multiplikation/Multiplikation_2/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../multiplikation_2/Multiplikation_2.class | Bin 0 -> 1340 bytes .../Multiplikation_2/manifest.mf | 3 + .../Multiplikation_2/nbproject/build-impl.xml | 1400 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 4 + .../nbproject/project.properties | 71 + .../Multiplikation_2/nbproject/project.xml | 15 + .../multiplikation_2/Multiplikation_2.java | 17 + Java/NST/NST.iml | 11 + Java/NST/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 Java/NST/build/classes/nst/NST.class | Bin 0 -> 1098 bytes Java/NST/manifest.mf | 3 + Java/NST/nbproject/build-impl.xml | 1413 +++++++ Java/NST/nbproject/genfiles.properties | 8 + Java/NST/nbproject/private/private.properties | 2 + Java/NST/nbproject/private/private.xml | 7 + Java/NST/nbproject/project.properties | 71 + Java/NST/nbproject/project.xml | 15 + Java/NST/src/nst/NST.java | 24 + Java/Permutation/Permutation.iml | 11 + Java/Permutation/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/permutation/Permutation.class | Bin 0 -> 1377 bytes Java/Permutation/manifest.mf | 3 + Java/Permutation/nbproject/build-impl.xml | 1413 +++++++ .../Permutation/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../Permutation/nbproject/private/private.xml | 7 + Java/Permutation/nbproject/project.properties | 71 + Java/Permutation/nbproject/project.xml | 15 + .../src/permutation/Permutation.java | 24 + Java/Polynomdivision/Polynomdivision.iml | 11 + Java/Polynomdivision/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../polynomdivision/Polynomdivision.class | Bin 0 -> 2034 bytes Java/Polynomdivision/manifest.mf | 3 + Java/Polynomdivision/nbproject/build-impl.xml | 1413 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 7 + .../nbproject/project.properties | 71 + Java/Polynomdivision/nbproject/project.xml | 15 + .../src/polynomdivision/Polynomdivision.java | 86 + Java/Primzahlen/Primzahlen.iml | 11 + Java/Primzahlen/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/primzahlen/Primzahl.class | Bin 0 -> 646 bytes .../build/classes/primzahlen/Primzahlen.class | Bin 0 -> 1628 bytes Java/Primzahlen/manifest.mf | 3 + Java/Primzahlen/nbproject/build-impl.xml | 1413 +++++++ Java/Primzahlen/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + Java/Primzahlen/nbproject/private/private.xml | 6 + .../private/profiler/configurations.xml | 113 + Java/Primzahlen/nbproject/project.properties | 71 + Java/Primzahlen/nbproject/project.xml | 15 + .../Primzahlen/src/primzahlen/Primzahlen.java | 56 + Java/Reaktionstest/Reaktionstest.iml | 11 + Java/Reaktionstest/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/reaktionstest/fenster$1.class | Bin 0 -> 768 bytes .../classes/reaktionstest/fenster$2.class | Bin 0 -> 768 bytes .../classes/reaktionstest/fenster$3.class | Bin 0 -> 860 bytes .../classes/reaktionstest/fenster$4.class | Bin 0 -> 540 bytes .../build/classes/reaktionstest/fenster.class | Bin 0 -> 6497 bytes .../build/classes/reaktionstest/fenster.form | 73 + Java/Reaktionstest/manifest.mf | 3 + Java/Reaktionstest/nbproject/build-impl.xml | 1413 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 7 + .../nbproject/project.properties | 71 + Java/Reaktionstest/nbproject/project.xml | 15 + .../src/reaktionstest/fenster.form | 73 + .../src/reaktionstest/fenster.java | 149 + Java/Rekursion/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../fakultätrekursiv/FakultätRekursiv.class | Bin 0 -> 2604 bytes Java/Rekursion/manifest.mf | 3 + Java/Rekursion/nbproject/build-impl.xml | 1413 +++++++ Java/Rekursion/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + Java/Rekursion/nbproject/private/private.xml | 7 + .../private/profiler/configurations.xml | 113 + Java/Rekursion/nbproject/project.properties | 71 + Java/Rekursion/nbproject/project.xml | 15 + Java/Rekursion/src/Rekursion.iml | 11 + .../fakultätrekursiv/FakultätRekursiv.java | 88 + Java/Sternchen 2/Sternchen 2.iml | 11 + Java/Sternchen 2/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/sternchen/pkg2/Sternchen2.class | Bin 0 -> 526 bytes .../classes/sternchen/pkg2/Window$1.class | Bin 0 -> 767 bytes .../classes/sternchen/pkg2/Window$2.class | Bin 0 -> 767 bytes .../classes/sternchen/pkg2/Window$3.class | Bin 0 -> 767 bytes .../classes/sternchen/pkg2/Window$4.class | Bin 0 -> 767 bytes .../classes/sternchen/pkg2/Window$5.class | Bin 0 -> 539 bytes .../build/classes/sternchen/pkg2/Window.class | Bin 0 -> 9040 bytes .../build/classes/sternchen/pkg2/Window.form | 137 + Java/Sternchen 2/manifest.mf | 3 + Java/Sternchen 2/nbproject/build-impl.xml | 1413 +++++++ .../Sternchen 2/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../Sternchen 2/nbproject/private/private.xml | 7 + Java/Sternchen 2/nbproject/project.properties | 71 + Java/Sternchen 2/nbproject/project.xml | 15 + .../src/sternchen/pkg2/Sternchen2.java | 22 + .../src/sternchen/pkg2/Window.form | 137 + .../src/sternchen/pkg2/Window.java | 274 ++ .../Subtraktion_0/Subtraktion_0.iml | 11 + Java/Subtraktion/Subtraktion_0/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/subtraktion_0/Subtraktion_0.class | Bin 0 -> 638 bytes Java/Subtraktion/Subtraktion_0/manifest.mf | 3 + .../Subtraktion_0/nbproject/build-impl.xml | 1400 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 4 + .../nbproject/project.properties | 71 + .../Subtraktion_0/nbproject/project.xml | 15 + .../src/subtraktion_0/Subtraktion_0.java | 9 + .../Subtraktion_1/Subtraktion_1.iml | 11 + Java/Subtraktion/Subtraktion_1/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/subtraktion_1/Subtraktion_1.class | Bin 0 -> 966 bytes Java/Subtraktion/Subtraktion_1/manifest.mf | 3 + .../Subtraktion_1/nbproject/build-impl.xml | 1400 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 4 + .../nbproject/project.properties | 71 + .../Subtraktion_1/nbproject/project.xml | 15 + .../src/subtraktion_1/Subtraktion_1.java | 13 + .../Subtraktion_2/Subtraktion_2.iml | 11 + Java/Subtraktion/Subtraktion_2/build.xml | 74 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/subtraktion_2/Subtraktion_2.class | Bin 0 -> 1317 bytes Java/Subtraktion/Subtraktion_2/manifest.mf | 3 + .../Subtraktion_2/nbproject/build-impl.xml | 1400 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 4 + .../nbproject/project.properties | 71 + .../Subtraktion_2/nbproject/project.xml | 15 + .../src/subtraktion_2/Subtraktion_2.java | 17 + Java/Suchbaum/Suchbaum.iml | 11 + Java/Suchbaum/build.xml | 73 + Java/Suchbaum/build/built-jar.properties | 4 + .../build/classes/suchbaum/Baum.class | Bin 0 -> 1995 bytes .../build/classes/suchbaum/Knoten.class | Bin 0 -> 2817 bytes .../build/classes/suchbaum/Suchbaum.class | Bin 0 -> 1714 bytes Java/Suchbaum/manifest.mf | 3 + Java/Suchbaum/nbproject/build-impl.xml | 1413 +++++++ Java/Suchbaum/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 1 + Java/Suchbaum/nbproject/private/private.xml | 7 + Java/Suchbaum/nbproject/project.properties | 71 + Java/Suchbaum/nbproject/project.xml | 15 + Java/Suchbaum/sb1.emf | Bin 0 -> 23848 bytes Java/Suchbaum/sb1.gv | 33 + Java/Suchbaum/sb2.emf | Bin 0 -> 23884 bytes Java/Suchbaum/sb2.gv | 33 + Java/Suchbaum/src/suchbaum/Baum.java | 117 + Java/Suchbaum/src/suchbaum/Knoten.java | 154 + Java/Suchbaum/src/suchbaum/Suchbaum.java | 49 + Java/TestProject/TestProject.iml | 11 + Java/TestProject/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/testproject/TestProject.class | Bin 0 -> 400 bytes Java/TestProject/manifest.mf | 3 + Java/TestProject/nbproject/build-impl.xml | 1413 +++++++ .../TestProject/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../TestProject/nbproject/private/private.xml | 7 + Java/TestProject/nbproject/project.properties | 71 + Java/TestProject/nbproject/project.xml | 15 + .../src/testproject/TestProject.java | 19 + Java/TestSuite | 1 + Java/TestSuite.config | 4 + Java/TournamentSort/TournamentSort.iml | 11 + Java/TournamentSort/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/tournamentsort/Element.class | Bin 0 -> 1902 bytes .../tournamentsort/TournamentSort.class | Bin 0 -> 997 bytes Java/TournamentSort/manifest.mf | 3 + Java/TournamentSort/nbproject/build-impl.xml | 1413 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 7 + .../nbproject/project.properties | 71 + Java/TournamentSort/nbproject/project.xml | 15 + .../src/tournamentsort/Element.java | 60 + .../src/tournamentsort/TournamentSort.java | 23 + Java/Verzeichnisgröße/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../verzeichnisgröße/Verzeichnisgröße.class | Bin 0 -> 1594 bytes Java/Verzeichnisgröße/manifest.mf | 3 + .../Verzeichnisgröße/nbproject/build-impl.xml | 1413 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 7 + .../nbproject/project.properties | 71 + Java/Verzeichnisgröße/nbproject/project.xml | 15 + .../Verzeichnisgröße/src/Verzeichnisgröße.iml | 11 + .../src/verzeichnisgröße/Verzeichnisgröße.java | 44 + .../Wettbewerb_CSV_Foto.iml | 11 + Java/Wettbewerb_CSV_Foto/build.xml | 73 + .../build/built-jar.properties | 4 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/wettbewerb_csv_foto/Camera.class | Bin 0 -> 2707 bytes .../classes/wettbewerb_csv_foto/Image.class | Bin 0 -> 4255 bytes .../classes/wettbewerb_csv_foto/Pixel.class | Bin 0 -> 453 bytes .../Wettbewerb_CSV_Foto.class | Bin 0 -> 4997 bytes Java/Wettbewerb_CSV_Foto/manifest.mf | 3 + .../nbproject/build-impl.xml | 1413 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 7 + .../nbproject/project.properties | 71 + .../Wettbewerb_CSV_Foto/nbproject/project.xml | 15 + .../src/wettbewerb_csv_foto/Camera.java | 57 + .../src/wettbewerb_csv_foto/Image.java | 149 + .../src/wettbewerb_csv_foto/Pixel.java | 11 + .../Wettbewerb_CSV_Foto.java | 99 + .../Wettbewerb_ForestFire.iml | 11 + Java/Wettbewerb_ForestFire/manifest.mf | 3 + Java/Wettbewerb_ForestFire/src/Main.java | 64 + Java/Wettbewerb_ForestFire/src/Map.java | 339 ++ Java/Wettbewerb_ForestFire/src/Tile.java | 100 + Java/Wettewerb_Foto/Wettewerb_Foto.iml | 11 + Java/Wettewerb_Foto/build.xml | 73 + .../Wettewerb_Foto/build/built-jar.properties | 4 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../build/classes/wettewerb_foto/Camera.class | Bin 0 -> 2478 bytes .../build/classes/wettewerb_foto/Image.class | Bin 0 -> 3816 bytes .../classes/wettewerb_foto/MainWindow$1.class | Bin 0 -> 880 bytes .../classes/wettewerb_foto/MainWindow$2.class | Bin 0 -> 832 bytes .../classes/wettewerb_foto/MainWindow$3.class | Bin 0 -> 795 bytes .../classes/wettewerb_foto/MainWindow$4.class | Bin 0 -> 795 bytes .../classes/wettewerb_foto/MainWindow$5.class | Bin 0 -> 795 bytes .../classes/wettewerb_foto/MainWindow$6.class | Bin 0 -> 555 bytes .../classes/wettewerb_foto/MainWindow.class | Bin 0 -> 11382 bytes .../classes/wettewerb_foto/MainWindow.form | 125 + .../build/classes/wettewerb_foto/Pixel.class | Bin 0 -> 443 bytes Java/Wettewerb_Foto/dist/README.TXT | 32 + Java/Wettewerb_Foto/dist/Wettewerb_Foto.jar | Bin 0 -> 17315 bytes Java/Wettewerb_Foto/manifest.mf | 3 + Java/Wettewerb_Foto/nbproject/build-impl.xml | 1413 +++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../nbproject/private/private.xml | 7 + .../nbproject/project.properties | 71 + Java/Wettewerb_Foto/nbproject/project.xml | 15 + .../src/wettewerb_foto/Camera.java | 50 + .../src/wettewerb_foto/Image.java | 130 + .../src/wettewerb_foto/MainWindow.form | 125 + .../src/wettewerb_foto/MainWindow.java | 287 ++ .../src/wettewerb_foto/Pixel.java | 11 + Java/Zahlenraten/Zahlenraten.iml | 11 + Java/Zahlenraten/build.xml | 73 + Java/Zahlenraten/build/built-jar.properties | 4 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 .../classes/zahlenraten/Zahlenraten.class | Bin 0 -> 1182 bytes Java/Zahlenraten/manifest.mf | 3 + Java/Zahlenraten/nbproject/build-impl.xml | 1413 +++++++ .../Zahlenraten/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 2 + .../Zahlenraten/nbproject/private/private.xml | 7 + Java/Zahlenraten/nbproject/project.properties | 71 + Java/Zahlenraten/nbproject/project.xml | 15 + .../src/zahlenraten/Zahlenraten.java | 30 + Java/baum/baum.iml | 11 + Java/baum/build.xml | 73 + Java/baum/manifest.mf | 3 + Java/baum/nbproject/build-impl.xml | 1413 +++++++ Java/baum/nbproject/genfiles.properties | 8 + .../baum/nbproject/private/private.properties | 1 + Java/baum/nbproject/private/private.xml | 7 + Java/baum/nbproject/project.properties | 71 + Java/baum/nbproject/project.xml | 15 + Java/baum/src/baum/Ast.java | 104 + Java/baum/src/baum/Baum.java | 123 + Java/baum/src/baum/Blatt.java | 27 + Java/pzz/build.xml | 73 + .../build/classes/.netbeans_automatic_build | 0 .../build/classes/.netbeans_update_resources | 0 Java/pzz/build/classes/pzz/Primzahl.class | Bin 0 -> 621 bytes Java/pzz/build/classes/pzz/Pzz.class | Bin 0 -> 394 bytes Java/pzz/build/classes/pzz/pzzApp$1.class | Bin 0 -> 669 bytes Java/pzz/build/classes/pzz/pzzApp$2.class | Bin 0 -> 701 bytes Java/pzz/build/classes/pzz/pzzApp$3.class | Bin 0 -> 506 bytes Java/pzz/build/classes/pzz/pzzApp.class | Bin 0 -> 8132 bytes Java/pzz/build/classes/pzz/pzzApp.form | 110 + Java/pzz/manifest.mf | 3 + Java/pzz/nbproject/build-impl.xml | 1413 +++++++ Java/pzz/nbproject/genfiles.properties | 8 + Java/pzz/nbproject/private/private.properties | 2 + Java/pzz/nbproject/private/private.xml | 6 + Java/pzz/nbproject/project.properties | 71 + Java/pzz/nbproject/project.xml | 15 + Java/pzz/pzz.iml | 11 + Java/pzz/src/pzz/Pzz.java | 6 + Java/pzz/src/pzz/pzzApp.form | 110 + Java/pzz/src/pzz/pzzApp.java | 203 + Processing.js/GameOfLife/index.gdoc | 1 + Processing.js/GameOfLife/main.pds | 178 + Processing.js/Snake/index.gdoc | 1 + Processing.js/Snake/main.pds | 157 + Processing.js/js/processing.js | 431 ++ .../Assignment3A_TicTacToe/.checkstyle | 7 + .../Assignment3A_TicTacToe/.classpath | 6 + .../Assignment3A_TicTacToe/.project | 17 + .../.settings/org.eclipse.jdt.core.prefs | 11 + .../2016-03-19_12-17-51.zip | Bin 0 -> 50701 bytes .../Assignment3A_TicTacToe.iml | 12 + .../bin/edu/kit/informatik/FieldState.class | Bin 0 -> 1604 bytes .../bin/edu/kit/informatik/Main.class | Bin 0 -> 1015 bytes .../edu/kit/informatik/TicTacToeGame.class | Bin 0 -> 2790 bytes .../doc/allclasses-frame.html | 21 + .../doc/allclasses-noframe.html | 21 + .../doc/constant-values.html | 122 + .../doc/deprecated-list.html | 122 + .../Assignment3A_TicTacToe/doc/help-doc.html | 223 + .../doc/index-files/index-1.html | 129 + .../doc/index-files/index-2.html | 137 + .../doc/index-files/index-3.html | 131 + .../doc/index-files/index-4.html | 129 + .../doc/index-files/index-5.html | 133 + .../doc/index-files/index-6.html | 143 + .../doc/index-files/index-7.html | 129 + .../doc/index-files/index-8.html | 141 + .../doc/index-files/index-9.html | 134 + .../Assignment3A_TicTacToe/doc/index.html | 71 + .../doc/mainpackage/FieldState.html | 378 ++ .../doc/mainpackage/Main.html | 304 ++ .../doc/mainpackage/TicTacToeGame.html | 467 +++ .../doc/mainpackage/class-use/FieldState.html | 183 + .../doc/mainpackage/class-use/Main.html | 122 + .../mainpackage/class-use/TicTacToeGame.html | 122 + .../doc/mainpackage/package-frame.html | 25 + .../doc/mainpackage/package-summary.html | 165 + .../doc/mainpackage/package-tree.html | 144 + .../doc/mainpackage/package-use.html | 142 + .../doc/overview-tree.html | 148 + .../Assignment3A_TicTacToe/doc/package-list | 1 + .../Assignment3A_TicTacToe/doc/script.js | 30 + .../Assignment3A_TicTacToe/doc/stylesheet.css | 574 +++ .../src/edu/kit/informatik/FieldState.java | 33 + .../src/edu/kit/informatik/Main.java | 44 + .../src/edu/kit/informatik/TicTacToeGame.java | 209 + .../Assignment3B_Bank/.checkstyle | 7 + .../Assignment3B_Bank/.classpath | 6 + .../Programmieren/Assignment3B_Bank/.project | 17 + .../.settings/org.eclipse.jdt.core.prefs | 11 + .../Assignment3B_Bank/2016-03-19_12-17-51.zip | Bin 0 -> 8317 bytes .../Assignment3B_Bank/Assignment3B_Bank.iml | 12 + .../bin/edu/kit/informatik/Account.class | Bin 0 -> 1678 bytes .../bin/edu/kit/informatik/Bank.class | Bin 0 -> 3496 bytes .../bin/edu/kit/informatik/Main.class | Bin 0 -> 847 bytes .../src/edu/kit/informatik/Account.java | 112 + .../src/edu/kit/informatik/Bank.java | 235 ++ .../src/edu/kit/informatik/Main.java | 15 + .../Assignment3C_Routing/.checkstyle | 7 + .../Assignment3C_Routing/.classpath | 6 + .../Assignment3C_Routing/.project | 17 + .../Assignment3C_Routing/.project[Konflikt] | 17 + .../.settings/org.eclipse.jdt.core.prefs | 11 + .../2016-03-19_12-17-51.zip | Bin 0 -> 15208 bytes .../Assignment3C_Routing.iml | 12 + .../bin/edu/kit/informatik/Edge.class | Bin 0 -> 995 bytes .../bin/edu/kit/informatik/Graph.class | Bin 0 -> 3794 bytes .../bin/edu/kit/informatik/Main.class | Bin 0 -> 2225 bytes .../bin/edu/kit/informatik/Matrix.class | Bin 0 -> 3335 bytes .../bin/edu/kit/informatik/VectorInt.class | Bin 0 -> 885 bytes .../bin/edu/kit/informatik/Vertex.class | Bin 0 -> 799 bytes .../bin/edu/kit/informatik/input.txt | 7 + .../src/edu/kit/informatik/Edge.java | 57 + .../src/edu/kit/informatik/Graph.java | 189 + .../src/edu/kit/informatik/Main.java | 84 + .../src/edu/kit/informatik/Matrix.java | 204 + .../src/edu/kit/informatik/VectorInt.java | 59 + .../src/edu/kit/informatik/Vertex.java | 55 + .../src/edu/kit/informatik/input.txt | 7 + .../Assignment4A_LangtonAnt/.checkstyle | 7 + .../Assignment4A_LangtonAnt/.classpath | 6 + .../Assignment4A_LangtonAnt/.project | 17 + .../.settings/org.eclipse.jdt.core.prefs | 11 + .../2016-03-19_12-17-51.zip | Bin 0 -> 24728 bytes .../Assignment4A_LangtonAnt.iml | 12 + .../bin/edu/kit/informatik/Terminal.class | Bin 0 -> 1096 bytes .../FileNotCompalitbleException.class | Bin 0 -> 429 bytes .../exceptions/GameHasEndedException.class | Bin 0 -> 415 bytes .../InvalidParameterException.class | Bin 0 -> 427 bytes .../bin/edu/kit/informatik/langton/Ant.class | Bin 0 -> 1926 bytes .../edu/kit/informatik/langton/Board.class | Bin 0 -> 3029 bytes .../edu/kit/informatik/langton/Field.class | Bin 0 -> 1237 bytes .../informatik/langton/FileInputHelper.class | Bin 0 -> 1729 bytes .../kit/informatik/langton/LangtonGame.class | Bin 0 -> 3150 bytes .../bin/edu/kit/informatik/langton/Main.class | Bin 0 -> 1247 bytes .../kit/informatik/langton/Torusboard.class | Bin 0 -> 1235 bytes .../informatik/langton/UserInputManager.class | Bin 0 -> 3373 bytes .../bin/edu/kit/informatik/langton/input.txt | 3 + .../src/edu/kit/informatik/Terminal.java | 63 + .../FileNotCompalitbleException.java | 20 + .../exceptions/GameHasEndedException.java | 20 + .../exceptions/InvalidParameterException.java | 21 + .../src/edu/kit/informatik/langton/Ant.java | 152 + .../src/edu/kit/informatik/langton/Board.java | 146 + .../src/edu/kit/informatik/langton/Field.java | 28 + .../informatik/langton/FileInputHelper.java | 70 + .../kit/informatik/langton/LangtonGame.java | 99 + .../src/edu/kit/informatik/langton/Main.java | 35 + .../kit/informatik/langton/Torusboard.java | 46 + .../informatik/langton/UserInputManager.java | 115 + .../src/edu/kit/informatik/langton/input.txt | 3 + .../Assignment4B_Bank/.checkstyle | 7 + .../Assignment4B_Bank/.classpath | 6 + .../Programmieren/Assignment4B_Bank/.project | 17 + .../.settings/org.eclipse.jdt.core.prefs | 11 + .../Assignment4B_Bank/2016-03-19_12-17-51.zip | Bin 0 -> 10327 bytes .../Assignment4B_Bank/Assignment4B_Bank.iml | 12 + .../bin/edu/kit/informatik/Account.class | Bin 0 -> 2028 bytes .../bin/edu/kit/informatik/Bank.class | Bin 0 -> 2497 bytes .../bin/edu/kit/informatik/Container.class | Bin 0 -> 775 bytes .../bin/edu/kit/informatik/MinimaList.class | Bin 0 -> 3222 bytes .../src/edu/kit/informatik/Account.java | 124 + .../src/edu/kit/informatik/Bank.java | 135 + .../src/edu/kit/informatik/Container.java | 55 + .../src/edu/kit/informatik/MinimaList.java | 199 + .../Assignment5A_ConnectFour/.checkstyle | 7 + .../Assignment5A_ConnectFour/.classpath | 6 + .../Assignment5A_ConnectFour/.project | 17 + .../.settings/org.eclipse.jdt.core.prefs | 11 + .../2016-03-19_12-17-51.zip | Bin 0 -> 15031 bytes .../Assignment5A_ConnectFour.iml | 12 + .../edu/kit/informatik/ConnectFourBoard.class | Bin 0 -> 4407 bytes .../edu/kit/informatik/ConnectFourGame.class | Bin 0 -> 718 bytes .../bin/edu/kit/informatik/InputManager.class | Bin 0 -> 3222 bytes .../bin/edu/kit/informatik/Main.class | Bin 0 -> 534 bytes .../bin/edu/kit/informatik/Terminal.class | Bin 0 -> 1096 bytes .../IllegalMethodCallException.class | Bin 0 -> 436 bytes .../exceptions/UserInputException.class | Bin 0 -> 405 bytes .../edu/kit/informatik/ConnectFourBoard.java | 274 ++ .../edu/kit/informatik/ConnectFourGame.java | 29 + .../src/edu/kit/informatik/InputManager.java | 112 + .../src/edu/kit/informatik/Main.java | 25 + .../src/edu/kit/informatik/Terminal.java | 64 + .../IllegalMethodCallException.java | 21 + .../exceptions/UserInputException.java | 21 + .../Assignment5B_Bank/.checkstyle | 7 + .../Assignment5B_Bank/.classpath | 6 + .../Programmieren/Assignment5B_Bank/.project | 17 + .../.settings/org.eclipse.jdt.core.prefs | 11 + .../Assignment5B_Bank/2016-03-19_12-17-51.zip | Bin 0 -> 24620 bytes .../Assignment5B_Bank/Assignment5B_Bank.iml | 12 + .../bin/edu/kit/informatik/Account.class | Bin 0 -> 1690 bytes .../edu/kit/informatik/AccountHolder.class | Bin 0 -> 788 bytes .../bin/edu/kit/informatik/Bank.class | Bin 0 -> 5144 bytes .../bin/edu/kit/informatik/BankRegistry.class | Bin 0 -> 9321 bytes .../bin/edu/kit/informatik/Main.class | Bin 0 -> 536 bytes .../bin/edu/kit/informatik/Terminal.class | Bin 0 -> 1096 bytes .../exceptions/InvalidCommandException.class | Bin 0 -> 421 bytes .../edu/kit/informatik/list/Container.class | Bin 0 -> 1144 bytes .../edu/kit/informatik/list/MinimaList.class | Bin 0 -> 3927 bytes .../bin/edu/kit/informatik/list/Pair.class | Bin 0 -> 914 bytes .../src/edu/kit/informatik/Account.java | 108 + .../src/edu/kit/informatik/AccountHolder.java | 62 + .../src/edu/kit/informatik/Bank.java | 246 ++ .../src/edu/kit/informatik/BankRegistry.java | 335 ++ .../src/edu/kit/informatik/Main.java | 22 + .../src/edu/kit/informatik/Terminal.java | 67 + .../exceptions/InvalidCommandException.java | 20 + .../edu/kit/informatik/list/Container.java | 58 + .../edu/kit/informatik/list/MinimaList.java | 224 + .../src/edu/kit/informatik/list/Pair.java | 50 + .../.checkstyle | 7 + .../.classpath | 6 + .../Assignment6A_EulerApproximation/.project | 17 + .../.settings/org.eclipse.jdt.core.prefs | 11 + .../2016-03-19_12-17-51.zip | Bin 0 -> 11358 bytes .../Assignment6A_EulerApproximation.iml | 12 + .../bin/edu/kit/informatik/Command.class | Bin 0 -> 1732 bytes .../kit/informatik/CommandLineParser.class | Bin 0 -> 3115 bytes .../kit/informatik/Eulerapproximator.class | Bin 0 -> 1089 bytes .../informatik/IllegalNumberException.class | Bin 0 -> 477 bytes .../bin/edu/kit/informatik/Main.class | Bin 0 -> 541 bytes .../bin/edu/kit/informatik/Terminal.class | Bin 0 -> 1096 bytes .../src/edu/kit/informatik/Command.java | 72 + .../edu/kit/informatik/CommandLineParser.java | 80 + .../edu/kit/informatik/Eulerapproximator.java | 47 + .../informatik/IllegalNumberException.java | 27 + .../src/edu/kit/informatik/Main.java | 28 + .../src/edu/kit/informatik/Terminal.java | 67 + .../Assignment6B_Bank/.checkstyle | 7 + .../Assignment6B_Bank/.classpath | 7 + .../Programmieren/Assignment6B_Bank/.project | 17 + .../.settings/org.eclipse.jdt.core.prefs | 11 + .../Assignment6B_Bank/2016-03-19_12-17-51.zip | Bin 0 -> 25877 bytes .../Assignment6B_Bank/Assignment6B_Bank.iml | 21 + .../bin/edu/kit/informatik/Account.class | Bin 0 -> 1316 bytes .../edu/kit/informatik/AccountHolder.class | Bin 0 -> 788 bytes .../bin/edu/kit/informatik/Bank.class | Bin 0 -> 4211 bytes .../bin/edu/kit/informatik/BankRegistry.class | Bin 0 -> 3344 bytes .../bin/edu/kit/informatik/Main.class | Bin 0 -> 565 bytes .../bin/edu/kit/informatik/Pair.class | Bin 0 -> 899 bytes .../bin/edu/kit/informatik/Terminal.class | Bin 0 -> 1096 bytes .../kit/informatik/commandline/Command.class | Bin 0 -> 2547 bytes .../commandline/CommandLineParser.class | Bin 0 -> 7782 bytes .../AccountDoesNotExistException.class | Bin 0 -> 376 bytes .../AccountHolderDoesNotExistException.class | Bin 0 -> 394 bytes .../BankDoesNotExistException.class | Bin 0 -> 367 bytes .../src/edu/kit/informatik/Account.java | 95 + .../src/edu/kit/informatik/AccountHolder.java | 56 + .../src/edu/kit/informatik/Bank.java | 221 + .../src/edu/kit/informatik/BankRegistry.java | 233 ++ .../src/edu/kit/informatik/Main.java | 29 + .../src/edu/kit/informatik/Pair.java | 50 + .../src/edu/kit/informatik/Terminal.java | 68 + .../kit/informatik/commandline/Command.java | 87 + .../commandline/CommandLineParser.java | 289 ++ .../AccountDoesNotExistException.java | 17 + .../AccountHolderDoesNotExistException.java | 17 + .../exceptions/BankDoesNotExistException.java | 17 + .../Assignment6C_HtmlParser/.checkstyle | 7 + .../Assignment6C_HtmlParser/.classpath | 6 + .../Assignment6C_HtmlParser/.project | 17 + .../.settings/org.eclipse.jdt.core.prefs | 11 + .../2016-03-19_12-17-51.zip | Bin 0 -> 16725 bytes .../Assignment6C_HtmlParser.iml | 12 + .../bin/edu/kit/informatik/Command.class | Bin 0 -> 1804 bytes .../kit/informatik/CommandLineParser.class | Bin 0 -> 3526 bytes .../edu/kit/informatik/FileInputHelper.class | Bin 0 -> 1689 bytes .../bin/edu/kit/informatik/Main.class | Bin 0 -> 856 bytes .../bin/edu/kit/informatik/Pair.class | Bin 0 -> 899 bytes .../bin/edu/kit/informatik/Tag.class | Bin 0 -> 3736 bytes .../bin/edu/kit/informatik/Terminal.class | Bin 0 -> 1096 bytes .../bin/edu/kit/informatik/html.txt | 11 + .../src/edu/kit/informatik/Command.java | 75 + .../edu/kit/informatik/CommandLineParser.java | 101 + .../edu/kit/informatik/FileInputHelper.java | 67 + .../src/edu/kit/informatik/Main.java | 32 + .../src/edu/kit/informatik/Pair.java | 50 + .../src/edu/kit/informatik/Tag.java | 115 + .../src/edu/kit/informatik/Terminal.java | 63 + .../src/edu/kit/informatik/html.txt | 11 + .../WS1516/Programmieren/Final01/.checkstyle | 7 + .../WS1516/Programmieren/Final01/.classpath | 9 + .../WS1516/Programmieren/Final01/.project | 17 + .../.settings/org.eclipse.jdt.core.prefs | 11 + .../Final01/2016-03-19_12-17-51.zip | Bin 0 -> 101656 bytes .../WS1516/Programmieren/Final01/Final01.iml | 23 + .../Programmieren/Final01/TestSuite.config | 4 + .../Programmieren/Final01/bin/README.txt | 35 + .../WS1516/Programmieren/Final01/bin/docs.log | 3602 +++++++++++++++++ .../WS1516/Programmieren/Final01/bin/docs.tex | 96 + .../bin/edu/kit/informatik/Constant.class | Bin 0 -> 2079 bytes .../edu/kit/informatik/ExitException.class | Bin 0 -> 420 bytes .../edu/kit/informatik/FileInputHelper.class | Bin 0 -> 1689 bytes .../Final01/bin/edu/kit/informatik/Main.class | Bin 0 -> 1167 bytes .../bin/edu/kit/informatik/MainTest.class | Bin 0 -> 2434 bytes .../informatik/NoExitSecurityManager.class | Bin 0 -> 824 bytes .../bin/edu/kit/informatik/Terminal.class | Bin 0 -> 1030 bytes .../exception/IllegalObjectException.class | Bin 0 -> 416 bytes .../InvalidFileFormatException.class | Bin 0 -> 509 bytes .../bin/edu/kit/informatik/graph/Edge.class | Bin 0 -> 2744 bytes .../bin/edu/kit/informatik/graph/Graph.class | Bin 0 -> 6157 bytes .../bin/edu/kit/informatik/graph/Vertex.class | Bin 0 -> 2156 bytes .../graph/fileinput/GraphBuilder.class | Bin 0 -> 5379 bytes .../graph/pathfinding/GraphPathFinder.class | Bin 0 -> 6892 bytes .../graph/pathfinding/PathVertex.class | Bin 0 -> 3793 bytes .../pathfinding/PathVertexComparator.class | Bin 0 -> 996 bytes .../PathVertexDistanceComparator.class | Bin 0 -> 1442 bytes .../PathVertexTimeComparator.class | Bin 0 -> 1422 bytes .../informatik/terminalinput/Command.class | Bin 0 -> 1754 bytes .../terminalinput/InfoCommand.class | Bin 0 -> 797 bytes .../terminalinput/InputManager.class | Bin 0 -> 3110 bytes .../terminalinput/InsertCommand.class | Bin 0 -> 2704 bytes .../terminalinput/NodesCommand.class | Bin 0 -> 1615 bytes .../terminalinput/QuitCommand.class | Bin 0 -> 746 bytes .../terminalinput/RemoveCommand.class | Bin 0 -> 1668 bytes .../terminalinput/RouteCommand.class | Bin 0 -> 4127 bytes .../terminalinput/SearchCommand.class | Bin 0 -> 3039 bytes .../terminalinput/VerticesCommand.class | Bin 0 -> 932 bytes .../bin/edu/kit/informatik/tests/test.graph | 10 + .../testsuite/ExpectionInputStream.class | Bin 0 -> 2994 bytes .../testsuite/ExpectionOutputStream.class | Bin 0 -> 4228 bytes .../tests/testsuite/TestSuite.class | Bin 0 -> 11942 bytes .../Final01/bin/graphs/duplicateEdge.txt | 7 + .../Final01/bin/graphs/duplicateVertex.txt | 11 + .../Final01/bin/graphs/edgeWithoutVertex.txt | 5 + .../Final01/bin/graphs/emptyFile.txt | 0 .../Final01/bin/graphs/negativeNumber.txt | 4 + .../Final01/bin/graphs/noDivider.txt | 9 + .../Final01/bin/graphs/noFirstPart.txt | 6 + .../Final01/bin/graphs/noSecondPart.txt | 5 + .../Final01/bin/graphs/notContinous.txt | 6 + .../Final01/bin/graphs/numberOverflow.txt | 10 + .../Final01/bin/graphs/numberZero.txt | 5 + .../Programmieren/Final01/bin/inputFile.txt | 15 + .../Programmieren/Final01/bin/insert.test | 20 + .../Final01/bin/logs/insertTest.log | 0 .../Final01/bin/logs/nodesInsertTest.log | 10 + .../Final01/bin/logs/nodesRemoveTest.log | 6 + .../Final01/bin/logs/nodesTest.log | 18 + .../Final01/bin/logs/publicTestTest.log | 8 + .../Final01/bin/logs/removeTest.log | 10 + .../Final01/bin/logs/removeTillEmptyTest.log | 6 + .../bin/logs/removeTillNotCoherentTest.log | 7 + .../Final01/bin/logs/routeTest.log | 97 + .../Final01/bin/logs/searchTest.log | 55 + .../Final01/bin/logs/test1Test.log | 1 + .../Final01/bin/logs/test2Test.log | 1 + .../Final01/bin/logs/treeGraphTest.log | 68 + .../Final01/bin/logs/verticesTest.log | 12 + .../Programmieren/Final01/bin/nodes.test | 22 + .../Final01/bin/nodesInsert.test | 11 + .../Final01/bin/nodesRemove.test | 7 + .../Programmieren/Final01/bin/publicTest.test | 9 + .../Programmieren/Final01/bin/remove.test | 16 + .../Final01/bin/removeTillEmpty.test | 9 + .../Final01/bin/removeTillNotCoherent.test | 8 + .../Programmieren/Final01/bin/route.test | 120 + .../Programmieren/Final01/bin/search.test | 78 + .../Programmieren/Final01/bin/test.graph | 10 + .../Programmieren/Final01/bin/texdoclet.jar | Bin 0 -> 22053 bytes .../Programmieren/Final01/bin/treeGraph.graph | 14 + .../Programmieren/Final01/bin/treeGraph.test | 80 + .../Programmieren/Final01/bin/vertices.test | 21 + .../edu/kit/informatik/ExitException.java | 24 + .../junit/edu/kit/informatik/MainTest.java | 125 + .../kit/informatik/NoExitSecurityManager.java | 33 + .../Final01/junit/graphs/duplicateEdge.txt | 7 + .../Final01/junit/graphs/duplicateVertex.txt | 11 + .../junit/graphs/edgeWithoutVertex.txt | 5 + .../Final01/junit/graphs/emptyFile.txt | 0 .../Final01/junit/graphs/negativeNumber.txt | 4 + .../Final01/junit/graphs/noDivider.txt | 9 + .../Final01/junit/graphs/noFirstPart.txt | 6 + .../Final01/junit/graphs/noSecondPart.txt | 5 + .../Final01/junit/graphs/notContinous.txt | 6 + .../Final01/junit/graphs/numberOverflow.txt | 10 + .../Final01/junit/graphs/numberZero.txt | 5 + .../WS1516/Programmieren/Final01/src/docs.log | 3602 +++++++++++++++++ .../WS1516/Programmieren/Final01/src/docs.tex | 96 + .../src/edu/kit/informatik/Constant.java | 127 + .../edu/kit/informatik/FileInputHelper.java | 68 + .../Final01/src/edu/kit/informatik/Main.java | 39 + .../src/edu/kit/informatik/Terminal.java | 70 + .../exception/IllegalObjectException.java | 19 + .../exception/InvalidFileFormatException.java | 28 + .../src/edu/kit/informatik/graph/Edge.java | 159 + .../src/edu/kit/informatik/graph/Graph.java | 251 ++ .../src/edu/kit/informatik/graph/Vertex.java | 79 + .../graph/fileinput/GraphBuilder.java | 163 + .../graph/pathfinding/GraphPathFinder.java | 217 + .../graph/pathfinding/PathVertex.java | 169 + .../pathfinding/PathVertexComparator.java | 46 + .../PathVertexDistanceComparator.java | 55 + .../pathfinding/PathVertexTimeComparator.java | 55 + .../kit/informatik/terminalinput/Command.java | 137 + .../informatik/terminalinput/InfoCommand.java | 32 + .../terminalinput/InputManager.java | 102 + .../terminalinput/InsertCommand.java | 80 + .../terminalinput/NodesCommand.java | 39 + .../informatik/terminalinput/QuitCommand.java | 32 + .../terminalinput/RemoveCommand.java | 48 + .../terminalinput/RouteCommand.java | 96 + .../terminalinput/SearchCommand.java | 78 + .../terminalinput/VerticesCommand.java | 26 + .../src/edu/kit/informatik/tests/test.graph | 10 + .../tests/testsuite/ExpectionInputStream.java | 101 + .../testsuite/ExpectionOutputStream.java | 154 + .../informatik/tests/testsuite/TestSuite.java | 320 ++ .../Programmieren/Final01/src/inputFile.txt | 15 + .../Programmieren/Final01/src/texdoclet.jar | Bin 0 -> 22053 bytes .../Programmieren/Final01/tests/README.txt | 35 + .../Programmieren/Final01/tests/insert.test | 20 + .../Final01/tests/logs/insertTest.log | 0 .../Final01/tests/logs/nodesInsertTest.log | 10 + .../Final01/tests/logs/nodesRemoveTest.log | 6 + .../Final01/tests/logs/nodesTest.log | 18 + .../Final01/tests/logs/publicTestTest.log | 8 + .../Final01/tests/logs/removeTest.log | 10 + .../tests/logs/removeTillEmptyTest.log | 6 + .../tests/logs/removeTillNotCoherentTest.log | 7 + .../Final01/tests/logs/routeTest.log | 97 + .../Final01/tests/logs/searchTest.log | 55 + .../Final01/tests/logs/test1Test.log | 1 + .../Final01/tests/logs/test2Test.log | 1 + .../Final01/tests/logs/treeGraphTest.log | 68 + .../Final01/tests/logs/verticesTest.log | 12 + .../Programmieren/Final01/tests/nodes.test | 22 + .../Final01/tests/nodesInsert.test | 11 + .../Final01/tests/nodesRemove.test | 7 + .../Final01/tests/publicTest.test | 9 + .../Programmieren/Final01/tests/remove.test | 16 + .../Final01/tests/removeTillEmpty.test | 9 + .../Final01/tests/removeTillNotCoherent.test | 8 + .../Programmieren/Final01/tests/route.test | 120 + .../Programmieren/Final01/tests/search.test | 78 + .../Programmieren/Final01/tests/test.graph | 10 + .../Final01/tests/treeGraph.graph | 14 + .../Final01/tests/treeGraph.test | 80 + .../Programmieren/Final01/tests/vertices.test | 21 + .../WS1516/Programmieren/Final02/.checkstyle | 7 + .../WS1516/Programmieren/Final02/.classpath | 9 + .../WS1516/Programmieren/Final02/.idea/.name | 1 + .../Final02/.idea/checkstyle-idea.xml | 10 + .../Programmieren/Final02/.idea/compiler.xml | 22 + .../.idea/copyright/profiles_settings.xml | 3 + .../Programmieren/Final02/.idea/encodings.xml | 6 + .../Programmieren/Final02/.idea/misc.xml | 33 + .../Programmieren/Final02/.idea/modules.xml | 8 + .../Final02/.idea/uiDesigner.xml | 124 + .../Programmieren/Final02/.idea/workspace.xml | 961 +++++ .../WS1516/Programmieren/Final02/.project | 23 + .../.settings/org.eclipse.jdt.core.prefs | 11 + .../WS1516/Programmieren/Final02/Final02.iml | 25 + .../Programmieren/Final02/bin/README.md | 1 + .../WS1516/Programmieren/Final02/bin/bag.test | 92 + .../Final02/bin/draw_colprint_rowprint.test | 58 + .../bin/edu/kit/informatik/Constant.class | Bin 0 -> 1194 bytes .../edu/kit/informatik/ExitException.class | Bin 0 -> 420 bytes .../edu/kit/informatik/FileInputHelper.class | Bin 0 -> 1708 bytes .../Final02/bin/edu/kit/informatik/Main.class | Bin 0 -> 1205 bytes .../bin/edu/kit/informatik/MainTest.class | Bin 0 -> 2517 bytes .../informatik/NoExitSecurityManager.class | Bin 0 -> 824 bytes .../bin/edu/kit/informatik/Terminal.class | Bin 0 -> 1033 bytes .../IllegalMethodCallException.class | Bin 0 -> 428 bytes .../exception/IllegalObjectException.class | Bin 0 -> 416 bytes .../exception/IllegalParameterException.class | Bin 0 -> 425 bytes .../InvalidFileFormatException.class | Bin 0 -> 509 bytes .../edu/kit/informatik/game/BoardGame.class | Bin 0 -> 7486 bytes .../edu/kit/informatik/game/EmptyToken.class | Bin 0 -> 407 bytes .../bin/edu/kit/informatik/game/Token.class | Bin 0 -> 1761 bytes .../kit/informatik/game/TokenCounter.class | Bin 0 -> 2110 bytes .../kit/informatik/game/TorusBoardGame.class | Bin 0 -> 551 bytes .../bin/edu/kit/informatik/graph/Edge.class | Bin 0 -> 2669 bytes .../bin/edu/kit/informatik/graph/Graph.class | Bin 0 -> 5999 bytes .../bin/edu/kit/informatik/graph/Vertex.class | Bin 0 -> 2168 bytes .../graph/fileinput (1)/GraphBuilder.class | Bin 0 -> 5215 bytes .../graph/pathfinding/GraphPathFinder.class | Bin 0 -> 6645 bytes .../graph/pathfinding/PathVertex.class | Bin 0 -> 3671 bytes .../pathfinding/PathVertexComparator.class | Bin 0 -> 1006 bytes .../PathVertexDistanceComparator.class | Bin 0 -> 1563 bytes .../PathVertexTimeComparator.class | Bin 0 -> 1543 bytes .../informatik/terminalinput/BagCommand.class | Bin 0 -> 952 bytes .../terminalinput/ColprintCommand.class | Bin 0 -> 1598 bytes .../informatik/terminalinput/Command.class | Bin 0 -> 1844 bytes .../terminalinput/InfoCommand.class | Bin 0 -> 797 bytes .../terminalinput/InputManager.class | Bin 0 -> 2839 bytes .../terminalinput/InsertCommand.class | Bin 0 -> 2766 bytes .../terminalinput/NodesCommand.class | Bin 0 -> 1667 bytes .../terminalinput/PlaceCommand.class | Bin 0 -> 2643 bytes .../terminalinput/QuitCommand.class | Bin 0 -> 913 bytes .../terminalinput/RemoveCommand.class | Bin 0 -> 1704 bytes .../terminalinput/RouteCommand.class | Bin 0 -> 4024 bytes .../terminalinput/RowprintCommand.class | Bin 0 -> 1592 bytes .../terminalinput/SearchCommand.class | Bin 0 -> 3130 bytes .../terminalinput/SelectCommand.class | Bin 0 -> 1730 bytes .../terminalinput/VerticesCommand.class | Bin 0 -> 965 bytes .../bin/edu/kit/informatik/tests/test.graph | 10 + .../testsuite/ExpectionInputStream.class | Bin 0 -> 2982 bytes .../testsuite/ExpectionOutputStream.class | Bin 0 -> 4289 bytes .../tests/testsuite/TestSuite.class | Bin 0 -> 11838 bytes .../Final02/bin/extreme_error_test.test | 87 + .../Final02/bin/graphs/duplicateEdge.txt | 7 + .../Final02/bin/graphs/duplicateVertex.txt | 11 + .../Final02/bin/graphs/edgeWithoutVertex.txt | 5 + .../Final02/bin/graphs/emptyFile.txt | 0 .../Final02/bin/graphs/negativeNumber.txt | 4 + .../Final02/bin/graphs/noDivider.txt | 9 + .../Final02/bin/graphs/noFirstPart.txt | 6 + .../Final02/bin/graphs/noSecondPart.txt | 5 + .../Final02/bin/graphs/notContinous.txt | 6 + .../Final02/bin/graphs/numberOverflow.txt | 10 + .../Final02/bin/graphs/numberZero.txt | 5 + .../Programmieren/Final02/bin/inputFile.txt | 15 + .../Final02/bin/logs/bagTest.log | 53 + .../Final02/bin/logs/drawTest.log | 46 + .../bin/logs/draw_colprint_rowprintTest.log | 51 + .../Final02/bin/logs/insertTest.log | 14 + .../Final02/bin/logs/nodesInsertTest.log | 10 + .../Final02/bin/logs/nodesRemoveTest.log | 6 + .../Final02/bin/logs/nodesTest.log | 18 + .../Final02/bin/logs/place_standardTest.log | 7 + .../Final02/bin/logs/place_torusTest.log | 10 + .../Final02/bin/logs/publicTestTest.log | 10 + .../Final02/bin/logs/removeTest.log | 10 + .../Final02/bin/logs/removeTillEmptyTest.log | 6 + .../bin/logs/removeTillNotCoherentTest.log | 7 + .../Final02/bin/logs/routeTest.log | 97 + .../Final02/bin/logs/searchTest.log | 55 + .../Final02/bin/logs/selectTest.log | 6 + .../Final02/bin/logs/select_negativeTest.log | 1 + .../Final02/bin/logs/select_toBigTest.log | 1 + .../bin/logs/standard_black (1)Test.log | 9 + .../bin/logs/standard_black (10)Test.log | 9 + .../bin/logs/standard_black (11)Test.log | 9 + .../bin/logs/standard_black (12)Test.log | 9 + .../bin/logs/standard_black (13)Test.log | 9 + .../bin/logs/standard_black (14)Test.log | 9 + .../bin/logs/standard_black (15)Test.log | 9 + .../bin/logs/standard_black (16)Test.log | 9 + .../bin/logs/standard_black (2)Test.log | 9 + .../bin/logs/standard_black (3)Test.log | 9 + .../bin/logs/standard_black (4)Test.log | 9 + .../bin/logs/standard_black (5)Test.log | 9 + .../bin/logs/standard_black (6)Test.log | 9 + .../bin/logs/standard_black (7)Test.log | 9 + .../bin/logs/standard_black (8)Test.log | 9 + .../bin/logs/standard_black (9)Test.log | 9 + .../bin/logs/standard_edgy (1)Test.log | 9 + .../bin/logs/standard_edgy (10)Test.log | 9 + .../bin/logs/standard_edgy (11)Test.log | 9 + .../bin/logs/standard_edgy (12)Test.log | 9 + .../bin/logs/standard_edgy (13)Test.log | 9 + .../bin/logs/standard_edgy (14)Test.log | 9 + .../bin/logs/standard_edgy (15)Test.log | 9 + .../bin/logs/standard_edgy (16)Test.log | 9 + .../bin/logs/standard_edgy (2)Test.log | 9 + .../bin/logs/standard_edgy (3)Test.log | 9 + .../bin/logs/standard_edgy (4)Test.log | 9 + .../bin/logs/standard_edgy (5)Test.log | 9 + .../bin/logs/standard_edgy (6)Test.log | 9 + .../bin/logs/standard_edgy (7)Test.log | 9 + .../bin/logs/standard_edgy (8)Test.log | 9 + .../bin/logs/standard_edgy (9)Test.log | 9 + .../Final02/bin/logs/standard_edgyTest.log | 9 + .../Final02/bin/logs/standard_hollowTest.log | 9 + .../Final02/bin/logs/standard_largeTest.log | 9 + .../Final02/bin/logs/standard_massiveTest.log | 9 + .../bin/logs/standard_round (1)Test.log | 9 + .../bin/logs/standard_round (10)Test.log | 9 + .../bin/logs/standard_round (11)Test.log | 9 + .../bin/logs/standard_round (12)Test.log | 9 + .../bin/logs/standard_round (13)Test.log | 9 + .../bin/logs/standard_round (14)Test.log | 9 + .../bin/logs/standard_round (15)Test.log | 9 + .../bin/logs/standard_round (16)Test.log | 9 + .../bin/logs/standard_round (2)Test.log | 9 + .../bin/logs/standard_round (3)Test.log | 9 + .../bin/logs/standard_round (4)Test.log | 9 + .../bin/logs/standard_round (5)Test.log | 9 + .../bin/logs/standard_round (6)Test.log | 9 + .../bin/logs/standard_round (7)Test.log | 9 + .../bin/logs/standard_round (8)Test.log | 9 + .../bin/logs/standard_round (9)Test.log | 9 + .../Final02/bin/logs/standard_roundTest.log | 9 + .../Final02/bin/logs/standard_smallTest.log | 9 + .../bin/logs/standard_white (1)Test.log | 9 + .../bin/logs/standard_white (10)Test.log | 9 + .../bin/logs/standard_white (11)Test.log | 9 + .../bin/logs/standard_white (12)Test.log | 9 + .../bin/logs/standard_white (13)Test.log | 9 + .../bin/logs/standard_white (14)Test.log | 9 + .../bin/logs/standard_white (15)Test.log | 9 + .../bin/logs/standard_white (16)Test.log | 9 + .../bin/logs/standard_white (2)Test.log | 9 + .../bin/logs/standard_white (3)Test.log | 9 + .../bin/logs/standard_white (4)Test.log | 9 + .../bin/logs/standard_white (5)Test.log | 9 + .../bin/logs/standard_white (6)Test.log | 9 + .../bin/logs/standard_white (7)Test.log | 9 + .../bin/logs/standard_white (8)Test.log | 9 + .../bin/logs/standard_white (9)Test.log | 9 + .../Final02/bin/logs/standard_whiteTest.log | 9 + .../Final02/bin/logs/test1Test.log | 1 + .../Final02/bin/logs/test2Test.log | 1 + .../Final02/bin/logs/torus_horizontalTest.log | 9 + .../Final02/bin/logs/torus_topLeftTest.log | 9 + .../Final02/bin/logs/torus_topRightTest.log | 9 + .../Final02/bin/logs/torus_verticalTest.log | 9 + .../Final02/bin/logs/treeGraphTest.log | 68 + .../Final02/bin/logs/turncount_10Test.log | 23 + .../Final02/bin/logs/turncount_11Test.log | 25 + .../Final02/bin/logs/turncount_12Test.log | 27 + .../Final02/bin/logs/turncount_13Test.log | 29 + .../Final02/bin/logs/turncount_14Test.log | 31 + .../Final02/bin/logs/turncount_15Test.log | 33 + .../Final02/bin/logs/turncount_3Test.log | 11 + .../Final02/bin/logs/turncount_4Test.log | 11 + .../Final02/bin/logs/turncount_5Test.log | 13 + .../Final02/bin/logs/turncount_6Test.log | 15 + .../Final02/bin/logs/turncount_7Test.log | 17 + .../Final02/bin/logs/turncount_8Test.log | 19 + .../Final02/bin/logs/turncount_9Test.log | 21 + .../Final02/bin/logs/turncount_errorTest.log | 19 + .../Final02/bin/logs/verticesTest.log | 12 + .../Programmieren/Final02/bin/nodes.test | 22 + .../Final02/bin/nodesInsert.test | 11 + .../Final02/bin/nodesRemove.test | 7 + .../Final02/bin/place_standard.test | 8 + .../Final02/bin/place_torus.test | 11 + .../Programmieren/Final02/bin/publicTest.test | 15 + .../Programmieren/Final02/bin/remove.test | 16 + .../Final02/bin/removeTillEmpty.test | 9 + .../Final02/bin/removeTillNotCoherent.test | 8 + .../Programmieren/Final02/bin/route.test | 120 + .../Final02/bin/samsTorusTest1.test | 19 + .../Final02/bin/samsTorusTest2.test | 13 + .../Final02/bin/samsTorusTest3.test | 19 + .../Final02/bin/samsTorusTest4.test | 19 + .../Programmieren/Final02/bin/search.test | 78 + .../Programmieren/Final02/bin/select.test | 7 + .../Final02/bin/select_negative.test | 2 + .../Final02/bin/select_toBig.test | 2 + .../Final02/bin/standard_black (1).test | 10 + .../Final02/bin/standard_black (10).test | 10 + .../Final02/bin/standard_black (11).test | 10 + .../Final02/bin/standard_black (12).test | 10 + .../Final02/bin/standard_black (13).test | 10 + .../Final02/bin/standard_black (14).test | 10 + .../Final02/bin/standard_black (15).test | 10 + .../Final02/bin/standard_black (16).test | 10 + .../Final02/bin/standard_black (2).test | 10 + .../Final02/bin/standard_black (3).test | 10 + .../Final02/bin/standard_black (4).test | 10 + .../Final02/bin/standard_black (5).test | 10 + .../Final02/bin/standard_black (6).test | 10 + .../Final02/bin/standard_black (7).test | 10 + .../Final02/bin/standard_black (8).test | 10 + .../Final02/bin/standard_black (9).test | 10 + .../Final02/bin/standard_edgy.test | 10 + .../Final02/bin/standard_hollow.test | 10 + .../Final02/bin/standard_large.test | 10 + .../Final02/bin/standard_massive.test | 10 + .../Final02/bin/standard_round.test | 10 + .../Final02/bin/standard_small.test | 10 + .../Final02/bin/standard_white.test | 10 + .../Programmieren/Final02/bin/test.graph | 10 + .../Programmieren/Final02/bin/testsuite.zip | Bin 0 -> 6816 bytes .../Final02/bin/torus_horizontal.test | 10 + .../Final02/bin/torus_topLeft.test | 10 + .../Final02/bin/torus_topRight.test | 10 + .../Final02/bin/torus_vertical.test | 10 + .../Programmieren/Final02/bin/treeGraph.graph | 14 + .../Programmieren/Final02/bin/treeGraph.test | 80 + .../Final02/bin/turncount_10.test | 30 + .../Final02/bin/turncount_11.test | 33 + .../Final02/bin/turncount_12.test | 34 + .../Final02/bin/turncount_13.test | 36 + .../Final02/bin/turncount_14.test | 39 + .../Final02/bin/turncount_15.test | 42 + .../Final02/bin/turncount_4.test | 14 + .../Final02/bin/turncount_5.test | 17 + .../Final02/bin/turncount_6.test | 20 + .../Final02/bin/turncount_7.test | 22 + .../Final02/bin/turncount_8.test | 25 + .../Final02/bin/turncount_9.test | 27 + .../Final02/bin/turncount_error.test | 25 + .../Programmieren/Final02/bin/vertices.test | 21 + .../src/edu/kit/informatik/Constant.java | 58 + .../Final02/src/edu/kit/informatik/Main.java | 38 + .../src/edu/kit/informatik/Terminal.java | 70 + .../exception/IllegalMethodCallException.java | 18 + .../exception/IllegalParameterException.java | 18 + .../edu/kit/informatik/game/BoardGame.java | 356 ++ .../edu/kit/informatik/game/EmptyToken.java | 21 + .../src/edu/kit/informatik/game/Token.java | 135 + .../edu/kit/informatik/game/TokenCounter.java | 131 + .../kit/informatik/game/TorusBoardGame.java | 25 + .../informatik/terminalinput/BagCommand.java | 37 + .../terminalinput/ColprintCommand.java | 43 + .../kit/informatik/terminalinput/Command.java | 146 + .../terminalinput/InputManager.java | 98 + .../terminalinput/PlaceCommand.java | 80 + .../informatik/terminalinput/QuitCommand.java | 42 + .../terminalinput/RowprintCommand.java | 43 + .../terminalinput/SelectCommand.java | 49 + .../tests/testsuite/ExpectionInputStream.java | 101 + .../testsuite/ExpectionOutputStream.java | 147 + .../informatik/tests/testsuite/TestSuite.java | 313 ++ Uni/Java/WS1516/Programmieren/Final02/tests | 1 + 1391 files changed, 109456 insertions(+) create mode 100644 C#_Mono/PlanetSimulation/.vs/PlanetSimulation/v14/.suo create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation.sln create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/Camera2D.cs create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/Game1.cs create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/Icon.png create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/Planet.cs create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/PlanetManager.cs create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/PlanetSimulation.csproj create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/Primitives2D.cs create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/Program.cs create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/Properties/AssemblyInfo.cs create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/Lidgren.Network.dll create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/MonoGame.Framework.dll create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/OpenTK.dll create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/OpenTK.dll.config create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/PlanetSimulation.exe create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/PlanetSimulation.exe.mdb create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/Tao.Sdl.dll create mode 100644 C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/Tao.Sdl.dll.config create mode 100644 C#_Mono/UI/.vs/UI/v14/.suo create mode 100644 C#_Mono/UI/UI.sln create mode 100644 C#_Mono/UI/UI.userprefs create mode 100644 C#_Mono/UI/UI/DemoToolBox.cs create mode 100644 C#_Mono/UI/UI/Game1.cs create mode 100644 C#_Mono/UI/UI/Icon.png create mode 100644 C#_Mono/UI/UI/Program.cs create mode 100644 C#_Mono/UI/UI/Properties/AssemblyInfo.cs create mode 100644 C#_Mono/UI/UI/UI.csproj create mode 100644 C#_Mono/UI/UI/UI/Button.cs create mode 100644 C#_Mono/UI/UI/UI/MouseManager.cs create mode 100644 C#_Mono/UI/UI/UI/SolidColorTexture.cs create mode 100644 C#_Mono/UI/UI/UI/ToolWindow.cs create mode 100644 C#_Mono/UI/UI/UI/UICamera.cs create mode 100644 C#_Mono/UI/UI/UI/UIElement.cs create mode 100644 C#_Mono/UI/UI/bin/Debug/Lidgren.Network.dll create mode 100644 C#_Mono/UI/UI/bin/Debug/MonoGame.Framework.dll create mode 100644 C#_Mono/UI/UI/bin/Debug/OpenTK.dll create mode 100644 C#_Mono/UI/UI/bin/Debug/OpenTK.dll.config create mode 100644 C#_Mono/UI/UI/bin/Debug/Tao.Sdl.dll create mode 100644 C#_Mono/UI/UI/bin/Debug/Tao.Sdl.dll.config create mode 100644 C#_Mono/UI/UI/bin/Debug/UI.exe create mode 100644 C#_Mono/UI/UI/bin/Debug/UI.exe.mdb create mode 100644 C#_Mono/UI/UpgradeLog.htm create mode 100644 Java/20x20 (printf)/.idea/.name create mode 100644 Java/20x20 (printf)/.idea/checkstyle-idea.xml create mode 100644 Java/20x20 (printf)/.idea/compiler.xml create mode 100644 Java/20x20 (printf)/.idea/copyright/profiles_settings.xml create mode 100644 Java/20x20 (printf)/.idea/encodings.xml create mode 100644 Java/20x20 (printf)/.idea/misc.xml create mode 100644 Java/20x20 (printf)/.idea/modules.xml create mode 100644 Java/20x20 (printf)/.idea/workspace.xml create mode 100644 Java/20x20 (printf)/20x20 (printf).iml create mode 100644 Java/20x20 (printf)/build.xml create mode 100644 Java/20x20 (printf)/build/classes/.netbeans_automatic_build create mode 100644 Java/20x20 (printf)/build/classes/.netbeans_update_resources create mode 100644 Java/20x20 (printf)/build/classes/pkg20x20/Main.class create mode 100644 Java/20x20 (printf)/manifest.mf create mode 100644 Java/20x20 (printf)/nbproject/build-impl.xml create mode 100644 Java/20x20 (printf)/nbproject/genfiles.properties create mode 100644 Java/20x20 (printf)/nbproject/private/private.properties create mode 100644 Java/20x20 (printf)/nbproject/private/private.xml create mode 100644 Java/20x20 (printf)/nbproject/project.properties create mode 100644 Java/20x20 (printf)/nbproject/project.xml create mode 100644 Java/20x20 (printf)/out/production/20x20 (printf)/pkg20x20/Main.class create mode 100644 Java/20x20 (printf)/src/pkg20x20/Main.java create mode 100644 Java/20x20Sternchen/20x20Sternchen.iml create mode 100644 Java/20x20Sternchen/build.xml create mode 100644 Java/20x20Sternchen/build/classes/.netbeans_automatic_build create mode 100644 Java/20x20Sternchen/build/classes/.netbeans_update_resources create mode 100644 Java/20x20Sternchen/build/classes/pkg20x20sternchen/Main.class create mode 100644 Java/20x20Sternchen/manifest.mf create mode 100644 Java/20x20Sternchen/nbproject/build-impl.xml create mode 100644 Java/20x20Sternchen/nbproject/genfiles.properties create mode 100644 Java/20x20Sternchen/nbproject/private/private.properties create mode 100644 Java/20x20Sternchen/nbproject/private/private.xml create mode 100644 Java/20x20Sternchen/nbproject/project.properties create mode 100644 Java/20x20Sternchen/nbproject/project.xml create mode 100644 Java/20x20Sternchen/src/pkg20x20sternchen/Main.java create mode 100644 Java/Addition/Addition_0/Addition_0.iml create mode 100644 Java/Addition/Addition_0/build.xml create mode 100644 Java/Addition/Addition_0/build/classes/.netbeans_automatic_build create mode 100644 Java/Addition/Addition_0/build/classes/.netbeans_update_resources create mode 100644 Java/Addition/Addition_0/build/classes/addition_0/Addition_0.class create mode 100644 Java/Addition/Addition_0/manifest.mf create mode 100644 Java/Addition/Addition_0/nbproject/build-impl.xml create mode 100644 Java/Addition/Addition_0/nbproject/genfiles.properties create mode 100644 Java/Addition/Addition_0/nbproject/private/private.properties create mode 100644 Java/Addition/Addition_0/nbproject/private/private.xml create mode 100644 Java/Addition/Addition_0/nbproject/project.properties create mode 100644 Java/Addition/Addition_0/nbproject/project.xml create mode 100644 Java/Addition/Addition_0/src/addition_0/Addition_0.java create mode 100644 Java/Addition/Addition_1/Addition_1.iml create mode 100644 Java/Addition/Addition_1/build.xml create mode 100644 Java/Addition/Addition_1/build/classes/.netbeans_automatic_build create mode 100644 Java/Addition/Addition_1/build/classes/.netbeans_update_resources create mode 100644 Java/Addition/Addition_1/build/classes/addition_1/Addition_1.class create mode 100644 Java/Addition/Addition_1/manifest.mf create mode 100644 Java/Addition/Addition_1/nbproject/build-impl.xml create mode 100644 Java/Addition/Addition_1/nbproject/genfiles.properties create mode 100644 Java/Addition/Addition_1/nbproject/private/private.properties create mode 100644 Java/Addition/Addition_1/nbproject/private/private.xml create mode 100644 Java/Addition/Addition_1/nbproject/project.properties create mode 100644 Java/Addition/Addition_1/nbproject/project.xml create mode 100644 Java/Addition/Addition_1/src/addition_1/Addition_1.java create mode 100644 Java/Addition/Addition_2/Addition_2.iml create mode 100644 Java/Addition/Addition_2/build.xml create mode 100644 Java/Addition/Addition_2/build/classes/.netbeans_automatic_build create mode 100644 Java/Addition/Addition_2/build/classes/.netbeans_update_resources create mode 100644 Java/Addition/Addition_2/build/classes/addition_2/Addition_2.class create mode 100644 Java/Addition/Addition_2/manifest.mf create mode 100644 Java/Addition/Addition_2/nbproject/build-impl.xml create mode 100644 Java/Addition/Addition_2/nbproject/genfiles.properties create mode 100644 Java/Addition/Addition_2/nbproject/private/private.properties create mode 100644 Java/Addition/Addition_2/nbproject/private/private.xml create mode 100644 Java/Addition/Addition_2/nbproject/project.properties create mode 100644 Java/Addition/Addition_2/nbproject/project.xml create mode 100644 Java/Addition/Addition_2/src/addition_2/Addition_2.java create mode 100644 Java/BackTracking/BackTracking.iml create mode 100644 Java/BackTracking/build.xml create mode 100644 Java/BackTracking/build/classes/.netbeans_automatic_build create mode 100644 Java/BackTracking/build/classes/.netbeans_update_resources create mode 100644 Java/BackTracking/build/classes/backtracking/BackTracking.class create mode 100644 Java/BackTracking/manifest.mf create mode 100644 Java/BackTracking/nbproject/build-impl.xml create mode 100644 Java/BackTracking/nbproject/genfiles.properties create mode 100644 Java/BackTracking/nbproject/private/private.properties create mode 100644 Java/BackTracking/nbproject/private/private.xml create mode 100644 Java/BackTracking/nbproject/project.properties create mode 100644 Java/BackTracking/nbproject/project.xml create mode 100644 Java/BackTracking/src/backtracking/BackTracking.java create mode 100644 Java/Begruessung/Begruessung.iml create mode 100644 Java/Begruessung/build.xml create mode 100644 Java/Begruessung/build/classes/.netbeans_automatic_build create mode 100644 Java/Begruessung/build/classes/.netbeans_update_resources create mode 100644 Java/Begruessung/build/classes/begruessung/Begruessung.class create mode 100644 Java/Begruessung/manifest.mf create mode 100644 Java/Begruessung/nbproject/build-impl.xml create mode 100644 Java/Begruessung/nbproject/genfiles.properties create mode 100644 Java/Begruessung/nbproject/private/private.properties create mode 100644 Java/Begruessung/nbproject/private/private.xml create mode 100644 Java/Begruessung/nbproject/project.properties create mode 100644 Java/Begruessung/nbproject/project.xml create mode 100644 Java/Begruessung/src/begruessung/Begruessung.java create mode 100644 Java/Bubblesort/Bubblesort.iml create mode 100644 Java/Bubblesort/build.xml create mode 100644 Java/Bubblesort/build/classes/.netbeans_automatic_build create mode 100644 Java/Bubblesort/build/classes/.netbeans_update_resources create mode 100644 Java/Bubblesort/build/classes/bubblesort/Bubblesort.class create mode 100644 Java/Bubblesort/manifest.mf create mode 100644 Java/Bubblesort/nbproject/build-impl.xml create mode 100644 Java/Bubblesort/nbproject/genfiles.properties create mode 100644 Java/Bubblesort/nbproject/private/private.properties create mode 100644 Java/Bubblesort/nbproject/private/private.xml create mode 100644 Java/Bubblesort/nbproject/private/profiler/configurations.xml create mode 100644 Java/Bubblesort/nbproject/private/profiler/snapshot-1453291927121.nps create mode 100644 Java/Bubblesort/nbproject/private/profiler/snapshot-1453292067017.nps create mode 100644 Java/Bubblesort/nbproject/project.properties create mode 100644 Java/Bubblesort/nbproject/project.xml create mode 100644 Java/Bubblesort/src/bubblesort/Bubblesort.java create mode 100644 Java/Division/Division_0/Division_0.iml create mode 100644 Java/Division/Division_0/build.xml create mode 100644 Java/Division/Division_0/build/classes/.netbeans_automatic_build create mode 100644 Java/Division/Division_0/build/classes/.netbeans_update_resources create mode 100644 Java/Division/Division_0/build/classes/division_0/Division_0.class create mode 100644 Java/Division/Division_0/manifest.mf create mode 100644 Java/Division/Division_0/nbproject/build-impl.xml create mode 100644 Java/Division/Division_0/nbproject/genfiles.properties create mode 100644 Java/Division/Division_0/nbproject/private/private.properties create mode 100644 Java/Division/Division_0/nbproject/private/private.xml create mode 100644 Java/Division/Division_0/nbproject/project.properties create mode 100644 Java/Division/Division_0/nbproject/project.xml create mode 100644 Java/Division/Division_0/src/division_0/Division_0.java create mode 100644 Java/Division/Division_1/Division_1.iml create mode 100644 Java/Division/Division_1/build.xml create mode 100644 Java/Division/Division_1/build/classes/.netbeans_automatic_build create mode 100644 Java/Division/Division_1/build/classes/.netbeans_update_resources create mode 100644 Java/Division/Division_1/build/classes/division_1/Division_1.class create mode 100644 Java/Division/Division_1/manifest.mf create mode 100644 Java/Division/Division_1/nbproject/build-impl.xml create mode 100644 Java/Division/Division_1/nbproject/genfiles.properties create mode 100644 Java/Division/Division_1/nbproject/private/private.properties create mode 100644 Java/Division/Division_1/nbproject/private/private.xml create mode 100644 Java/Division/Division_1/nbproject/project.properties create mode 100644 Java/Division/Division_1/nbproject/project.xml create mode 100644 Java/Division/Division_1/src/division_1/Division_1.java create mode 100644 Java/Division/Division_2/Division_2.iml create mode 100644 Java/Division/Division_2/build.xml create mode 100644 Java/Division/Division_2/build/classes/.netbeans_automatic_build create mode 100644 Java/Division/Division_2/build/classes/.netbeans_update_resources create mode 100644 Java/Division/Division_2/build/classes/division_2/Division_2.class create mode 100644 Java/Division/Division_2/manifest.mf create mode 100644 Java/Division/Division_2/nbproject/build-impl.xml create mode 100644 Java/Division/Division_2/nbproject/genfiles.properties create mode 100644 Java/Division/Division_2/nbproject/private/private.properties create mode 100644 Java/Division/Division_2/nbproject/private/private.xml create mode 100644 Java/Division/Division_2/nbproject/project.properties create mode 100644 Java/Division/Division_2/nbproject/project.xml create mode 100644 Java/Division/Division_2/src/division_2/Division_2.java create mode 100644 Java/Fenster/Fenster.iml create mode 100644 Java/Fenster/build.xml create mode 100644 Java/Fenster/build/classes/.netbeans_automatic_build create mode 100644 Java/Fenster/build/classes/.netbeans_update_resources create mode 100644 Java/Fenster/build/classes/fenster/Fenster.class create mode 100644 Java/Fenster/build/classes/fenster/Window$1.class create mode 100644 Java/Fenster/build/classes/fenster/Window$2.class create mode 100644 Java/Fenster/build/classes/fenster/Window$3.class create mode 100644 Java/Fenster/build/classes/fenster/Window$4.class create mode 100644 Java/Fenster/build/classes/fenster/Window.class create mode 100644 Java/Fenster/build/classes/fenster/Window.form create mode 100644 Java/Fenster/manifest.mf create mode 100644 Java/Fenster/nbproject/build-impl.xml create mode 100644 Java/Fenster/nbproject/genfiles.properties create mode 100644 Java/Fenster/nbproject/private/private.properties create mode 100644 Java/Fenster/nbproject/private/private.xml create mode 100644 Java/Fenster/nbproject/project.properties create mode 100644 Java/Fenster/nbproject/project.xml create mode 100644 Java/Fenster/src/fenster/Fenster.java create mode 100644 Java/Fenster/src/fenster/Window.form create mode 100644 Java/Fenster/src/fenster/Window.java create mode 100644 Java/GeometrischeFiguren/GeometrischeFiguren.iml create mode 100644 Java/GeometrischeFiguren/build.xml create mode 100644 Java/GeometrischeFiguren/build/classes/.netbeans_automatic_build create mode 100644 Java/GeometrischeFiguren/build/classes/.netbeans_update_resources create mode 100644 Java/GeometrischeFiguren/build/classes/geometrischefiguren/Dreieck.class create mode 100644 Java/GeometrischeFiguren/build/classes/geometrischefiguren/GeometrischeFigurenOberfläche$1.class create mode 100644 Java/GeometrischeFiguren/build/classes/geometrischefiguren/GeometrischeFigurenOberfläche.class create mode 100644 Java/GeometrischeFiguren/build/classes/geometrischefiguren/GeometrischeFigurenOberfläche.form create mode 100644 Java/GeometrischeFiguren/build/classes/geometrischefiguren/Kreis.class create mode 100644 Java/GeometrischeFiguren/build/classes/geometrischefiguren/Punkt.class create mode 100644 Java/GeometrischeFiguren/build/classes/geometrischefiguren/Strecke.class create mode 100644 Java/GeometrischeFiguren/manifest.mf create mode 100644 Java/GeometrischeFiguren/nbproject/build-impl.xml create mode 100644 Java/GeometrischeFiguren/nbproject/genfiles.properties create mode 100644 Java/GeometrischeFiguren/nbproject/private/private.properties create mode 100644 Java/GeometrischeFiguren/nbproject/private/private.xml create mode 100644 Java/GeometrischeFiguren/nbproject/project.properties create mode 100644 Java/GeometrischeFiguren/nbproject/project.xml create mode 100644 Java/GeometrischeFiguren/src/geometrischefiguren/Dreieck.java create mode 100644 Java/GeometrischeFiguren/src/geometrischefiguren/GeometrischeFigurenOberfläche.form create mode 100644 Java/GeometrischeFiguren/src/geometrischefiguren/GeometrischeFigurenOberfläche.java create mode 100644 Java/GeometrischeFiguren/src/geometrischefiguren/Kreis.java create mode 100644 Java/GeometrischeFiguren/src/geometrischefiguren/Punkt.java create mode 100644 Java/GeometrischeFiguren/src/geometrischefiguren/Strecke.java create mode 100644 Java/HA-Test_1/HA-Test_1.iml create mode 100644 Java/HA-Test_1/build.xml create mode 100644 Java/HA-Test_1/build/classes/.netbeans_automatic_build create mode 100644 Java/HA-Test_1/build/classes/.netbeans_update_resources create mode 100644 Java/HA-Test_1/build/classes/ha/test_1/HATest_1.class create mode 100644 Java/HA-Test_1/manifest.mf create mode 100644 Java/HA-Test_1/nbproject/build-impl.xml create mode 100644 Java/HA-Test_1/nbproject/genfiles.properties create mode 100644 Java/HA-Test_1/nbproject/private/private.properties create mode 100644 Java/HA-Test_1/nbproject/private/private.xml create mode 100644 Java/HA-Test_1/nbproject/project.properties create mode 100644 Java/HA-Test_1/nbproject/project.xml create mode 100644 Java/HA-Test_1/src/ha/test_1/HATest_1.java create mode 100644 Java/IF/IF_01/IF_01.iml create mode 100644 Java/IF/IF_01/build.xml create mode 100644 Java/IF/IF_01/build/classes/.netbeans_automatic_build create mode 100644 Java/IF/IF_01/build/classes/.netbeans_update_resources create mode 100644 Java/IF/IF_01/build/classes/if_01/IF_01.class create mode 100644 Java/IF/IF_01/manifest.mf create mode 100644 Java/IF/IF_01/nbproject/build-impl.xml create mode 100644 Java/IF/IF_01/nbproject/genfiles.properties create mode 100644 Java/IF/IF_01/nbproject/private/private.properties create mode 100644 Java/IF/IF_01/nbproject/private/private.xml create mode 100644 Java/IF/IF_01/nbproject/project.properties create mode 100644 Java/IF/IF_01/nbproject/project.xml create mode 100644 Java/IF/IF_01/src/if_01/IF_01.java create mode 100644 Java/IF/IF_02/IF_02.iml create mode 100644 Java/IF/IF_02/build.xml create mode 100644 Java/IF/IF_02/build/classes/.netbeans_automatic_build create mode 100644 Java/IF/IF_02/build/classes/.netbeans_update_resources create mode 100644 Java/IF/IF_02/build/classes/if_02/IF_02.class create mode 100644 Java/IF/IF_02/manifest.mf create mode 100644 Java/IF/IF_02/nbproject/build-impl.xml create mode 100644 Java/IF/IF_02/nbproject/genfiles.properties create mode 100644 Java/IF/IF_02/nbproject/private/private.properties create mode 100644 Java/IF/IF_02/nbproject/private/private.xml create mode 100644 Java/IF/IF_02/nbproject/project.properties create mode 100644 Java/IF/IF_02/nbproject/project.xml create mode 100644 Java/IF/IF_02/src/if_02/IF_02.java create mode 100644 Java/IF/IF_03/IF_03.iml create mode 100644 Java/IF/IF_03/build.xml create mode 100644 Java/IF/IF_03/build/classes/.netbeans_automatic_build create mode 100644 Java/IF/IF_03/build/classes/.netbeans_update_resources create mode 100644 Java/IF/IF_03/build/classes/if_03/IF_03.class create mode 100644 Java/IF/IF_03/manifest.mf create mode 100644 Java/IF/IF_03/nbproject/build-impl.xml create mode 100644 Java/IF/IF_03/nbproject/genfiles.properties create mode 100644 Java/IF/IF_03/nbproject/private/private.properties create mode 100644 Java/IF/IF_03/nbproject/project.properties create mode 100644 Java/IF/IF_03/nbproject/project.xml create mode 100644 Java/IF/IF_03/src/if_03/IF_03.java create mode 100644 Java/JosefProblem/JosefProblem.iml create mode 100644 Java/JosefProblem/build.xml create mode 100644 Java/JosefProblem/build/classes/.netbeans_automatic_build create mode 100644 Java/JosefProblem/build/classes/.netbeans_update_resources create mode 100644 Java/JosefProblem/build/classes/josefproblem/JosefProblem.class create mode 100644 Java/JosefProblem/manifest.mf create mode 100644 Java/JosefProblem/nbproject/build-impl.xml create mode 100644 Java/JosefProblem/nbproject/genfiles.properties create mode 100644 Java/JosefProblem/nbproject/private/private.properties create mode 100644 Java/JosefProblem/nbproject/private/private.xml create mode 100644 Java/JosefProblem/nbproject/project.properties create mode 100644 Java/JosefProblem/nbproject/project.xml create mode 100644 Java/JosefProblem/src/josefproblem/JosefProblem.java create mode 100644 Java/JosefProlemObjektorientiert/JosefProlemObjektorientiert.iml create mode 100644 Java/JosefProlemObjektorientiert/build.xml create mode 100644 Java/JosefProlemObjektorientiert/build/classes/.netbeans_automatic_build create mode 100644 Java/JosefProlemObjektorientiert/build/classes/.netbeans_update_resources create mode 100644 Java/JosefProlemObjektorientiert/build/classes/josefprolemobjektorientiert/JosefProlemObjektorientiert.class create mode 100644 Java/JosefProlemObjektorientiert/build/classes/josefprolemobjektorientiert/Person.class create mode 100644 Java/JosefProlemObjektorientiert/manifest.mf create mode 100644 Java/JosefProlemObjektorientiert/nbproject/build-impl.xml create mode 100644 Java/JosefProlemObjektorientiert/nbproject/genfiles.properties create mode 100644 Java/JosefProlemObjektorientiert/nbproject/private/private.properties create mode 100644 Java/JosefProlemObjektorientiert/nbproject/private/private.xml create mode 100644 Java/JosefProlemObjektorientiert/nbproject/project.properties create mode 100644 Java/JosefProlemObjektorientiert/nbproject/project.xml create mode 100644 Java/JosefProlemObjektorientiert/src/josefprolemobjektorientiert/JosefProlemObjektorientiert.java create mode 100644 Java/Kochkurve/Kochkurve.iml create mode 100644 Java/Kochkurve/build.xml create mode 100644 Java/Kochkurve/build/classes/.netbeans_automatic_build create mode 100644 Java/Kochkurve/build/classes/.netbeans_update_resources create mode 100644 Java/Kochkurve/build/classes/kochkurve/KKurve.class create mode 100644 Java/Kochkurve/build/classes/kochkurve/Kurve$1.class create mode 100644 Java/Kochkurve/build/classes/kochkurve/Kurve.class create mode 100644 Java/Kochkurve/build/classes/kochkurve/Kurve.form create mode 100644 Java/Kochkurve/manifest.mf create mode 100644 Java/Kochkurve/nbproject/build-impl.xml create mode 100644 Java/Kochkurve/nbproject/genfiles.properties create mode 100644 Java/Kochkurve/nbproject/private/private.properties create mode 100644 Java/Kochkurve/nbproject/private/private.xml create mode 100644 Java/Kochkurve/nbproject/project.properties create mode 100644 Java/Kochkurve/nbproject/project.xml create mode 100644 Java/Kochkurve/src/kochkurve/KKurve.java create mode 100644 Java/Kochkurve/src/kochkurve/Kurve.form create mode 100644 Java/Kochkurve/src/kochkurve/Kurve.java create mode 100644 Java/Lotto/Lotto.iml create mode 100644 Java/Lotto/build.xml create mode 100644 Java/Lotto/build/classes/.netbeans_automatic_build create mode 100644 Java/Lotto/build/classes/.netbeans_update_resources create mode 100644 Java/Lotto/build/classes/lotto/Kugel.class create mode 100644 Java/Lotto/build/classes/lotto/Lotto.class create mode 100644 Java/Lotto/build/classes/lotto/Ziehung.class create mode 100644 Java/Lotto/manifest.mf create mode 100644 Java/Lotto/nbproject/build-impl.xml create mode 100644 Java/Lotto/nbproject/genfiles.properties create mode 100644 Java/Lotto/nbproject/private/private.properties create mode 100644 Java/Lotto/nbproject/private/private.xml create mode 100644 Java/Lotto/nbproject/project.properties create mode 100644 Java/Lotto/nbproject/project.xml create mode 100644 Java/Lotto/src/lotto/Lotto.java create mode 100644 Java/Matrizen/Matrizen.iml create mode 100644 Java/Matrizen/build.xml create mode 100644 Java/Matrizen/build/classes/.netbeans_automatic_build create mode 100644 Java/Matrizen/build/classes/.netbeans_update_resources create mode 100644 Java/Matrizen/build/classes/matrizen/Matrix.class create mode 100644 Java/Matrizen/build/classes/matrizen/Matrizen.class create mode 100644 Java/Matrizen/manifest.mf create mode 100644 Java/Matrizen/nbproject/build-impl.xml create mode 100644 Java/Matrizen/nbproject/genfiles.properties create mode 100644 Java/Matrizen/nbproject/private/private.properties create mode 100644 Java/Matrizen/nbproject/private/private.xml create mode 100644 Java/Matrizen/nbproject/project.properties create mode 100644 Java/Matrizen/nbproject/project.xml create mode 100644 Java/Matrizen/src/matrizen/Matrix.java create mode 100644 Java/Matrizen/src/matrizen/Matrizen.java create mode 100644 Java/Multiplikation/Multiplikation_0/Multiplikation_0.iml create mode 100644 Java/Multiplikation/Multiplikation_0/build.xml create mode 100644 Java/Multiplikation/Multiplikation_0/build/classes/.netbeans_automatic_build create mode 100644 Java/Multiplikation/Multiplikation_0/build/classes/.netbeans_update_resources create mode 100644 Java/Multiplikation/Multiplikation_0/build/classes/multiplikation_0/Multiplikation_0.class create mode 100644 Java/Multiplikation/Multiplikation_0/manifest.mf create mode 100644 Java/Multiplikation/Multiplikation_0/nbproject/build-impl.xml create mode 100644 Java/Multiplikation/Multiplikation_0/nbproject/genfiles.properties create mode 100644 Java/Multiplikation/Multiplikation_0/nbproject/private/private.properties create mode 100644 Java/Multiplikation/Multiplikation_0/nbproject/private/private.xml create mode 100644 Java/Multiplikation/Multiplikation_0/nbproject/project.properties create mode 100644 Java/Multiplikation/Multiplikation_0/nbproject/project.xml create mode 100644 Java/Multiplikation/Multiplikation_0/src/multiplikation_0/Multiplikation_0.java create mode 100644 Java/Multiplikation/Multiplikation_1/Multiplikation_1.iml create mode 100644 Java/Multiplikation/Multiplikation_1/build.xml create mode 100644 Java/Multiplikation/Multiplikation_1/build/classes/.netbeans_automatic_build create mode 100644 Java/Multiplikation/Multiplikation_1/build/classes/.netbeans_update_resources create mode 100644 Java/Multiplikation/Multiplikation_1/build/classes/multiplikation_1/Multiplikation_1.class create mode 100644 Java/Multiplikation/Multiplikation_1/manifest.mf create mode 100644 Java/Multiplikation/Multiplikation_1/nbproject/build-impl.xml create mode 100644 Java/Multiplikation/Multiplikation_1/nbproject/genfiles.properties create mode 100644 Java/Multiplikation/Multiplikation_1/nbproject/private/private.properties create mode 100644 Java/Multiplikation/Multiplikation_1/nbproject/private/private.xml create mode 100644 Java/Multiplikation/Multiplikation_1/nbproject/project.properties create mode 100644 Java/Multiplikation/Multiplikation_1/nbproject/project.xml create mode 100644 Java/Multiplikation/Multiplikation_1/src/multiplikation_1/Multiplikation_1.java create mode 100644 Java/Multiplikation/Multiplikation_2/Multiplikation_2.iml create mode 100644 Java/Multiplikation/Multiplikation_2/build.xml create mode 100644 Java/Multiplikation/Multiplikation_2/build/classes/.netbeans_automatic_build create mode 100644 Java/Multiplikation/Multiplikation_2/build/classes/.netbeans_update_resources create mode 100644 Java/Multiplikation/Multiplikation_2/build/classes/multiplikation_2/Multiplikation_2.class create mode 100644 Java/Multiplikation/Multiplikation_2/manifest.mf create mode 100644 Java/Multiplikation/Multiplikation_2/nbproject/build-impl.xml create mode 100644 Java/Multiplikation/Multiplikation_2/nbproject/genfiles.properties create mode 100644 Java/Multiplikation/Multiplikation_2/nbproject/private/private.properties create mode 100644 Java/Multiplikation/Multiplikation_2/nbproject/private/private.xml create mode 100644 Java/Multiplikation/Multiplikation_2/nbproject/project.properties create mode 100644 Java/Multiplikation/Multiplikation_2/nbproject/project.xml create mode 100644 Java/Multiplikation/Multiplikation_2/src/multiplikation_2/Multiplikation_2.java create mode 100644 Java/NST/NST.iml create mode 100644 Java/NST/build.xml create mode 100644 Java/NST/build/classes/.netbeans_automatic_build create mode 100644 Java/NST/build/classes/.netbeans_update_resources create mode 100644 Java/NST/build/classes/nst/NST.class create mode 100644 Java/NST/manifest.mf create mode 100644 Java/NST/nbproject/build-impl.xml create mode 100644 Java/NST/nbproject/genfiles.properties create mode 100644 Java/NST/nbproject/private/private.properties create mode 100644 Java/NST/nbproject/private/private.xml create mode 100644 Java/NST/nbproject/project.properties create mode 100644 Java/NST/nbproject/project.xml create mode 100644 Java/NST/src/nst/NST.java create mode 100644 Java/Permutation/Permutation.iml create mode 100644 Java/Permutation/build.xml create mode 100644 Java/Permutation/build/classes/.netbeans_automatic_build create mode 100644 Java/Permutation/build/classes/.netbeans_update_resources create mode 100644 Java/Permutation/build/classes/permutation/Permutation.class create mode 100644 Java/Permutation/manifest.mf create mode 100644 Java/Permutation/nbproject/build-impl.xml create mode 100644 Java/Permutation/nbproject/genfiles.properties create mode 100644 Java/Permutation/nbproject/private/private.properties create mode 100644 Java/Permutation/nbproject/private/private.xml create mode 100644 Java/Permutation/nbproject/project.properties create mode 100644 Java/Permutation/nbproject/project.xml create mode 100644 Java/Permutation/src/permutation/Permutation.java create mode 100644 Java/Polynomdivision/Polynomdivision.iml create mode 100644 Java/Polynomdivision/build.xml create mode 100644 Java/Polynomdivision/build/classes/.netbeans_automatic_build create mode 100644 Java/Polynomdivision/build/classes/.netbeans_update_resources create mode 100644 Java/Polynomdivision/build/classes/polynomdivision/Polynomdivision.class create mode 100644 Java/Polynomdivision/manifest.mf create mode 100644 Java/Polynomdivision/nbproject/build-impl.xml create mode 100644 Java/Polynomdivision/nbproject/genfiles.properties create mode 100644 Java/Polynomdivision/nbproject/private/private.properties create mode 100644 Java/Polynomdivision/nbproject/private/private.xml create mode 100644 Java/Polynomdivision/nbproject/project.properties create mode 100644 Java/Polynomdivision/nbproject/project.xml create mode 100644 Java/Polynomdivision/src/polynomdivision/Polynomdivision.java create mode 100644 Java/Primzahlen/Primzahlen.iml create mode 100644 Java/Primzahlen/build.xml create mode 100644 Java/Primzahlen/build/classes/.netbeans_automatic_build create mode 100644 Java/Primzahlen/build/classes/.netbeans_update_resources create mode 100644 Java/Primzahlen/build/classes/primzahlen/Primzahl.class create mode 100644 Java/Primzahlen/build/classes/primzahlen/Primzahlen.class create mode 100644 Java/Primzahlen/manifest.mf create mode 100644 Java/Primzahlen/nbproject/build-impl.xml create mode 100644 Java/Primzahlen/nbproject/genfiles.properties create mode 100644 Java/Primzahlen/nbproject/private/private.properties create mode 100644 Java/Primzahlen/nbproject/private/private.xml create mode 100644 Java/Primzahlen/nbproject/private/profiler/configurations.xml create mode 100644 Java/Primzahlen/nbproject/project.properties create mode 100644 Java/Primzahlen/nbproject/project.xml create mode 100644 Java/Primzahlen/src/primzahlen/Primzahlen.java create mode 100644 Java/Reaktionstest/Reaktionstest.iml create mode 100644 Java/Reaktionstest/build.xml create mode 100644 Java/Reaktionstest/build/classes/.netbeans_automatic_build create mode 100644 Java/Reaktionstest/build/classes/.netbeans_update_resources create mode 100644 Java/Reaktionstest/build/classes/reaktionstest/fenster$1.class create mode 100644 Java/Reaktionstest/build/classes/reaktionstest/fenster$2.class create mode 100644 Java/Reaktionstest/build/classes/reaktionstest/fenster$3.class create mode 100644 Java/Reaktionstest/build/classes/reaktionstest/fenster$4.class create mode 100644 Java/Reaktionstest/build/classes/reaktionstest/fenster.class create mode 100644 Java/Reaktionstest/build/classes/reaktionstest/fenster.form create mode 100644 Java/Reaktionstest/manifest.mf create mode 100644 Java/Reaktionstest/nbproject/build-impl.xml create mode 100644 Java/Reaktionstest/nbproject/genfiles.properties create mode 100644 Java/Reaktionstest/nbproject/private/private.properties create mode 100644 Java/Reaktionstest/nbproject/private/private.xml create mode 100644 Java/Reaktionstest/nbproject/project.properties create mode 100644 Java/Reaktionstest/nbproject/project.xml create mode 100644 Java/Reaktionstest/src/reaktionstest/fenster.form create mode 100644 Java/Reaktionstest/src/reaktionstest/fenster.java create mode 100644 Java/Rekursion/build.xml create mode 100644 Java/Rekursion/build/classes/.netbeans_automatic_build create mode 100644 Java/Rekursion/build/classes/.netbeans_update_resources create mode 100644 Java/Rekursion/build/classes/fakultätrekursiv/FakultätRekursiv.class create mode 100644 Java/Rekursion/manifest.mf create mode 100644 Java/Rekursion/nbproject/build-impl.xml create mode 100644 Java/Rekursion/nbproject/genfiles.properties create mode 100644 Java/Rekursion/nbproject/private/private.properties create mode 100644 Java/Rekursion/nbproject/private/private.xml create mode 100644 Java/Rekursion/nbproject/private/profiler/configurations.xml create mode 100644 Java/Rekursion/nbproject/project.properties create mode 100644 Java/Rekursion/nbproject/project.xml create mode 100644 Java/Rekursion/src/Rekursion.iml create mode 100644 Java/Rekursion/src/fakultätrekursiv/FakultätRekursiv.java create mode 100644 Java/Sternchen 2/Sternchen 2.iml create mode 100644 Java/Sternchen 2/build.xml create mode 100644 Java/Sternchen 2/build/classes/.netbeans_automatic_build create mode 100644 Java/Sternchen 2/build/classes/.netbeans_update_resources create mode 100644 Java/Sternchen 2/build/classes/sternchen/pkg2/Sternchen2.class create mode 100644 Java/Sternchen 2/build/classes/sternchen/pkg2/Window$1.class create mode 100644 Java/Sternchen 2/build/classes/sternchen/pkg2/Window$2.class create mode 100644 Java/Sternchen 2/build/classes/sternchen/pkg2/Window$3.class create mode 100644 Java/Sternchen 2/build/classes/sternchen/pkg2/Window$4.class create mode 100644 Java/Sternchen 2/build/classes/sternchen/pkg2/Window$5.class create mode 100644 Java/Sternchen 2/build/classes/sternchen/pkg2/Window.class create mode 100644 Java/Sternchen 2/build/classes/sternchen/pkg2/Window.form create mode 100644 Java/Sternchen 2/manifest.mf create mode 100644 Java/Sternchen 2/nbproject/build-impl.xml create mode 100644 Java/Sternchen 2/nbproject/genfiles.properties create mode 100644 Java/Sternchen 2/nbproject/private/private.properties create mode 100644 Java/Sternchen 2/nbproject/private/private.xml create mode 100644 Java/Sternchen 2/nbproject/project.properties create mode 100644 Java/Sternchen 2/nbproject/project.xml create mode 100644 Java/Sternchen 2/src/sternchen/pkg2/Sternchen2.java create mode 100644 Java/Sternchen 2/src/sternchen/pkg2/Window.form create mode 100644 Java/Sternchen 2/src/sternchen/pkg2/Window.java create mode 100644 Java/Subtraktion/Subtraktion_0/Subtraktion_0.iml create mode 100644 Java/Subtraktion/Subtraktion_0/build.xml create mode 100644 Java/Subtraktion/Subtraktion_0/build/classes/.netbeans_automatic_build create mode 100644 Java/Subtraktion/Subtraktion_0/build/classes/.netbeans_update_resources create mode 100644 Java/Subtraktion/Subtraktion_0/build/classes/subtraktion_0/Subtraktion_0.class create mode 100644 Java/Subtraktion/Subtraktion_0/manifest.mf create mode 100644 Java/Subtraktion/Subtraktion_0/nbproject/build-impl.xml create mode 100644 Java/Subtraktion/Subtraktion_0/nbproject/genfiles.properties create mode 100644 Java/Subtraktion/Subtraktion_0/nbproject/private/private.properties create mode 100644 Java/Subtraktion/Subtraktion_0/nbproject/private/private.xml create mode 100644 Java/Subtraktion/Subtraktion_0/nbproject/project.properties create mode 100644 Java/Subtraktion/Subtraktion_0/nbproject/project.xml create mode 100644 Java/Subtraktion/Subtraktion_0/src/subtraktion_0/Subtraktion_0.java create mode 100644 Java/Subtraktion/Subtraktion_1/Subtraktion_1.iml create mode 100644 Java/Subtraktion/Subtraktion_1/build.xml create mode 100644 Java/Subtraktion/Subtraktion_1/build/classes/.netbeans_automatic_build create mode 100644 Java/Subtraktion/Subtraktion_1/build/classes/.netbeans_update_resources create mode 100644 Java/Subtraktion/Subtraktion_1/build/classes/subtraktion_1/Subtraktion_1.class create mode 100644 Java/Subtraktion/Subtraktion_1/manifest.mf create mode 100644 Java/Subtraktion/Subtraktion_1/nbproject/build-impl.xml create mode 100644 Java/Subtraktion/Subtraktion_1/nbproject/genfiles.properties create mode 100644 Java/Subtraktion/Subtraktion_1/nbproject/private/private.properties create mode 100644 Java/Subtraktion/Subtraktion_1/nbproject/private/private.xml create mode 100644 Java/Subtraktion/Subtraktion_1/nbproject/project.properties create mode 100644 Java/Subtraktion/Subtraktion_1/nbproject/project.xml create mode 100644 Java/Subtraktion/Subtraktion_1/src/subtraktion_1/Subtraktion_1.java create mode 100644 Java/Subtraktion/Subtraktion_2/Subtraktion_2.iml create mode 100644 Java/Subtraktion/Subtraktion_2/build.xml create mode 100644 Java/Subtraktion/Subtraktion_2/build/classes/.netbeans_automatic_build create mode 100644 Java/Subtraktion/Subtraktion_2/build/classes/.netbeans_update_resources create mode 100644 Java/Subtraktion/Subtraktion_2/build/classes/subtraktion_2/Subtraktion_2.class create mode 100644 Java/Subtraktion/Subtraktion_2/manifest.mf create mode 100644 Java/Subtraktion/Subtraktion_2/nbproject/build-impl.xml create mode 100644 Java/Subtraktion/Subtraktion_2/nbproject/genfiles.properties create mode 100644 Java/Subtraktion/Subtraktion_2/nbproject/private/private.properties create mode 100644 Java/Subtraktion/Subtraktion_2/nbproject/private/private.xml create mode 100644 Java/Subtraktion/Subtraktion_2/nbproject/project.properties create mode 100644 Java/Subtraktion/Subtraktion_2/nbproject/project.xml create mode 100644 Java/Subtraktion/Subtraktion_2/src/subtraktion_2/Subtraktion_2.java create mode 100644 Java/Suchbaum/Suchbaum.iml create mode 100644 Java/Suchbaum/build.xml create mode 100644 Java/Suchbaum/build/built-jar.properties create mode 100644 Java/Suchbaum/build/classes/suchbaum/Baum.class create mode 100644 Java/Suchbaum/build/classes/suchbaum/Knoten.class create mode 100644 Java/Suchbaum/build/classes/suchbaum/Suchbaum.class create mode 100644 Java/Suchbaum/manifest.mf create mode 100644 Java/Suchbaum/nbproject/build-impl.xml create mode 100644 Java/Suchbaum/nbproject/genfiles.properties create mode 100644 Java/Suchbaum/nbproject/private/private.properties create mode 100644 Java/Suchbaum/nbproject/private/private.xml create mode 100644 Java/Suchbaum/nbproject/project.properties create mode 100644 Java/Suchbaum/nbproject/project.xml create mode 100644 Java/Suchbaum/sb1.emf create mode 100644 Java/Suchbaum/sb1.gv create mode 100644 Java/Suchbaum/sb2.emf create mode 100644 Java/Suchbaum/sb2.gv create mode 100644 Java/Suchbaum/src/suchbaum/Baum.java create mode 100644 Java/Suchbaum/src/suchbaum/Knoten.java create mode 100644 Java/Suchbaum/src/suchbaum/Suchbaum.java create mode 100644 Java/TestProject/TestProject.iml create mode 100644 Java/TestProject/build.xml create mode 100644 Java/TestProject/build/classes/.netbeans_automatic_build create mode 100644 Java/TestProject/build/classes/.netbeans_update_resources create mode 100644 Java/TestProject/build/classes/testproject/TestProject.class create mode 100644 Java/TestProject/manifest.mf create mode 100644 Java/TestProject/nbproject/build-impl.xml create mode 100644 Java/TestProject/nbproject/genfiles.properties create mode 100644 Java/TestProject/nbproject/private/private.properties create mode 100644 Java/TestProject/nbproject/private/private.xml create mode 100644 Java/TestProject/nbproject/project.properties create mode 100644 Java/TestProject/nbproject/project.xml create mode 100644 Java/TestProject/src/testproject/TestProject.java create mode 160000 Java/TestSuite create mode 100644 Java/TestSuite.config create mode 100644 Java/TournamentSort/TournamentSort.iml create mode 100644 Java/TournamentSort/build.xml create mode 100644 Java/TournamentSort/build/classes/.netbeans_automatic_build create mode 100644 Java/TournamentSort/build/classes/.netbeans_update_resources create mode 100644 Java/TournamentSort/build/classes/tournamentsort/Element.class create mode 100644 Java/TournamentSort/build/classes/tournamentsort/TournamentSort.class create mode 100644 Java/TournamentSort/manifest.mf create mode 100644 Java/TournamentSort/nbproject/build-impl.xml create mode 100644 Java/TournamentSort/nbproject/genfiles.properties create mode 100644 Java/TournamentSort/nbproject/private/private.properties create mode 100644 Java/TournamentSort/nbproject/private/private.xml create mode 100644 Java/TournamentSort/nbproject/project.properties create mode 100644 Java/TournamentSort/nbproject/project.xml create mode 100644 Java/TournamentSort/src/tournamentsort/Element.java create mode 100644 Java/TournamentSort/src/tournamentsort/TournamentSort.java create mode 100644 Java/Verzeichnisgröße/build.xml create mode 100644 Java/Verzeichnisgröße/build/classes/.netbeans_automatic_build create mode 100644 Java/Verzeichnisgröße/build/classes/.netbeans_update_resources create mode 100644 Java/Verzeichnisgröße/build/classes/verzeichnisgröße/Verzeichnisgröße.class create mode 100644 Java/Verzeichnisgröße/manifest.mf create mode 100644 Java/Verzeichnisgröße/nbproject/build-impl.xml create mode 100644 Java/Verzeichnisgröße/nbproject/genfiles.properties create mode 100644 Java/Verzeichnisgröße/nbproject/private/private.properties create mode 100644 Java/Verzeichnisgröße/nbproject/private/private.xml create mode 100644 Java/Verzeichnisgröße/nbproject/project.properties create mode 100644 Java/Verzeichnisgröße/nbproject/project.xml create mode 100644 Java/Verzeichnisgröße/src/Verzeichnisgröße.iml create mode 100644 Java/Verzeichnisgröße/src/verzeichnisgröße/Verzeichnisgröße.java create mode 100644 Java/Wettbewerb_CSV_Foto/Wettbewerb_CSV_Foto.iml create mode 100644 Java/Wettbewerb_CSV_Foto/build.xml create mode 100644 Java/Wettbewerb_CSV_Foto/build/built-jar.properties create mode 100644 Java/Wettbewerb_CSV_Foto/build/classes/.netbeans_automatic_build create mode 100644 Java/Wettbewerb_CSV_Foto/build/classes/.netbeans_update_resources create mode 100644 Java/Wettbewerb_CSV_Foto/build/classes/wettbewerb_csv_foto/Camera.class create mode 100644 Java/Wettbewerb_CSV_Foto/build/classes/wettbewerb_csv_foto/Image.class create mode 100644 Java/Wettbewerb_CSV_Foto/build/classes/wettbewerb_csv_foto/Pixel.class create mode 100644 Java/Wettbewerb_CSV_Foto/build/classes/wettbewerb_csv_foto/Wettbewerb_CSV_Foto.class create mode 100644 Java/Wettbewerb_CSV_Foto/manifest.mf create mode 100644 Java/Wettbewerb_CSV_Foto/nbproject/build-impl.xml create mode 100644 Java/Wettbewerb_CSV_Foto/nbproject/genfiles.properties create mode 100644 Java/Wettbewerb_CSV_Foto/nbproject/private/private.properties create mode 100644 Java/Wettbewerb_CSV_Foto/nbproject/private/private.xml create mode 100644 Java/Wettbewerb_CSV_Foto/nbproject/project.properties create mode 100644 Java/Wettbewerb_CSV_Foto/nbproject/project.xml create mode 100644 Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Camera.java create mode 100644 Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Image.java create mode 100644 Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Pixel.java create mode 100644 Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Wettbewerb_CSV_Foto.java create mode 100644 Java/Wettbewerb_ForestFire/Wettbewerb_ForestFire.iml create mode 100644 Java/Wettbewerb_ForestFire/manifest.mf create mode 100644 Java/Wettbewerb_ForestFire/src/Main.java create mode 100644 Java/Wettbewerb_ForestFire/src/Map.java create mode 100644 Java/Wettbewerb_ForestFire/src/Tile.java create mode 100644 Java/Wettewerb_Foto/Wettewerb_Foto.iml create mode 100644 Java/Wettewerb_Foto/build.xml create mode 100644 Java/Wettewerb_Foto/build/built-jar.properties create mode 100644 Java/Wettewerb_Foto/build/classes/.netbeans_automatic_build create mode 100644 Java/Wettewerb_Foto/build/classes/.netbeans_update_resources create mode 100644 Java/Wettewerb_Foto/build/classes/wettewerb_foto/Camera.class create mode 100644 Java/Wettewerb_Foto/build/classes/wettewerb_foto/Image.class create mode 100644 Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$1.class create mode 100644 Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$2.class create mode 100644 Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$3.class create mode 100644 Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$4.class create mode 100644 Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$5.class create mode 100644 Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$6.class create mode 100644 Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow.class create mode 100644 Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow.form create mode 100644 Java/Wettewerb_Foto/build/classes/wettewerb_foto/Pixel.class create mode 100644 Java/Wettewerb_Foto/dist/README.TXT create mode 100644 Java/Wettewerb_Foto/dist/Wettewerb_Foto.jar create mode 100644 Java/Wettewerb_Foto/manifest.mf create mode 100644 Java/Wettewerb_Foto/nbproject/build-impl.xml create mode 100644 Java/Wettewerb_Foto/nbproject/genfiles.properties create mode 100644 Java/Wettewerb_Foto/nbproject/private/private.properties create mode 100644 Java/Wettewerb_Foto/nbproject/private/private.xml create mode 100644 Java/Wettewerb_Foto/nbproject/project.properties create mode 100644 Java/Wettewerb_Foto/nbproject/project.xml create mode 100644 Java/Wettewerb_Foto/src/wettewerb_foto/Camera.java create mode 100644 Java/Wettewerb_Foto/src/wettewerb_foto/Image.java create mode 100644 Java/Wettewerb_Foto/src/wettewerb_foto/MainWindow.form create mode 100644 Java/Wettewerb_Foto/src/wettewerb_foto/MainWindow.java create mode 100644 Java/Wettewerb_Foto/src/wettewerb_foto/Pixel.java create mode 100644 Java/Zahlenraten/Zahlenraten.iml create mode 100644 Java/Zahlenraten/build.xml create mode 100644 Java/Zahlenraten/build/built-jar.properties create mode 100644 Java/Zahlenraten/build/classes/.netbeans_automatic_build create mode 100644 Java/Zahlenraten/build/classes/.netbeans_update_resources create mode 100644 Java/Zahlenraten/build/classes/zahlenraten/Zahlenraten.class create mode 100644 Java/Zahlenraten/manifest.mf create mode 100644 Java/Zahlenraten/nbproject/build-impl.xml create mode 100644 Java/Zahlenraten/nbproject/genfiles.properties create mode 100644 Java/Zahlenraten/nbproject/private/private.properties create mode 100644 Java/Zahlenraten/nbproject/private/private.xml create mode 100644 Java/Zahlenraten/nbproject/project.properties create mode 100644 Java/Zahlenraten/nbproject/project.xml create mode 100644 Java/Zahlenraten/src/zahlenraten/Zahlenraten.java create mode 100644 Java/baum/baum.iml create mode 100644 Java/baum/build.xml create mode 100644 Java/baum/manifest.mf create mode 100644 Java/baum/nbproject/build-impl.xml create mode 100644 Java/baum/nbproject/genfiles.properties create mode 100644 Java/baum/nbproject/private/private.properties create mode 100644 Java/baum/nbproject/private/private.xml create mode 100644 Java/baum/nbproject/project.properties create mode 100644 Java/baum/nbproject/project.xml create mode 100644 Java/baum/src/baum/Ast.java create mode 100644 Java/baum/src/baum/Baum.java create mode 100644 Java/baum/src/baum/Blatt.java create mode 100644 Java/pzz/build.xml create mode 100644 Java/pzz/build/classes/.netbeans_automatic_build create mode 100644 Java/pzz/build/classes/.netbeans_update_resources create mode 100644 Java/pzz/build/classes/pzz/Primzahl.class create mode 100644 Java/pzz/build/classes/pzz/Pzz.class create mode 100644 Java/pzz/build/classes/pzz/pzzApp$1.class create mode 100644 Java/pzz/build/classes/pzz/pzzApp$2.class create mode 100644 Java/pzz/build/classes/pzz/pzzApp$3.class create mode 100644 Java/pzz/build/classes/pzz/pzzApp.class create mode 100644 Java/pzz/build/classes/pzz/pzzApp.form create mode 100644 Java/pzz/manifest.mf create mode 100644 Java/pzz/nbproject/build-impl.xml create mode 100644 Java/pzz/nbproject/genfiles.properties create mode 100644 Java/pzz/nbproject/private/private.properties create mode 100644 Java/pzz/nbproject/private/private.xml create mode 100644 Java/pzz/nbproject/project.properties create mode 100644 Java/pzz/nbproject/project.xml create mode 100644 Java/pzz/pzz.iml create mode 100644 Java/pzz/src/pzz/Pzz.java create mode 100644 Java/pzz/src/pzz/pzzApp.form create mode 100644 Java/pzz/src/pzz/pzzApp.java create mode 100644 Processing.js/GameOfLife/index.gdoc create mode 100644 Processing.js/GameOfLife/main.pds create mode 100644 Processing.js/Snake/index.gdoc create mode 100644 Processing.js/Snake/main.pds create mode 100644 Processing.js/js/processing.js create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/.checkstyle create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/.classpath create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/.project create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/.settings/org.eclipse.jdt.core.prefs create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/2016-03-19_12-17-51.zip create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/Assignment3A_TicTacToe.iml create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/bin/edu/kit/informatik/FieldState.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/bin/edu/kit/informatik/Main.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/bin/edu/kit/informatik/TicTacToeGame.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/allclasses-frame.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/allclasses-noframe.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/constant-values.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/deprecated-list.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/help-doc.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-1.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-2.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-3.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-4.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-5.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-6.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-7.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-8.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-9.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/FieldState.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/Main.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/TicTacToeGame.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/class-use/FieldState.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/class-use/Main.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/class-use/TicTacToeGame.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-frame.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-summary.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-tree.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-use.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/overview-tree.html create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/package-list create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/script.js create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/stylesheet.css create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/src/edu/kit/informatik/FieldState.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/src/edu/kit/informatik/Main.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/src/edu/kit/informatik/TicTacToeGame.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.checkstyle create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.classpath create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.project create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.settings/org.eclipse.jdt.core.prefs create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3B_Bank/2016-03-19_12-17-51.zip create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3B_Bank/Assignment3B_Bank.iml create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3B_Bank/bin/edu/kit/informatik/Account.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3B_Bank/bin/edu/kit/informatik/Bank.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3B_Bank/bin/edu/kit/informatik/Main.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3B_Bank/src/edu/kit/informatik/Account.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3B_Bank/src/edu/kit/informatik/Bank.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3B_Bank/src/edu/kit/informatik/Main.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.checkstyle create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.classpath create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.project create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.project[Konflikt] create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.settings/org.eclipse.jdt.core.prefs create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/2016-03-19_12-17-51.zip create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/Assignment3C_Routing.iml create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/Edge.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/Graph.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/Main.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/Matrix.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/VectorInt.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/Vertex.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/input.txt create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/Edge.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/Graph.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/Main.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/Matrix.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/VectorInt.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/Vertex.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/input.txt create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.checkstyle create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.classpath create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.project create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.settings/org.eclipse.jdt.core.prefs create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/2016-03-19_12-17-51.zip create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/Assignment4A_LangtonAnt.iml create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/Terminal.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/exceptions/FileNotCompalitbleException.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/exceptions/GameHasEndedException.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/exceptions/InvalidParameterException.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/Ant.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/Board.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/Field.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/FileInputHelper.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/LangtonGame.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/Main.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/Torusboard.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/UserInputManager.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/input.txt create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/Terminal.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/exceptions/FileNotCompalitbleException.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/exceptions/GameHasEndedException.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/exceptions/InvalidParameterException.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Ant.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Board.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Field.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/FileInputHelper.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/LangtonGame.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Main.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Torusboard.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/UserInputManager.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/input.txt create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.checkstyle create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.classpath create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.project create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.settings/org.eclipse.jdt.core.prefs create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4B_Bank/2016-03-19_12-17-51.zip create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4B_Bank/Assignment4B_Bank.iml create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4B_Bank/bin/edu/kit/informatik/Account.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4B_Bank/bin/edu/kit/informatik/Bank.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4B_Bank/bin/edu/kit/informatik/Container.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4B_Bank/bin/edu/kit/informatik/MinimaList.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4B_Bank/src/edu/kit/informatik/Account.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4B_Bank/src/edu/kit/informatik/Bank.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4B_Bank/src/edu/kit/informatik/Container.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment4B_Bank/src/edu/kit/informatik/MinimaList.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.checkstyle create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.classpath create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.project create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.settings/org.eclipse.jdt.core.prefs create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/2016-03-19_12-17-51.zip create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/Assignment5A_ConnectFour.iml create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/ConnectFourBoard.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/ConnectFourGame.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/InputManager.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/Main.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/Terminal.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/exceptions/IllegalMethodCallException.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/exceptions/UserInputException.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/ConnectFourBoard.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/ConnectFourGame.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/InputManager.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/Main.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/Terminal.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/exceptions/IllegalMethodCallException.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/exceptions/UserInputException.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.checkstyle create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.classpath create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.project create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.settings/org.eclipse.jdt.core.prefs create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/2016-03-19_12-17-51.zip create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/Assignment5B_Bank.iml create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/Account.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/AccountHolder.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/Bank.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/BankRegistry.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/Main.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/Terminal.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/exceptions/InvalidCommandException.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/list/Container.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/list/MinimaList.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/list/Pair.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/Account.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/AccountHolder.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/Bank.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/BankRegistry.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/Main.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/Terminal.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/exceptions/InvalidCommandException.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/list/Container.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/list/MinimaList.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/list/Pair.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.checkstyle create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.classpath create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.project create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.settings/org.eclipse.jdt.core.prefs create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/2016-03-19_12-17-51.zip create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/Assignment6A_EulerApproximation.iml create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/Command.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/CommandLineParser.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/Eulerapproximator.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/IllegalNumberException.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/Main.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/Terminal.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Command.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/CommandLineParser.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Eulerapproximator.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/IllegalNumberException.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Main.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Terminal.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.checkstyle create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.classpath create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.project create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.settings/org.eclipse.jdt.core.prefs create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/2016-03-19_12-17-51.zip create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/Assignment6B_Bank.iml create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/Account.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/AccountHolder.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/Bank.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/BankRegistry.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/Main.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/Pair.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/Terminal.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/commandline/Command.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/commandline/CommandLineParser.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/exceptions/AccountDoesNotExistException.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/exceptions/AccountHolderDoesNotExistException.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/exceptions/BankDoesNotExistException.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Account.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/AccountHolder.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Bank.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/BankRegistry.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Main.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Pair.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Terminal.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/commandline/Command.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/commandline/CommandLineParser.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/exceptions/AccountDoesNotExistException.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/exceptions/AccountHolderDoesNotExistException.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/exceptions/BankDoesNotExistException.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.checkstyle create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.classpath create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.project create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.settings/org.eclipse.jdt.core.prefs create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/2016-03-19_12-17-51.zip create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/Assignment6C_HtmlParser.iml create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/Command.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/CommandLineParser.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/FileInputHelper.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/Main.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/Pair.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/Tag.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/Terminal.class create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/html.txt create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Command.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/CommandLineParser.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/FileInputHelper.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Main.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Pair.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Tag.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Terminal.java create mode 100644 Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/html.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/.checkstyle create mode 100644 Uni/Java/WS1516/Programmieren/Final01/.classpath create mode 100644 Uni/Java/WS1516/Programmieren/Final01/.project create mode 100644 Uni/Java/WS1516/Programmieren/Final01/.settings/org.eclipse.jdt.core.prefs create mode 100644 Uni/Java/WS1516/Programmieren/Final01/2016-03-19_12-17-51.zip create mode 100644 Uni/Java/WS1516/Programmieren/Final01/Final01.iml create mode 100644 Uni/Java/WS1516/Programmieren/Final01/TestSuite.config create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/README.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/docs.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/docs.tex create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/Constant.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/ExitException.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/FileInputHelper.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/Main.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/MainTest.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/NoExitSecurityManager.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/Terminal.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/exception/IllegalObjectException.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/exception/InvalidFileFormatException.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/Edge.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/Graph.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/Vertex.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/fileinput/GraphBuilder.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/GraphPathFinder.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/PathVertex.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/PathVertexComparator.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/PathVertexDistanceComparator.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/PathVertexTimeComparator.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/Command.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/InfoCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/InputManager.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/InsertCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/NodesCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/QuitCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/RemoveCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/RouteCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/SearchCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/VerticesCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/tests/test.graph create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/tests/testsuite/ExpectionInputStream.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/tests/testsuite/ExpectionOutputStream.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/tests/testsuite/TestSuite.class create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/graphs/duplicateEdge.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/graphs/duplicateVertex.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/graphs/edgeWithoutVertex.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/graphs/emptyFile.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/graphs/negativeNumber.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/graphs/noDivider.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/graphs/noFirstPart.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/graphs/noSecondPart.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/graphs/notContinous.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/graphs/numberOverflow.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/graphs/numberZero.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/inputFile.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/insert.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/logs/insertTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/logs/nodesInsertTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/logs/nodesRemoveTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/logs/nodesTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/logs/publicTestTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/logs/removeTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/logs/removeTillEmptyTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/logs/removeTillNotCoherentTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/logs/routeTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/logs/searchTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/logs/test1Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/logs/test2Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/logs/treeGraphTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/logs/verticesTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/nodes.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/nodesInsert.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/nodesRemove.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/publicTest.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/remove.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/removeTillEmpty.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/removeTillNotCoherent.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/route.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/search.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/test.graph create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/texdoclet.jar create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/treeGraph.graph create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/treeGraph.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/bin/vertices.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/junit/edu/kit/informatik/ExitException.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/junit/edu/kit/informatik/MainTest.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/junit/edu/kit/informatik/NoExitSecurityManager.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/junit/graphs/duplicateEdge.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/junit/graphs/duplicateVertex.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/junit/graphs/edgeWithoutVertex.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/junit/graphs/emptyFile.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/junit/graphs/negativeNumber.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/junit/graphs/noDivider.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/junit/graphs/noFirstPart.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/junit/graphs/noSecondPart.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/junit/graphs/notContinous.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/junit/graphs/numberOverflow.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/junit/graphs/numberZero.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/docs.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/docs.tex create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/Constant.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/FileInputHelper.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/Main.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/Terminal.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/exception/IllegalObjectException.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/exception/InvalidFileFormatException.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/Edge.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/Graph.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/Vertex.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/fileinput/GraphBuilder.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/GraphPathFinder.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertex.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertexComparator.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertexDistanceComparator.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertexTimeComparator.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/Command.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/InfoCommand.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/InputManager.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/InsertCommand.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/NodesCommand.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/QuitCommand.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/RemoveCommand.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/RouteCommand.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/SearchCommand.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/VerticesCommand.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/test.graph create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/testsuite/ExpectionInputStream.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/testsuite/ExpectionOutputStream.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/testsuite/TestSuite.java create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/inputFile.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/src/texdoclet.jar create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/README.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/insert.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/logs/insertTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/logs/nodesInsertTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/logs/nodesRemoveTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/logs/nodesTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/logs/publicTestTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/logs/removeTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/logs/removeTillEmptyTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/logs/removeTillNotCoherentTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/logs/routeTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/logs/searchTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/logs/test1Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/logs/test2Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/logs/treeGraphTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/logs/verticesTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/nodes.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/nodesInsert.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/nodesRemove.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/publicTest.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/remove.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/removeTillEmpty.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/removeTillNotCoherent.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/route.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/search.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/test.graph create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/treeGraph.graph create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/treeGraph.test create mode 100644 Uni/Java/WS1516/Programmieren/Final01/tests/vertices.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/.checkstyle create mode 100644 Uni/Java/WS1516/Programmieren/Final02/.classpath create mode 100644 Uni/Java/WS1516/Programmieren/Final02/.idea/.name create mode 100644 Uni/Java/WS1516/Programmieren/Final02/.idea/checkstyle-idea.xml create mode 100644 Uni/Java/WS1516/Programmieren/Final02/.idea/compiler.xml create mode 100644 Uni/Java/WS1516/Programmieren/Final02/.idea/copyright/profiles_settings.xml create mode 100644 Uni/Java/WS1516/Programmieren/Final02/.idea/encodings.xml create mode 100644 Uni/Java/WS1516/Programmieren/Final02/.idea/misc.xml create mode 100644 Uni/Java/WS1516/Programmieren/Final02/.idea/modules.xml create mode 100644 Uni/Java/WS1516/Programmieren/Final02/.idea/uiDesigner.xml create mode 100644 Uni/Java/WS1516/Programmieren/Final02/.idea/workspace.xml create mode 100644 Uni/Java/WS1516/Programmieren/Final02/.project create mode 100644 Uni/Java/WS1516/Programmieren/Final02/.settings/org.eclipse.jdt.core.prefs create mode 100644 Uni/Java/WS1516/Programmieren/Final02/Final02.iml create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/README.md create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/bag.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/draw_colprint_rowprint.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/Constant.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/ExitException.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/FileInputHelper.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/Main.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/MainTest.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/NoExitSecurityManager.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/Terminal.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/exception/IllegalMethodCallException.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/exception/IllegalObjectException.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/exception/IllegalParameterException.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/exception/InvalidFileFormatException.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/game/BoardGame.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/game/EmptyToken.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/game/Token.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/game/TokenCounter.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/game/TorusBoardGame.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/Edge.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/Graph.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/Vertex.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/fileinput (1)/GraphBuilder.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/pathfinding/GraphPathFinder.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/pathfinding/PathVertex.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/pathfinding/PathVertexComparator.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/pathfinding/PathVertexDistanceComparator.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/pathfinding/PathVertexTimeComparator.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/BagCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/ColprintCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/Command.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/InfoCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/InputManager.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/InsertCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/NodesCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/PlaceCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/QuitCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/RemoveCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/RouteCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/RowprintCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/SearchCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/SelectCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/VerticesCommand.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/tests/test.graph create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/tests/testsuite/ExpectionInputStream.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/tests/testsuite/ExpectionOutputStream.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/tests/testsuite/TestSuite.class create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/extreme_error_test.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/graphs/duplicateEdge.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/graphs/duplicateVertex.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/graphs/edgeWithoutVertex.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/graphs/emptyFile.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/graphs/negativeNumber.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/graphs/noDivider.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/graphs/noFirstPart.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/graphs/noSecondPart.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/graphs/notContinous.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/graphs/numberOverflow.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/graphs/numberZero.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/inputFile.txt create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/bagTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/drawTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/draw_colprint_rowprintTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/insertTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/nodesInsertTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/nodesRemoveTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/nodesTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/place_standardTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/place_torusTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/publicTestTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/removeTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/removeTillEmptyTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/removeTillNotCoherentTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/routeTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/searchTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/selectTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/select_negativeTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/select_toBigTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (1)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (10)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (11)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (12)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (13)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (14)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (15)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (16)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (2)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (3)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (4)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (5)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (6)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (7)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (8)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (9)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (1)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (10)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (11)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (12)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (13)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (14)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (15)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (16)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (2)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (3)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (4)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (5)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (6)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (7)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (8)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (9)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgyTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_hollowTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_largeTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_massiveTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (1)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (10)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (11)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (12)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (13)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (14)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (15)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (16)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (2)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (3)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (4)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (5)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (6)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (7)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (8)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (9)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_roundTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_smallTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (1)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (10)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (11)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (12)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (13)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (14)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (15)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (16)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (2)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (3)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (4)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (5)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (6)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (7)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (8)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (9)Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_whiteTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/test1Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/test2Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_horizontalTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_topLeftTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_topRightTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_verticalTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/treeGraphTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_10Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_11Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_12Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_13Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_14Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_15Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_3Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_4Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_5Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_6Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_7Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_8Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_9Test.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_errorTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/logs/verticesTest.log create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/nodes.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/nodesInsert.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/nodesRemove.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/place_standard.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/place_torus.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/publicTest.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/remove.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/removeTillEmpty.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/removeTillNotCoherent.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/route.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest1.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest2.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest3.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest4.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/search.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/select.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/select_negative.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/select_toBig.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (1).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (10).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (11).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (12).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (13).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (14).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (15).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (16).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (2).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (3).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (4).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (5).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (6).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (7).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (8).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (9).test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_edgy.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_hollow.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_large.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_massive.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_round.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_small.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/standard_white.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/test.graph create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/testsuite.zip create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/torus_horizontal.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/torus_topLeft.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/torus_topRight.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/torus_vertical.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/treeGraph.graph create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/treeGraph.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/turncount_10.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/turncount_11.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/turncount_12.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/turncount_13.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/turncount_14.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/turncount_15.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/turncount_4.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/turncount_5.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/turncount_6.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/turncount_7.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/turncount_8.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/turncount_9.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/turncount_error.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/bin/vertices.test create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/Constant.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/Main.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/Terminal.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/exception/IllegalMethodCallException.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/exception/IllegalParameterException.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/BoardGame.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/EmptyToken.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/Token.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/TokenCounter.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/TorusBoardGame.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/BagCommand.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/ColprintCommand.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/Command.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/InputManager.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/PlaceCommand.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/QuitCommand.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/RowprintCommand.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/SelectCommand.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/tests/testsuite/ExpectionInputStream.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/tests/testsuite/ExpectionOutputStream.java create mode 100644 Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/tests/testsuite/TestSuite.java create mode 160000 Uni/Java/WS1516/Programmieren/Final02/tests diff --git a/C#_Mono/PlanetSimulation/.vs/PlanetSimulation/v14/.suo b/C#_Mono/PlanetSimulation/.vs/PlanetSimulation/v14/.suo new file mode 100644 index 0000000000000000000000000000000000000000..3fbaf399592e84f766843d5172447912f19890c9 GIT binary patch literal 23040 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 X;=i_fpQQe)EZbJ`C%yhr_h0`HrRH7! literal 0 HcmV?d00001 diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation.sln b/C#_Mono/PlanetSimulation/PlanetSimulation.sln new file mode 100644 index 0000000..026b0e8 --- /dev/null +++ b/C#_Mono/PlanetSimulation/PlanetSimulation.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlanetSimulation", "PlanetSimulation\PlanetSimulation.csproj", "{2877F3FC-9913-4CA7-91BC-C358597CCCB9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2877F3FC-9913-4CA7-91BC-C358597CCCB9}.Debug|x86.ActiveCfg = Debug|x86 + {2877F3FC-9913-4CA7-91BC-C358597CCCB9}.Debug|x86.Build.0 = Debug|x86 + {2877F3FC-9913-4CA7-91BC-C358597CCCB9}.Release|x86.ActiveCfg = Release|x86 + {2877F3FC-9913-4CA7-91BC-C358597CCCB9}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(MonoDevelopProperties) = preSolution + StartupItem = PlanetSimulation\PlanetSimulation.csproj + EndGlobalSection +EndGlobal diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation/Camera2D.cs b/C#_Mono/PlanetSimulation/PlanetSimulation/Camera2D.cs new file mode 100644 index 0000000..2e9cb7d --- /dev/null +++ b/C#_Mono/PlanetSimulation/PlanetSimulation/Camera2D.cs @@ -0,0 +1,56 @@ +using System; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +namespace PlanetSimulation +{ + public class Camera2d + { + protected float _zoom; // Camera Zoom + public Matrix _transform; // Matrix Transform + public Vector2 _pos; // Camera Position + protected float _rotation; // Camera Rotation + + public Camera2d() + { + _zoom = 1.0f; + _rotation = 0.0f; + _pos = Vector2.Zero; + } + // Sets and gets zoom + public float Zoom + { + get { return _zoom; } + set { _zoom = value; if (_zoom < 0.1f) _zoom = 0.1f; } // Negative zoom will flip image + } + + public float Rotation + { + get {return _rotation; } + set { _rotation = value; } + } + // Auxiliary function to move the camera + public void Move(Vector2 amount) + { + _pos += amount; + } + // Get set position + public Vector2 Pos + { + get{ return _pos; } + set{ _pos = value; } + } + + public Matrix get_transformation(GraphicsDevice graphicsDevice) + { + _transform = // Thanks to o KB o for this solution + Matrix.CreateTranslation(new Vector3(-_pos.X, -_pos.Y, 0)) * + Matrix.CreateRotationZ(Rotation) * + Matrix.CreateScale(new Vector3(Zoom, Zoom, 1)) * + Matrix.CreateTranslation(new Vector3(graphicsDevice.Viewport.Width * 0.5f, graphicsDevice.Viewport.Height * 0.5f, 0)); + return _transform; + } + + } +} + diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation/Game1.cs b/C#_Mono/PlanetSimulation/PlanetSimulation/Game1.cs new file mode 100644 index 0000000..aabf6f3 --- /dev/null +++ b/C#_Mono/PlanetSimulation/PlanetSimulation/Game1.cs @@ -0,0 +1,110 @@ +#region Using Statements +using System; + +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Storage; +using Microsoft.Xna.Framework.Input; +using C3.XNA; + +#endregion + +namespace PlanetSimulation +{ + /// + /// This is the main type for your game + /// + public class Game1 : Game + { + Camera2d cam; + + PlanetManager pManager; + + GraphicsDeviceManager graphics; + SpriteBatch spriteBatch; + + public Game1 () + { + graphics = new GraphicsDeviceManager (this); + Content.RootDirectory = "Content"; + graphics.IsFullScreen = true; + //graphics.ApplyChanges(); + } + + /// + /// Allows the game to perform any initialization it needs to before starting to run. + /// This is where it can query for any required services and load any non-graphic + /// related content. Calling base.Initialize will enumerate through any components + /// and initialize them as well. + /// + protected override void Initialize () + { + // TODO: Add your initialization logic here + + pManager = new PlanetManager(); + base.Initialize (); + cam = new Camera2d(); + + } + + /// + /// LoadContent will be called once per game and is the place to load + /// all of your content. + /// + protected override void LoadContent () + { + // Create a new SpriteBatch, which can be used to draw textures. + spriteBatch = new SpriteBatch (GraphicsDevice); + + //TODO: use this.Content to load your game content here + } + + /// + /// Allows the game to run logic such as updating the world, + /// checking for collisions, gathering input, and playing audio. + /// + /// Provides a snapshot of timing values. + protected override void Update (GameTime gameTime) + { + // For Mobile devices, this logic will close the Game when the Back button is pressed + if (GamePad.GetState (PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { + Exit (); + } + + if(Keyboard.GetState().IsKeyDown(Keys.OemMinus)) + cam.Zoom -= 0.025f; + if(Keyboard.GetState().IsKeyDown(Keys.OemPlus)) + cam.Zoom += 0.025f; + + if(Keyboard.GetState().IsKeyDown(Keys.Down)) + cam.Pos = Vector2.Add(cam.Pos, new Vector2(0,cam.Zoom * 20)); + if(Keyboard.GetState().IsKeyDown(Keys.Up)) + cam.Pos = Vector2.Add(cam.Pos, new Vector2(0,-cam.Zoom * 20)); + if(Keyboard.GetState().IsKeyDown(Keys.Right)) + cam.Pos = Vector2.Add(cam.Pos, new Vector2(cam.Zoom * 20 ,0)); + if(Keyboard.GetState().IsKeyDown(Keys.Left)) + cam.Pos = Vector2.Add(cam.Pos, new Vector2(-cam.Zoom * 20 ,0)); + + pManager.Update(gameTime); + // TODO: Add your update logic here + base.Update (gameTime); + } + + /// + /// This is called when the game should draw itself. + /// + /// Provides a snapshot of timing values. + protected override void Draw (GameTime gameTime) + { + graphics.GraphicsDevice.Clear (Color.Black); + //TODO: Add your drawing code here + spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend, null, null, null, null, + cam.get_transformation(GraphicsDevice /*Send the variable that has your graphic device here*/)); + + pManager.Draw(spriteBatch); + spriteBatch.End(); + base.Draw (gameTime); + } + } +} + diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation/Icon.png b/C#_Mono/PlanetSimulation/PlanetSimulation/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c57cf36ba7fdcbe623956abafde80c6655f878d5 GIT binary patch literal 6479 zcmV-V8L;MwP)Oz@Z0f2-7z;ux~O9+4z06=<WDR*FRcSTFz- zW=q650N5=6FiBTtNC2?60Km==3$g$R3;-}uh=nNt1bYBr$Ri_o0EC$U6h`t_Jn<{8 z5a%iY0C<_QJh>z}MS)ugEpZ1|S1ukX&Pf+56gFW3VVXcL!g-k)GJ!M?;PcD?0HBc- z5#WRK{dmp}uFlRjj{U%*%WZ25jX z{P*?XzTzZ-GF^d31o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcq zjPo+3B8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S z1Au6Q;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO002awfhw>;8}z{#EWidF!3EsG z3;bXU&9EIRU@z1_9W=mEXoiz;4lcq~xDGvV5BgyU zp1~-*fe8db$Osc*A=-!mVv1NJjtCc-h4>-CNCXm#Bp}I%6j35eku^v$Qi@a{RY)E3 zJ#qp$hg?Rwkvqr$GJ^buyhkyVfwECO)C{#lxu`c9ghrwZ&}4KmnvWKso6vH!8a<3Q zq36)6Xb;+tK10Vaz~~qUGsJ8#F2=(`u{bOVlVi)VBCHIn#u~6ztOL7=^<&SmcLWlF zMZgI*1b0FpVIDz9SWH+>*hr`#93(Um+6gxa1B6k+CnA%mOSC4s5&6UzVlpv@SV$}* z))J2sFA#f(L&P^E5{W}HC%KRUNwK6<(h|}}(r!{C=`5+6G)NjFlgZj-YqAG9lq?`C z$c5yc>d>VnA`E_*3F2Qp##d8RZb=H01_mm@+|Cqnc9PsG(F5HIG_C zt)aG3uTh7n6Et<2In9F>NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWwr)$3XQ?}=hpK0&Z&W{| zep&sA23f;Q!%st`QJ}G3cbou<7-yIK2z4nfCCCtN2-XOGSWo##{8Q{ATurxr~;I`ytDs%xbip}RzP zziy}Qn4Z2~fSycmr`~zJ=lUFdFa1>gZThG6M+{g7vkW8#+YHVaJjFF}Z#*3@$J_By zLtVo_L#1JrVVB{Ak-5=4qt!-@Mh}c>#$4kh<88)m#-k<%CLtzEP3leVno>={htGUuD;o7bD)w_sX$S}eAxwzy?UvgBH(S?;#HZiQMoS*2K2 zT3xe7t(~nU*1N5{rxB;QPLocnp4Ml>u<^FZwyC!nu;thW+pe~4wtZn|Vi#w(#jeBd zlf9FDx_yoPJqHbk*$%56S{;6Kv~mM9!g3B(KJ}#RZ#@)!hR|78Dq|Iq-afF%KE1Brn_fm;Im z_u$xr8UFki1L{Ox>G0o)(&RAZ;=|I=wN2l97;cLaHH6leTB-XXa*h%dBOEvi`+x zi?=Txl?TadvyiL>SuF~-LZ;|cS}4~l2eM~nS7yJ>iOM;atDY;(?aZ^v+mJV$@1Ote z62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~pu715HdQEGA zUct(O!LkCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$+<4_1hi}Ti zncS4LsjI}fWY1>OX6feMEuLErma3QLmkw?X+1j)X-&VBk_4Y;EFPF_I+q;9dL%E~B zJh;4Nr^(LEJ3myURP{Rblsw%57T)g973R8o)DE9*xN#~;4_o$q%o z4K@u`jhx2fBXC4{U8Qn{*%*B$Ge=nny$HAYq{=vy|sI0 z_vss+H_qMky?OB#|JK!>IX&II^LlUh#rO5!7TtbwC;iULyV-Xq?ybB}ykGP{?LpZ? z-G|jbTmIbG@7#ZCz;~eY(cDM(28Dyq{*m>M4?_iynUBkc4TkHUI6gT!;y-fz>HMcd z&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M!p0uH$#^p{Ui4P` z?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&GcDTy000JJOGiWi{{a60 z|De66lK=n!32;bRa{vGf6951U69E94oEQKA00(qQO+^RX0uBxjHgSvg`v3qAfk{L` zRA}DqnMrV5*L8-!^M-ysH_$+1Bmt5lNXgVxvPi{}Q{^Fv;y8-qIJV2jT^1=< z7RfpbCkt1~RVi0oD!Ed!<)|##vMf82OxY48nU**L5J3?0&f8BWdjU{@w$|Dh!-tj(FbPzE5|9JZ2_OSRKo@8y+63xA z71+9M7rN@_TI*|F%5e~5P}lz5-N2s!*~F+FU>z6)4i3ZM7!=Bo2_Wr*=Yb<&73dJ6 z4unnU)gWAgP6#cak?0)oHgN8iZ{T{v-(5H6`lTQZf91hHr65R7U<;V-!Ds;c4hkHw zFb?z!WNds=k?Wv*m#*uwV=XmpSc^0{W2h(Bl34Ku@PigS)rEN=1Uk1A#5a*L@Q+7@ zzkJZ)=tmv!fo+RvTA~m<7u-Rh0F(qq9dLTFk1SXE38qFVj+ar9rMX@wyu3z!d4m#w z4_AOiOE_)lylm)g!E?Y9z|RtlH;sW0k})6t_+F2rpZ8%nf#0$?Z3s-VVUT?FEcjh$ zOjfM>z?3|4yn@&7SnWoVOFN{ZL89sbYO@_`uT0zSnFa0(kOL0E1O#^)cun*9lL|+{ zuPm(oCIE_k!qk43{SO3iBEW7MM8#2Slj{_cRN~k;TGw+v;U|tr|Cb(Q@({S)B?+4w z3=aBeN^G=8?8-y^tQLG}cN!Gx4fZK*?{J_j@XapydCO-u439VMjkoY&D%8=6%cEb+ z^Uys3>6{PBL#%i8xWVrJK7wvB&FY_ioV&j`!QE3ep8noT)RxY&ued^>*ZIK<^ZfVs zF5!1KxckI@x$Bena_-z3YNturhmH$f2N8i8MWtie0A{bx`L`;8BNQqDPCgALjSzqY zSP2jb-u)goi0^u_nB)F097h*3y#9-`?8`55aA2F9+rV+Q=?}IT$*oDBT#}LEBI9=% z3ZHujbL^0`3=*c0i7b31LjZgNIJ#HSx>adtVg0f}ZFvx6ux=Xbq!CGjq`^tlO~Z~4 z+gXpv!vi!MJuaMGjbpntyl6By49vYUyVwaJmYWMa8U~jykOj2X><_y6!0i;Cooj<=sz(?{(*j|3H*2q zGA?{(6iPmXI^Nw+fw5gu=U!z-9Olg*aA;zjo->0JEi=3R5snRy;|j2%VlHtZiane~tF6OaJydxt$$aFLpRLy@2>0 z?uE+~LxZan-Nkokh7H^l^aaqD!R9S896_#5Iw|sU0{~aZ2z<7X;*ZK{?jOo9HkO40 z1vp%cukb(~oA(iApko9hDZ0jCJ#snU$%30Fo5|9$9?J1>J%@s;D7QB$%$+CI?a}9h z@5AQuEK3@c<1?O$C+b(SRu&SXILCb-jfu#@{3Y8Qxdjo*1N8We%>Q|0(@88{p zj%?xz0*-;S2iA|dZ`VMTfJ^yfEJ%fBB$Tt83`HvpcUGvR4IW?=I0_s`;}jHuy4}@&>Ln;Hfz{wFdKzI6?Fbs|iEx-2lLM87!t49V^0J1GsD3u&%K6 z>=5OHQ><-n$oA@@ln45#_Z(a8AfDb~-0kAHFyQP^bhgRq4n;2xJd*^qmH5)Hb}-h0 zC$Z07?QV8cgETPYz(f0?ZjhBO;c|mBz)#aI7cw5vR(LIdz!8Sa86wAnRpZ$eFJL|0 zFM8}CeGfds_RKufHJ`i`>7>(Q+%6NH8IHPDMpG8!fN_&<2vGL@sqP20dRM^==CO|r zKqZg#r-}aOJQp@Qoat)nU40{&D+mk~1KhQ)$0@a+%Ev#={YP?)SK6e!D#hF&J3P#f zUpUS9Sc;Ut4FM*f$VxwuGn09d5 zgocz~olhrW!%XsL^*7sRgr8lyVYt0lA=<5R~= z5G@f#D`bWym|mY`dU}ykN^l$~Sj`9xTf=!~?-bB%H^CQWCW!JhzV~qmW!blE= zvSboMcLSNLJHl!^LiY^Vp0&-nCAyVSVgDrb)+wY~jFzh8i-%d?s4+9sMH>&dy8&~r zu{85bHXGyks*F_ztH3(9<|@6!T^xxu$x?y^6~!PcX&6Wothe9gW!KQ@$QR}tU34b` z-RaSqK0~(}LFP_y2PqdEM*9`bUXJgdbojULG| zi)Sbwq@tl0!Idpou0yK>Hi{=xR)NuAqWE*xgN%m@r1qo|^&XwJVy7E{7g-sNnyk&P zb8>i+ho|l#muuj5GK8r^+$3~q9x{6_v9dJ;PDx_uOI$mJmz6y z;!)mC7g`Z28FJaZrVAcO%|rFP}o>Nt*#PnY;stI z)LU&{U+EF*G(SJRWZ!({EqRztDvm+LnFOm5l8ke`S{0MNz(QJL|DS8Z+uPX50LDF} z*@f>ez)X`jLc`CJj?Cw=j1+vb2$c+!l){;xCB3caYd87BLJtCn0_=T#@WiEc zdFJUCIS`$&S7w)G{@gqqhoAsGb?q4XgQROA>%bR=;6LZ#nHA(n0C|I5=^%@3*ip0- zH!aB)B7wTVpOxT{2miYYKTKwED>3_Q0BbiJY?U0Cs5p!iE$+C3O>0Y^wUh*L z4Wujt7C|AyF1AmQQ&lam@0f5pq&3|l^-dev4w0Ni@&-}{E3vzXelJy8tB~EPRYx&b z=o9c1bRuLaL@$JFXm}bpb?x;0#!19ZAhcSFK{AL<$KbtcpNINEF4st0Ux6 z2m4=D>`!($H`C$N**5j*7GY0e1B(|b+;)U$g}4eljonp^W!GnGHK<-ZXnimP$|9FT z+KUm-g_h@l%hv#q8>bPC(6Y6n_}H*8cEG{Q8E`dd1rnc>I117ld%lf4*TBBm;&RRK z4d7pZA8L4ET`_yI$@ov34F9SfpY#Z@FX`5dLQwA&E>XPKQ0Ta*z1>F6ht#W@Z?r70 z>?U$C3*9@w+JMtCOw<%(cM6mYHd2Vyh->2PvJ)XcX~VN^mKHT%2c85rfo%;-EyGIF zFkjbP*jB7J4c?`Y{KXKj9wCl~oWW)dI2u&4ztQo}G8#^Hke_x~Yg_(3w7he}o8F#p zL=FbHR5OfRi8wyx;Po3MYp^;7KvN;FhVVkj=39#AfPYOg#O^v(2hIQ|dvJMCVa`OT z(;-F-Mj8B2<3@3s711%ha5Wf>G!*iGA<;__Z-t!;@G4Vf8DuwjrZ8lF-xYj`1oZvxBL_5Zj0K2Qg$i;$Z$+%arP zy=vfD%f%4BhVbI forces; public List Forces { + get { return forces; } + set{ forces = value;} + } + private Vector2 acceleration; + private Vector2 velocity; public Vector2 Velocity{ get{ return velocity;}} + + + /// + /// Initializes a new instance of the class. + /// + /// + /// Center of the planet + /// + /// + /// Mass of the Planet + /// + /// + /// Radius of the planet + /// + public Planet (Vector2 center, long mass, long radius) + { + this.velocity = Vector2.Zero; + + this.mass = mass; + this.radius = radius; + this.center = center; + this.forces = new List(); + this.acceleration = Vector2.Zero; + } + /// + /// Initializes a new instance of the class. + /// + /// + /// Center of the planet + /// + /// + /// Mass of the planet + /// + /// + /// Radius of the planet + /// + /// + /// Velocity of the planet + /// + public Planet (Vector2 center, long mass, long radius, Vector2 velocity) + { + this.velocity = velocity; + + this.mass = mass; + this.radius = radius; + this.center = center; + this.forces = new List(); + this.acceleration = Vector2.Zero; + } + + public void Update (GameTime gameTime) + { + calcAcceleration(); + calcVelocity(gameTime); + move(gameTime); + } + public void Draw(SpriteBatch spriteBatch) + { + spriteBatch.DrawCircle(center, radius, (int)radius, Color.Red); + /*foreach (var f in forces) { + spriteBatch.DrawLine(center, Vector2.Add(center, Vector2.Multiply(Vector2.Normalize(f), 100)), Color.Green); + //spriteBatch.DrawLine(center, Vector2.Add(center, f), Color.Green); + }*/ + forces.Clear(); + //Draw Acceleration + spriteBatch.DrawLine(center, Vector2.Add(center, Vector2.Multiply(acceleration, 1)), Color.Orange); + //Draw Velocity + spriteBatch.DrawLine(center, Vector2.Add(center, velocity), Color.White); + } + + /// + /// Moves the Planet according to it's velocity. + /// + /// + /// GameTime element from MonoGame/XNA + /// + private void move (GameTime gameTime) + { + float elapsedSeconds = (float)gameTime.ElapsedGameTime.Milliseconds / 1000; + center = Vector2.Add(center, Vector2.Multiply(velocity, elapsedSeconds)); + } + /// + /// Updates the Velocity of the Planet by using the acceleration. + /// + /// + /// GameTime element from MonoGame/XNA + /// + private void calcVelocity (GameTime gameTime) + { + float elapsedSeconds = (float)gameTime.ElapsedGameTime.Milliseconds / 1000; + + velocity = Vector2.Add(velocity, Vector2.Multiply(acceleration, elapsedSeconds)); + } + /// + /// Calculates the acceleration out of all occouring forces which are saved in the List forces which consists of 2D Vectors. + /// + private void calcAcceleration() + { + Vector2 f = Vector2.Zero; + foreach(Vector2 v in forces) + { + f = Vector2.Add(f,v); + } + + //F = m x a <=> F/m = a + acceleration = Vector2.Divide(f,mass); + } + } +} + diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation/PlanetManager.cs b/C#_Mono/PlanetSimulation/PlanetSimulation/PlanetManager.cs new file mode 100644 index 0000000..ed1c74b --- /dev/null +++ b/C#_Mono/PlanetSimulation/PlanetSimulation/PlanetManager.cs @@ -0,0 +1,108 @@ +using System; +using System.Collections.Generic; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +namespace PlanetSimulation +{ + public class PlanetManager + { + public const float G = 0.02f; + private Rectangle boundsOfUniverse; + List planets; + public PlanetManager () + { + int size = 5000; + boundsOfUniverse = new Rectangle(-size,-size, 2*size, 2*size); + + + Random random = new Random(); + + planets = new List(); + + //planets.Add(new Planet(Vector2.Zero, 30000, 100, new Vector2(0,0))); + //planets.Add(new Planet(new Vector2(0,300), 1000, 20, new Vector2(20,0))); + //p.Add(new Planet(new Vector2(0,500), 20, 5, new Vector2(75,0))); + for (int i = 0; i < 200; i++) { + + int radius = random.Next(1,40); + planets.Add(new Planet(new Vector2(random.Next(boundsOfUniverse.X, boundsOfUniverse.Width + boundsOfUniverse.X), + random.Next(boundsOfUniverse.Y, boundsOfUniverse.Height + boundsOfUniverse.Y)) + ,(radius*radius)*6, radius + ,new Vector2(random.Next(-50,50),random.Next(-50,50)))); + } + } + public void Update (GameTime gameTime) + { + for (int i = 0; i < (planets.Count -1); i++) { + for (int j = i+1; j < planets.Count; j++) { + calcForce (planets[i], planets[j]); + checkANDcalcCollision(planets[i], planets[j]); + } + } + foreach (Planet planet in planets) { + planet.Update(gameTime); + } + } + public void Draw(SpriteBatch spriteBatch) + { + foreach(Planet planet in planets) + { + planet.Draw(spriteBatch); + } + } + + /// + /// Checks if a Collision occours between the two planets occours and + /// if they collide it calculates the Impact of the collision and the resulting force. + /// + /// + /// first planet + /// + /// + /// second plane + /// + private void checkANDcalcCollision (Planet p, Planet q) + { + var dx = p.Center.X - q.Center.X; + var dy = p.Center.Y - q.Center.Y; + var dist = p.Radius + q.Radius; + + if (dx * dx + dy * dy <= dist * dist) { + //The planets Crash... + + Vector2 v = Vector2.Add(Vector2.Multiply(p.Velocity,((float)p.Mass/(p.Mass + q.Mass))), Vector2.Multiply(q.Velocity,((float)q.Mass/(q.Mass + p.Mass)))); + Vector2 center = (p.Mass > q.Mass)?p.Center:q.Center; + long r = (long)Math.Sqrt((p.Radius*p.Radius + q.Radius* q.Radius)); + + Planet _tmp = new Planet(center, p.Mass + q.Mass, r, v); + planets.Add(_tmp); + planets.Remove(p); + planets.Remove(q); + //Insert What happens when the planets crash here + } + } + /// +/// Calculates the force of gravity which occours between the two planets +/// and adds it to the List of Forces of each Planet +/// +/// +/// first planet. +/// +/// +/// second planet. +/// + private void calcForce(Planet p, Planet q) + { + //http://goo.gl/Yt6vdj Newtons law of Gravity + Vector2 direction = Vector2.Add(-p.Center,q.Center); + float F = G* ((p.Mass * q.Mass)/(Vector2.Distance(p.Center,q.Center))); + + Vector2 Force = Vector2.Multiply(Vector2.Normalize(direction), F); + p.Forces.Add(Force); + q.Forces.Add(Vector2.Multiply(Force, -1f)); + } + + } +} + diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation/PlanetSimulation.csproj b/C#_Mono/PlanetSimulation/PlanetSimulation/PlanetSimulation.csproj new file mode 100644 index 0000000..64f73c8 --- /dev/null +++ b/C#_Mono/PlanetSimulation/PlanetSimulation/PlanetSimulation.csproj @@ -0,0 +1,57 @@ + + + + Debug + x86 + 10.0.0 + 2.0 + {2877F3FC-9913-4CA7-91BC-C358597CCCB9} + {9B831FEF-F496-498F-9FE8-180DA5CB4258};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Exe + PlanetSimulation + Linux + PlanetSimulation + + + true + full + false + bin\Debug + DEBUG; + prompt + 4 + x86 + false + + + none + true + bin\Release + prompt + 4 + x86 + false + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation/Primitives2D.cs b/C#_Mono/PlanetSimulation/PlanetSimulation/Primitives2D.cs new file mode 100644 index 0000000..e647ae0 --- /dev/null +++ b/C#_Mono/PlanetSimulation/PlanetSimulation/Primitives2D.cs @@ -0,0 +1,539 @@ +using System; +using System.Collections.Generic; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +namespace C3.XNA +{ + /// + /// + public static class Primitives2D + { + + + #region Private Members + + private static readonly Dictionary> circleCache = new Dictionary>(); + //private static readonly Dictionary> arcCache = new Dictionary>(); + private static Texture2D pixel; + + #endregion + + + #region Private Methods + + private static void CreateThePixel(SpriteBatch spriteBatch) + { + pixel = new Texture2D(spriteBatch.GraphicsDevice, 1, 1, false, SurfaceFormat.Color); + pixel.SetData(new[]{ Color.White }); + } + + + /// + /// Draws a list of connecting points + /// + /// The destination drawing surface + /// /// Where to position the points + /// The points to connect with lines + /// The color to use + /// The thickness of the lines + private static void DrawPoints(SpriteBatch spriteBatch, Vector2 position, List points, Color color, float thickness) + { + if (points.Count < 2) + return; + + for (int i = 1; i < points.Count; i++) + { + DrawLine(spriteBatch, points[i - 1] + position, points[i] + position, color, thickness); + } + } + + + /// + /// Creates a list of vectors that represents a circle + /// + /// The radius of the circle + /// The number of sides to generate + /// A list of vectors that, if connected, will create a circle + private static List CreateCircle(double radius, int sides) + { + // Look for a cached version of this circle + String circleKey = radius + "x" + sides; + if (circleCache.ContainsKey(circleKey)) + { + return circleCache[circleKey]; + } + + List vectors = new List(); + + const double max = 2.0 * Math.PI; + double step = max / sides; + + for (double theta = 0.0; theta < max; theta += step) + { + vectors.Add(new Vector2((float)(radius * Math.Cos(theta)), (float)(radius * Math.Sin(theta)))); + } + + // then add the first vector again so it's a complete loop + vectors.Add(new Vector2((float)(radius * Math.Cos(0)), (float)(radius * Math.Sin(0)))); + + // Cache this circle so that it can be quickly drawn next time + circleCache.Add(circleKey, vectors); + + return vectors; + } + + + /// + /// Creates a list of vectors that represents an arc + /// + /// The radius of the arc + /// The number of sides to generate in the circle that this will cut out from + /// The starting angle of arc, 0 being to the east, increasing as you go clockwise + /// The radians to draw, clockwise from the starting angle + /// A list of vectors that, if connected, will create an arc + private static List CreateArc(float radius, int sides, float startingAngle, float radians) + { + List points = new List(); + points.AddRange(CreateCircle(radius, sides)); + points.RemoveAt(points.Count - 1); // remove the last point because it's a duplicate of the first + + // The circle starts at (radius, 0) + double curAngle = 0.0; + double anglePerSide = MathHelper.TwoPi / sides; + + // "Rotate" to the starting point + while ((curAngle + (anglePerSide / 2.0)) < startingAngle) + { + curAngle += anglePerSide; + + // move the first point to the end + points.Add(points[0]); + points.RemoveAt(0); + } + + // Add the first point, just in case we make a full circle + points.Add(points[0]); + + // Now remove the points at the end of the circle to create the arc + int sidesInArc = (int)((radians / anglePerSide) + 0.5); + points.RemoveRange(sidesInArc + 1, points.Count - sidesInArc - 1); + + return points; + } + + #endregion + + + #region FillRectangle + + /// + /// Draws a filled rectangle + /// + /// The destination drawing surface + /// The rectangle to draw + /// The color to draw the rectangle in + public static void FillRectangle(this SpriteBatch spriteBatch, Rectangle rect, Color color) + { + if (pixel == null) + { + CreateThePixel(spriteBatch); + } + + // Simply use the function already there + spriteBatch.Draw(pixel, rect, color); + } + + + /// + /// Draws a filled rectangle + /// + /// The destination drawing surface + /// The rectangle to draw + /// The color to draw the rectangle in + /// The angle in radians to draw the rectangle at + public static void FillRectangle(this SpriteBatch spriteBatch, Rectangle rect, Color color, float angle) + { + if (pixel == null) + { + CreateThePixel(spriteBatch); + } + + spriteBatch.Draw(pixel, rect, null, color, angle, Vector2.Zero, SpriteEffects.None, 0); + } + + + /// + /// Draws a filled rectangle + /// + /// The destination drawing surface + /// Where to draw + /// The size of the rectangle + /// The color to draw the rectangle in + public static void FillRectangle(this SpriteBatch spriteBatch, Vector2 location, Vector2 size, Color color) + { + FillRectangle(spriteBatch, location, size, color, 0.0f); + } + + + /// + /// Draws a filled rectangle + /// + /// The destination drawing surface + /// Where to draw + /// The size of the rectangle + /// The angle in radians to draw the rectangle at + /// The color to draw the rectangle in + public static void FillRectangle(this SpriteBatch spriteBatch, Vector2 location, Vector2 size, Color color, float angle) + { + if (pixel == null) + { + CreateThePixel(spriteBatch); + } + + // stretch the pixel between the two vectors + spriteBatch.Draw(pixel, + location, + null, + color, + angle, + Vector2.Zero, + size, + SpriteEffects.None, + 0); + } + + + /// + /// Draws a filled rectangle + /// + /// The destination drawing surface + /// The X coord of the left side + /// The Y coord of the upper side + /// Width + /// Height + /// The color to draw the rectangle in + public static void FillRectangle(this SpriteBatch spriteBatch, float x, float y, float w, float h, Color color) + { + FillRectangle(spriteBatch, new Vector2(x, y), new Vector2(w, h), color, 0.0f); + } + + + /// + /// Draws a filled rectangle + /// + /// The destination drawing surface + /// The X coord of the left side + /// The Y coord of the upper side + /// Width + /// Height + /// The color to draw the rectangle in + /// The angle of the rectangle in radians + public static void FillRectangle(this SpriteBatch spriteBatch, float x, float y, float w, float h, Color color, float angle) + { + FillRectangle(spriteBatch, new Vector2(x, y), new Vector2(w, h), color, angle); + } + + #endregion + + + #region DrawRectangle + + /// + /// Draws a rectangle with the thickness provided + /// + /// The destination drawing surface + /// The rectangle to draw + /// The color to draw the rectangle in + public static void DrawRectangle(this SpriteBatch spriteBatch, Rectangle rect, Color color) + { + DrawRectangle(spriteBatch, rect, color, 1.0f); + } + + + /// + /// Draws a rectangle with the thickness provided + /// + /// The destination drawing surface + /// The rectangle to draw + /// The color to draw the rectangle in + /// The thickness of the lines + public static void DrawRectangle(this SpriteBatch spriteBatch, Rectangle rect, Color color, float thickness) + { + + // TODO: Handle rotations + // TODO: Figure out the pattern for the offsets required and then handle it in the line instead of here + + DrawLine(spriteBatch, new Vector2(rect.X, rect.Y), new Vector2(rect.Right, rect.Y), color, thickness); // top + DrawLine(spriteBatch, new Vector2(rect.X + 1f, rect.Y), new Vector2(rect.X + 1f, rect.Bottom + thickness), color, thickness); // left + DrawLine(spriteBatch, new Vector2(rect.X, rect.Bottom), new Vector2(rect.Right, rect.Bottom), color, thickness); // bottom + DrawLine(spriteBatch, new Vector2(rect.Right + 1f, rect.Y), new Vector2(rect.Right + 1f, rect.Bottom + thickness), color, thickness); // right + } + + + /// + /// Draws a rectangle with the thickness provided + /// + /// The destination drawing surface + /// Where to draw + /// The size of the rectangle + /// The color to draw the rectangle in + public static void DrawRectangle(this SpriteBatch spriteBatch, Vector2 location, Vector2 size, Color color) + { + DrawRectangle(spriteBatch, new Rectangle((int)location.X, (int)location.Y, (int)size.X, (int)size.Y), color, 1.0f); + } + + + /// + /// Draws a rectangle with the thickness provided + /// + /// The destination drawing surface + /// Where to draw + /// The size of the rectangle + /// The color to draw the rectangle in + /// The thickness of the line + public static void DrawRectangle(this SpriteBatch spriteBatch, Vector2 location, Vector2 size, Color color, float thickness) + { + DrawRectangle(spriteBatch, new Rectangle((int)location.X, (int)location.Y, (int)size.X, (int)size.Y), color, thickness); + } + + #endregion + + + #region DrawLine + + /// + /// Draws a line from point1 to point2 with an offset + /// + /// The destination drawing surface + /// The X coord of the first point + /// The Y coord of the first point + /// The X coord of the second point + /// The Y coord of the second point + /// The color to use + public static void DrawLine(this SpriteBatch spriteBatch, float x1, float y1, float x2, float y2, Color color) + { + DrawLine(spriteBatch, new Vector2(x1, y1), new Vector2(x2, y2), color, 1.0f); + } + + + /// + /// Draws a line from point1 to point2 with an offset + /// + /// The destination drawing surface + /// The X coord of the first point + /// The Y coord of the first point + /// The X coord of the second point + /// The Y coord of the second point + /// The color to use + /// The thickness of the line + public static void DrawLine(this SpriteBatch spriteBatch, float x1, float y1, float x2, float y2, Color color, float thickness) + { + DrawLine(spriteBatch, new Vector2(x1, y1), new Vector2(x2, y2), color, thickness); + } + + + /// + /// Draws a line from point1 to point2 with an offset + /// + /// The destination drawing surface + /// The first point + /// The second point + /// The color to use + public static void DrawLine(this SpriteBatch spriteBatch, Vector2 point1, Vector2 point2, Color color) + { + DrawLine(spriteBatch, point1, point2, color, 1.0f); + } + + + /// + /// Draws a line from point1 to point2 with an offset + /// + /// The destination drawing surface + /// The first point + /// The second point + /// The color to use + /// The thickness of the line + public static void DrawLine(this SpriteBatch spriteBatch, Vector2 point1, Vector2 point2, Color color, float thickness) + { + // calculate the distance between the two vectors + float distance = Vector2.Distance(point1, point2); + + // calculate the angle between the two vectors + float angle = (float)Math.Atan2(point2.Y - point1.Y, point2.X - point1.X); + + DrawLine(spriteBatch, point1, distance, angle, color, thickness); + } + + + /// + /// Draws a line from point1 to point2 with an offset + /// + /// The destination drawing surface + /// The starting point + /// The length of the line + /// The angle of this line from the starting point in radians + /// The color to use + public static void DrawLine(this SpriteBatch spriteBatch, Vector2 point, float length, float angle, Color color) + { + DrawLine(spriteBatch, point, length, angle, color, 1.0f); + } + + + /// + /// Draws a line from point1 to point2 with an offset + /// + /// The destination drawing surface + /// The starting point + /// The length of the line + /// The angle of this line from the starting point + /// The color to use + /// The thickness of the line + public static void DrawLine(this SpriteBatch spriteBatch, Vector2 point, float length, float angle, Color color, float thickness) + { + if (pixel == null) + { + CreateThePixel(spriteBatch); + } + + // stretch the pixel between the two vectors + spriteBatch.Draw(pixel, + point, + null, + color, + angle, + Vector2.Zero, + new Vector2(length, thickness), + SpriteEffects.None, + 0); + } + + #endregion + + + #region PutPixel + + public static void PutPixel(this SpriteBatch spriteBatch, float x, float y, Color color) + { + PutPixel(spriteBatch, new Vector2(x, y), color); + } + + + public static void PutPixel(this SpriteBatch spriteBatch, Vector2 position, Color color) + { + if (pixel == null) + { + CreateThePixel(spriteBatch); + } + + spriteBatch.Draw(pixel, position, color); + } + + #endregion + + + #region DrawCircle + + /// + /// Draw a circle + /// + /// The destination drawing surface + /// The center of the circle + /// The radius of the circle + /// The number of sides to generate + /// The color of the circle + public static void DrawCircle(this SpriteBatch spriteBatch, Vector2 center, float radius, int sides, Color color) + { + DrawPoints(spriteBatch, center, CreateCircle(radius, sides), color, 1.0f); + } + + + /// + /// Draw a circle + /// + /// The destination drawing surface + /// The center of the circle + /// The radius of the circle + /// The number of sides to generate + /// The color of the circle + /// The thickness of the lines used + public static void DrawCircle(this SpriteBatch spriteBatch, Vector2 center, float radius, int sides, Color color, float thickness) + { + DrawPoints(spriteBatch, center, CreateCircle(radius, sides), color, thickness); + } + + + /// + /// Draw a circle + /// + /// The destination drawing surface + /// The center X of the circle + /// The center Y of the circle + /// The radius of the circle + /// The number of sides to generate + /// The color of the circle + public static void DrawCircle(this SpriteBatch spriteBatch, float x, float y, float radius, int sides, Color color) + { + DrawPoints(spriteBatch, new Vector2(x, y), CreateCircle(radius, sides), color, 1.0f); + } + + + /// + /// Draw a circle + /// + /// The destination drawing surface + /// The center X of the circle + /// The center Y of the circle + /// The radius of the circle + /// The number of sides to generate + /// The color of the circle + /// The thickness of the lines used + public static void DrawCircle(this SpriteBatch spriteBatch, float x, float y, float radius, int sides, Color color, float thickness) + { + DrawPoints(spriteBatch, new Vector2(x, y), CreateCircle(radius, sides), color, thickness); + } + + #endregion + + + #region DrawArc + + /// + /// Draw a arc + /// + /// The destination drawing surface + /// The center of the arc + /// The radius of the arc + /// The number of sides to generate + /// The starting angle of arc, 0 being to the east, increasing as you go clockwise + /// The number of radians to draw, clockwise from the starting angle + /// The color of the arc + public static void DrawArc(this SpriteBatch spriteBatch, Vector2 center, float radius, int sides, float startingAngle, float radians, Color color) + { + DrawArc(spriteBatch, center, radius, sides, startingAngle, radians, color, 1.0f); + } + + + /// + /// Draw a arc + /// + /// The destination drawing surface + /// The center of the arc + /// The radius of the arc + /// The number of sides to generate + /// The starting angle of arc, 0 being to the east, increasing as you go clockwise + /// The number of radians to draw, clockwise from the starting angle + /// The color of the arc + /// The thickness of the arc + public static void DrawArc(this SpriteBatch spriteBatch, Vector2 center, float radius, int sides, float startingAngle, float radians, Color color, float thickness) + { + List arc = CreateArc(radius, sides, startingAngle, radians); + //List arc = CreateArc2(radius, sides, startingAngle, degrees); + DrawPoints(spriteBatch, center, arc, color, thickness); + } + + #endregion + + + } +} \ No newline at end of file diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation/Program.cs b/C#_Mono/PlanetSimulation/PlanetSimulation/Program.cs new file mode 100644 index 0000000..f0625de --- /dev/null +++ b/C#_Mono/PlanetSimulation/PlanetSimulation/Program.cs @@ -0,0 +1,24 @@ +#region Using Statements +using System; +using System.Collections.Generic; +using System.Linq; + +#endregion + +namespace PlanetSimulation +{ + static class Program + { + private static Game1 game; + + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main () + { + game = new Game1 (); + game.Run (); + } + } +} diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation/Properties/AssemblyInfo.cs b/C#_Mono/PlanetSimulation/PlanetSimulation/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7f62166 --- /dev/null +++ b/C#_Mono/PlanetSimulation/PlanetSimulation/Properties/AssemblyInfo.cs @@ -0,0 +1,27 @@ +using System.Reflection; +using System.Runtime.CompilerServices; + +// Information about this assembly is defined by the following attributes. +// Change them to the values specific to your project. + +[assembly: AssemblyTitle("PlanetSimulation")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("hannes")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". +// The form "{Major}.{Minor}.*" will automatically update the build and revision, +// and "{Major}.{Minor}.{Build}.*" will update just the revision. + +[assembly: AssemblyVersion("1.0.0")] + +// The following attributes are used to specify the signing key for the assembly, +// if desired. See the Mono documentation for more information about signing. + +//[assembly: AssemblyDelaySign(false)] +//[assembly: AssemblyKeyFile("")] + diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/Lidgren.Network.dll b/C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/Lidgren.Network.dll new file mode 100644 index 0000000000000000000000000000000000000000..a703f66aa5dc4b5835044c702e25df22d1b5853d GIT binary patch literal 118272 zcmdSC37i~9bwA$Q-P1kOGrQW}S@o=TrJa@RUD`8yY1fA^*jk^74cHhA?5-?JmSh{P zWwn{LO<+8-%#E>SL<9k2L}IQ0;XVTiB>ch=!YN2dz=%5sfy5k1NXSqAf4}cl&!Nl5 zFUkKCeYDfnRj*#XdiCnnt5-)qW$~4kV_BAqzlR>OtdHW!e{=GC@}Ip(?kRt)$NFII zi)%mH_2e(Ez4F;Rmq%`@CD+%kxp8FsHM@5wH;-()cBFR8?vb6lM=rel=_5BLJFcDV z?hZ~hsGoX~Wj(peu`Ygn^@_B#?^^cSd{^GGKGS7cp2i;j5yB%3+xVN)FoL9;|I(*5 zhe(3ppJUCv*s^-%f9q*p6~uZa@IFbxw)I*v;^==PwpBpfFMrr&tv)*KWbY%Em2FGU z;{7+<-Y0Lq_P1`v`wu^D>czSmx>GP@**aNUu5Cwz(q=0BIl#94o3pIB$=bEM5&)7` z3p5L^FB}7Rep@yP{t5Ytf27T}GS+|oi)H=lpDe30r+_@7pCvmkT2^2?4bo~m^?p1W zz~)xg*-ngrS9z6PXQETzBEMJTHyKBQT_>EAyn;Xn4Ychx(6+Aa-n{}8HXsfNFF(V! zyhaA$%E#7RbKSJr)+#o=uIPF;9L`_gq=+s%XLdEwWM{okd zyosCa7$tX5sJT<@`RZAAoy7TuhI@OvIwSh;Z?B)?^Gox2r9aJ)n7Y%{Tb4bb_m-Igz4cd!iLddT7^4^~zZU zSnv(&EbDhSF76DfB~7`(uCsPG%p<{?+q5(AMvjy%YrQ@KaGS|eDg!CuUW{Tr)V(*+bkYN_DeC#fI=nstUivx22QJ9#PD_YM?A zI@kLkjR8|M#2gVqN-845Dwj|gb?6fJhRRE9XP1#xBfMz7`PfJO7a9bqj6tjzSZIdk zD`>Bbbqgqkeh3BlhQRh3P$OijJX8oz1s;gR-g6fh+Ee%Z86cA`BpQAjxVepsDWFNI z|1BUzs21lNeZ(K5zfoj_hMg%dN9!1jDCB(DN|Kf+EK9j;3)rEgUwD1Tqvy3L_nB$A zf_*4$LxWh0PfnFWUhr57VShk&4$+}|$WT3r_DuB+*`f?V3>m%h= z8FG%$f=GrS2IJ>ww8RW1&jR*hCd}B4%>ctw1io>Vym-lHkgV`wMu#-WH7JsSupt3N zu&Y$?EScw8^JL#)JZuhm4)F;NQQwh&lxby6K-smdGrVtcMN4_I@&LDfH_ppq%8W(Q2qF-of?WExS@wt_6MQl&vRK_!BDeU$f1JEdyZz`V2`RKBzw+KDxk zrbC#;97;Y6Zg_6;If4i@vOC^`!bTBLEEr~4B^gc7Yp62|?y9TLrrEUN zTKr&88AjyL{KBeD-8s9?21!t}U_E+4^Q9Zw55pey5Fb8XnQOF|LkvS@|rjD$JmZqr>KA?rCF3w0=VQs?1YSu!Tc? zmW*BK4rB`+PeiAjO8$DLMMI|((;bKQ1Ge5OA8mF2U?I1`3v3hI*l1a z4F3>w!DLt+w*B~($hrI~vaY&1eZ2;8LAAT%70s2M?^arK-u=z7dvbV`GQ6Z7m|2EYFn|?xpxo^} zNDzIm0C|BZ7~~vzBomkzmANAi|TcUD1`wtW#Qmx+QH{3eIJ!FdTOoIxa}iEd!~OW1Wi< zVHJhQ;LZoyNZ!49f1)Sjh@f8C<7O_svXb$WJ5eCs{Nxn~`1O|qc>-k=EL>R`4g6Sc}L#bHR^HS8T`{^uJu?*_i592`uwf21=)5_e1 z>b6VO!vdg~A@J*^c)|b;qo5kKT4)?oy?tm2uQX2;%-#j7@jEalNzfS}$R2WH6zN3} z1?j0*0A{qi&yLrkP1@qLxe{BLm*F@c(7O$bS|2yGx?@`4$*6tNW2M#| z?^o>Y1Vi6zOFWhIN=3Y7bo?Me2cRi@vU&{Ep50lGryNxeC%F=Jghzn_qodt;@mL~^ zVAhXI1Jr`>=m4M6o-k|N$G;4(HZ2@CDWG8jZ~S?fqnMa(#LVn;5 zk7a=oWjjW<0Lfw)Pp-CC)qXA%Lh-xt3n08PlvbdUQ?vUUq@$UYGyfYR?fEq{-3b$C z>{^ct0ek`l@C7!!M$$Q3U9!FVk^e)Oi`)cN2jW7PBb*uBb4Ysv;`s*^YW*00HzL6I z?@_1XIfg$pFl%)7=a6n^dfYxMJ_lvz{l|X@G2Zwn6fSVP!(Q@Cyf>(sRX?LmhZmFY zAhPPCzM8;BG)gVejDre24hw)F$+wxIE0XyPhQG!&h|KD=#`u_IT4QppK^(Ky7x07D zZK6m%20U6q*35I98=AV6RT`MvgnHUX#nQ@^VWNUW{I~dghIuj!GoZ`1g?-1uKEOh6h^|_3fOE9>4SHL4j znq}50!$bTy^sw>Jt_`9}I*emBcKB>N+h8v|JOxhGp4m*(?6ub-0{nx952TBVmBxH_ zsS;+`hqNA{wc{3R%Ec>v5a+RK_@~`t9FtSZ)R4~eX@QuCNz7!Jf{}DkN6@s>mt;Jw zY%>cCb^?^1I9?kQ$bf?BN4OJZAV20uE1<3d)p24Cdvi_nsX-Ac)yLu*yW!KF4X{i^tm)enJ3dO7)m6`dBW-Rx5 z!;A4P(2r8P#v+iFD#0+w0DnB|4R}HnLpwenh@E{q%e_3{q1xwV9Y2Nv9vsY;<_rGdd_Frk^J7WF%#-=EzUQyn^6L46 z{>UFb@2rEI1`-RS%lYk+!mQcy$jp~2@cooW;@<>;mFL?rEcGBp3!pJ4@teR<57J~A zFRw>Skmrx#)r%BHr+~yDMxQ5)^VGbfIr z?d&fPY=fccl;%f!yY`oRw{2~`VTRXw*;@IGqfS~u%y>0owCEah8OHY$G|o#vX^{8FALsAe>CCJ( zvHc0C4q$|y4Ma#;Xh@*@@Y%*fX8{SS6wG|&a6UWkhpw@*>rX?DW% zqK|D@|66Xd;C4`&UxFu;V@h*ZC4wXq`)HxBOKf`(yS|;+iL#*!oo!y|GO3ObeH;@1 z^!OQ^1my&W1ApAhD)nd|oe$)#o9a3rxD-7XV(Zp_fS(uxv6%~_b6RUacUwma>;c#u z^8%Fj5lqIQu*Q5$8}RhikAog(Vakg7vTes#=o5}Hyap5A@)-by@f=@)k|5#@>P!@g zera3N$m>g9$^!H9iM)6O6FF!3d+e=M-*Xz9n9Xf0NN&zk(N>Qtuk8v627{Il@icZc z%bn<|sEQ1negVVO291w-&iC=Fv^fdnhSPJQAGu6^)?MFZGH}ldcKP{EESly9v9j*U+ZTCd=J6%o%&AHU_4(t zol)X&b4m@y4e7v%*{v%M#OacA+Y;jAjmS6VI<#b9J-`xkN_S_V8uEVR-tQwi-iGLb z$`IP0{96l}Mjpbt1GM)X@^)AIa~!$Rht+|d^``7>kV`Ne1rt9!9ON(qPAX6^$N+G*yw$Pqvs`u%`D_hlL6B>4*qS}vdu{M4% zo!7h8yHQWfoR3q_HO+b+r+QkSw%V*8tvwDI+G1qRSNjh{#v>qJo8FCYhh`7FiLiDA zDXv&|Mk*qi*tN@mEpu2ev-}%C;It;vsEdQK>i}ryzmv)1e2niUI8EWgARFYXtNi3r1mGZgDrC`XquSRV@*UCtzV?u&-0ZVP zKalnh*Mbde!K4oD+n|NC%W|v3LzXp@vr7#|mgtkG`brIC?Ggpg&&Dtjy>36Zi4Nu5 zqCW)}G1g7o9M*R-YF5i)>V`Lgg?3hk56%Lyw3?ZAL$8X-Pvd%^#?ptF(4s8EtdpdTHFCbUP%* zPh#sYp&ZOlF)*MhzJ-@QKY20|CI*+E!un#;)=Gn$9V#jaeXlQ@Tu!Kox{^ilFg`Am^C{Pew%Ta4&{^yA@bJ+O-^Skp}U~d z8_k|P3z^3ZE_n&P*;5>oNrqO(mx%{@=!?YK~O2Nd3p3*~k|;jJACD+(B)WnaRT=J|B5}*xjTUAsC#shrnc6|=%Fr6*q7U%0Sa0U6p@N=eiE^JX9A8l(*S@qnEW=&AO ztZ>kb=Sl|~0BTXjpu6$pKYO_ds0I`(Jc!G%iGv2oZthfM9_(BA7DIlQzocCrKCO zUpP6A-2xX8s?^Np>*aj_aTZjNlw$0(no9yyUi-8;q~^l5YT} zG+XqN-$MXyF6u^KHeHBaNM8^20MKyH2u!eagB{jSvFpr=U&=zB2HiueMwLTaxE$g+xn`u1PV#Y zpYf-832Gpti&>Y1K*&t9I^dOL*{53ZR7Xdg_j=VKyY^$VzegaJy_}v}T;dIX1YklnpI_D*ySA(o^@&b8<(U}<)lHiU%pT(>aAx`D}?Z6@Wz8v&qbVp7}r=C##uRx;cKrc#)=!IUg zp1)2q#fPg8WaC1Wjt)I;o9ebtjh)4{1BjlI)U`GDlftX|bgo!N6 z-VjO;1QqnrZ5+U^A06q!e_3hA3J|;42)74`Y9@b5YBIr$7`Zd8c!&i>Zuf)bf+=9L znjFW`W@d@%QDlU1(#oiHaV)4JYw`qj@j;o^pkNERDvQ7em zxoQp_#-=YN-x9hRHge*)$zjC7)||XBwUl5~MzzZWT1sxoF;yuic(_BPsvj^2^ zgIO2VYVe)h567)S-E}FfIlK^14&s~F^eV6It&HJYDdC? z2TGM(A&3w@b7l~VN?Lu^dIAXiobsRxrk@?=RZ3C`PZ$l!t1|77&cSb<3>+& zlbv9I7)Y~FNXq;#orL-480KR=Kv|zlIiE9(&!v3N8MfzITtEDbl;y%+tkE~wd-$2{ z%=MrTo_6>GWsu*-pyM+QJM)gIN0hK04`95eO*T)H2#p8&8dxZp>^7g+_plxGS*KZ2Q#1xyI1WxgcCzgw$C@#(q$wg z;$SaU#K3Ik+n)ryDxEq+hNHH<+zp7vQ}AZTFk=ABDkZm&BAI4#<0pa~7Lw;8*pC-M zJuavvh@sjOyC%Q}rR6Vz*$wUJ`YSLqfJwgECWjJxI%B`qjE$1NY=-^hubScHyRG0i z5WFRW9#OEf$!~$82F*(2*-TiB&UJpHEtbV-EQcuAdEY}-8^6hLU4IEJvy)+g>z4i9 zxx_}s_zwKYe&7K5_jxF>yPCIa-$X|jH6n|8+2r|1pz#t=x$oPVgZETWVQQF(LN8*Z z42?Ow83-LJWf22wgj2{I#Spfj0V@~Qr3{joz51BFre59iPG{>|*41cB4BXaUJTdlI zXhP8u3_pOl@8GY1F#pl6ejJ{&)W`8XR8=dm+dXNJWb^?Ki;^lNli#)DeTYz-nt8KX zYX$oiaeN9mQ9N|Ih{GOaZ?m-Lm!ZRg01ITP9pv|A+D!LkFOrMdYF}SAz5_ux>aoC+ zyZ}MOybzCxA3^N1N1~NYv5&YvjfG(YYM*P6N#QR7eDY%azyZ+L7sM|?umI=1msN}b zZ9K&o9EnOzjGmH_ulD!lg$(Y6rAW{Wo~a;LSJd1j5p& zh|Z&(u+ZljQrQ8R#0ASYoO~5A5xeh_)tCtfHNR7VyXt- z4S8@0!=JlQ82LVu+T;f-(j)%?3{##wy0fPcpJhF`F}G{e1y@1#u=MdHWW`1zK5z_x zh-`^lb@jwEO?B@?&5LWQlYMJwjs#dJayi|Re(5Lc(aK>)mXTLY7ENeqG6(3p0W|UF zX!$iqqJgHsMA(dI?D}Dd$65dxqW2PMxq4w=SpL%ZZw^>p-M0lMKeI(yYMLONBYEDRYqxoifoEOn?R9xh>D8F zlCbNPxkw+_W^@}yU+gjgRIzY)ZLvG-R`W~DDf@80jfj?#$%KU=p6IDF*UcFym10lW zBRYI!mk;$+lVuK5NLWZ-#j36dSJZk6*trb*E*QTw#Cvi8!P+DvUyV>XH=n%5fJT5m zKTSw}2eHX(B}pf!$h!jC{M*lk%TIb@e-V2Mq&<52dXwz{9TQ0{Vo>diip33o3%LvX z;M40XuNGH@ ztJJSJ7#70fLO3{eUTTt#gd>ck5d&B;)7!D?kMHe4IkJ|P@gTMAdpUX=U8wF9-E zXxyr>2d`~byG3rGNrihuPh5dohP~*e)V2vWta{Nozy42nh#{}gH`p|4J>i|HZu}eT zib_`x*oF8%vi6*v>c&rYo%(~WwUBd2�Xo&^Sq+ytJV;z2g_8$bQ72)?!9Ul; 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 C0pa@q literal 0 HcmV?d00001 diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/MonoGame.Framework.dll b/C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/MonoGame.Framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..65bf7c3db0346bd68987ce4882e64c3b425d1241 GIT binary patch literal 625152 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%0D(HJhuIzKBh)8sv3 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

~f3)W46*&fKvB_7AxmGJWogGSB%HAA7 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 J{eRa3{{tnj*f;9)g9CAjQ{=W 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 z%0D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�F9X3qLU<)3#Iz| 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ℜ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�UWNB%H+o>#_%X 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

~VlI>5Dtn-g4Fwi2!@+_7+rtleff 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 + + + + + + + + + + + + + diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/PlanetSimulation.exe b/C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/PlanetSimulation.exe new file mode 100644 index 0000000000000000000000000000000000000000..42d43ca82c3cc1e45aab49223dc287a138201ad9 GIT binary patch literal 14336 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 literal 0 HcmV?d00001 diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/PlanetSimulation.exe.mdb b/C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/PlanetSimulation.exe.mdb new file mode 100644 index 0000000000000000000000000000000000000000..7c9f98d7cde264521aa049c2a2919f3f096d3946 GIT binary patch literal 4832 zcmcIo3v?9K8NPRB_GU7(yGb^?*45B(9fKMI+JS z+EgtRt-CW8yKK$JpRMxnzYJod+hS3dh4v!watI*cRY0T zvmq@J`Ef@R8Glvdda>MMK4Ziu4%J9=9y>gG&fe`q&VM*1STQ6#_@0;6j~jHMThsc& z8QaKju4?4OR;cntd^K7O1Mh2j@P79%3x{s*XrTAL($0DpjoH?tpFHH-`l8Y)U##3n zC=me0svGpU7Is$!{jsPXofIz~AMq7eVDW0di^e8ja|OM4WXxAr8}#d4uT-Hr9*vSlSQM0 zktv-VNpL}k1YZ^+{dZqKI}OQ!Fbm=cIQuOBYhIHM|HHUDja5z~48haQr2XvCbaJhv zV@v{3|F1dh6xFH{LIr+7WME{XM_^Q)JTF8jr5#q`vbE7>+!_s zl>1ZbQZBw`6Smk|xk#zutZ#oJdZ|@jp$=+m+qZj@yl<2Ip7Hnnke9dEXA}0@K1jOp zQFXIiwb*ZzT(Surw#$hUNe~@WoiG6{gk^SVx&0|SkCE)KLL^B{7Zj?XTzc8gUa@cG zG)RR+2W^#6(LD_V!Z^>e6Kh6%uQWU)h8ADitzLiri4f1Aa=%lh8bPeXr?>+>CKfn#CfRR-Pt4!Y6T zwGQ^Y;{{WnEzk^koiJ22{_uuxIoJ-zPP4*O0#)Td@q%LxcHD8oELh76=JA5>9qgjx z2eV)s3XHBT%4UnRmt?1gycfFBwHLG5y6p9){vmWD6}z%oTlQ|~0+9njJ?@M6H9{@M zM8XM1aZ;exDtYW=9`#5z`zrfu)64hpV)Ulb$>uocI)9qbM$woro=}^S&}JuF?R=5f zGh8>L+~~#IPWBh)-cIe;80`lcIXvcM$DLoAP2WJ#cHX6#E;h?G+m&*;AG(pbCKp@j zdfL>FLchT4Z*sBCu2)U{4D_R1-{)fcUGJFsW$5d;{<(|&&2sHuXD@m-7Tisu27IaCZ zjlJnn-tz1)<$|RAfk!#)`OuWRQMHLXIqOl*dA>5`qGauv`O2*P+4-rUJ(Kc^e5EOW zr78EJs?bC;_@uB6`O3!pO(>Fxqz50sZf7xHBoGY~fd&N;4}oC4E{dtEHgN!#eu7Kl zws$Cz(nK52#lTm~Y7}Ldb%HRLikJ8yPDNSB;M+WHf4=q0{D-^n5V*!Dyo7}%-!v3`Jx#-+{<08 zZ+AJ1Z~{rpIZcL1O*|PwY2G!w>m}UZkLNv&F8V$9v8urOa>45b{7Y2`Oe3NYXdq1D zCn8D13X+*0-1rx9mZu`X%jafY?@e(#jVQuvsT!IN>v^xmmSshdhYo| zf%WmiCky$iOb-NOiT70$R1m>Z5sl%vMV``dCtBO&vHE0wsHMGLX#Jq@FxpT;*iuHw z96*4*9{enT*I2d_ycLjOUjQElEU<0-V;jIDyAJFD_~Qut835q>n*A0$2EcbVTMC{I zD6l)gp8$B*Vv|tO3s_;#0Z#|;uEScus{p)jusz^y0A2~$Iq(qxcQUiU@kQ9UBUu4# z2M6q1z&8N6LfGBlVF1o_76tnOoU^PE{2+j%jWvUp0yuM6E4T%~Nx%+)_W;<0tONWF zfW5(TFbEaE@@9jP- z@E)Ky>{H-RfIhG|Nl^KpE`ouvi3O5bP!3FfbVQN8mSrA+Srah}^(X*ptBH0IYxG|4CT;q#eMzC-*|c znkQd?vEE4y-x%P}z*xHESE$6>eFWz1rlB%#w-e0U?ZzM8t}ov#;1)1%C*$E?N9&YT literal 0 HcmV?d00001 diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/Tao.Sdl.dll b/C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/Tao.Sdl.dll new file mode 100644 index 0000000000000000000000000000000000000000..d2e2d4794a7b6936af9941477f195c17b392b072 GIT binary patch literal 69632 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�`-`{y+bz*(>_1Ylm?Y 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 QDx!W#X1|X9f2{`o7vK~odjJ3c literal 0 HcmV?d00001 diff --git a/C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/Tao.Sdl.dll.config b/C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/Tao.Sdl.dll.config new file mode 100644 index 0000000..ec83f1e --- /dev/null +++ b/C#_Mono/PlanetSimulation/PlanetSimulation/bin/Debug/Tao.Sdl.dll.config @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/C#_Mono/UI/.vs/UI/v14/.suo b/C#_Mono/UI/.vs/UI/v14/.suo new file mode 100644 index 0000000000000000000000000000000000000000..8816757a7473b1a95f6920276d4b2e5b3ed08063 GIT binary patch literal 11264 zcmeI2-EtH~6vt0M6vQt?Q4!;cfKf@z7XcAavPpz0QlUryFH%}zvk6N!+0V z`E~zaR#wi~c6+q4%bpFjw^85b?_V+7O^ z_*=4s4ch|0dAlQ1j$HQHjuM-X@}l<_QTj&d6JEI}{WrSLlZ?NS>%STsstEYu*QdJM z+y7{Lf#<&yKU6NFaXGtT=h40yYQuIrco6Zr&$hKSD*r*oF2dWG-9+oNmH}ThYvbHc zL1`PJC0~b+L*PG8pIwmnsMFm&KFig|)j?-}b2blV-sVE+QARR5Ktxsyei@32{{?+J zAQdmWXQ(R{?BG|tJqPWCG%w9hHY<9O`b&`TB*Q(>tI%HPHE1iAc!@q4zZ2+P0lm9` zt{2eyal4L2=BcHeWfWM`T1EOFo@uSV{@LeLq+2RiK%Ht`-$KycjD`{LQKbpVh?Mvy?%6E<6*UJZvu>P+DvlkK%l@Uu@8^Iq! zD$CYm{iQ>!-bw%b+~eS%W7Vgf>=*ESSyp4jS%g+2k5<$xlE31w=b>JIJrB=+kd;s2 z|E2#qEKa`XLQx-T*}ca>{%!K5$_t{-U$WGisZ_Rq?L*`j#%!^s_cO!)tj;|uejm7N z{x6LOxXJuyoy4y?kCP$_DhAXqi5U33469s8Mfw%SA7tifc$j16IdnrYrxqU_$p0P2 zc>{_%|8Dv&Ln`I?vNy%udU6lmHk18%-HVF<2`~HjUyiT%D;<N0i=JDo0%h^S==ghOHa_ zK1}58u}?*CN4ns$v516PTF_>!WZdZf8G`=RALq{xkz94|k$oR@jzD*5C$iEIjF zrG-tx%M!UkAeXz3eVwH9(vbqcsTS!V0M#8Xc_I17Ukh6!?}Rg?S9MG zO`gnjEci3}rqk*G)X=q^*zoFttHs+GD-cdU<1jwto5^=eO6LRvokN$)>0IW>ktB zoSKJG^~G;vQ7^fb)=9O#5q?+P6LjGL^hH5mkFQh9!d;jT?ZP*fkG1p5s61%7&%&QP zrt~!l&$Eupo$kLK){iKzs}+4m*y|pmeQ^}9+Q1Rpzk1M=`f}z{{vRj>(;lvyzaF<& j(+NxU((IJ~p1VKL@$c@X + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/C#_Mono/UI/UI/DemoToolBox.cs b/C#_Mono/UI/UI/DemoToolBox.cs new file mode 100644 index 0000000..0685357 --- /dev/null +++ b/C#_Mono/UI/UI/DemoToolBox.cs @@ -0,0 +1,17 @@ +using System; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework; + +namespace UI +{ + public class DemoToolBox : ToolWindow + { + Button submit; + public DemoToolBox (Vector2 pos, Vector2 size) : base(pos,size) + { + submit = new Button (offset, new Rectangle (10, 10, 100, 20), Color.Gray, 2, Color.Black); + uiElements.Add(submit); + } + } +} + diff --git a/C#_Mono/UI/UI/Game1.cs b/C#_Mono/UI/UI/Game1.cs new file mode 100644 index 0000000..f644f91 --- /dev/null +++ b/C#_Mono/UI/UI/Game1.cs @@ -0,0 +1,91 @@ +#region Using Statements +using System; + +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Storage; +using Microsoft.Xna.Framework.Input; + +#endregion + +namespace UI +{ + ///

+ /// This is the main type for your game + /// + public class Game1 : Game + { + GraphicsDeviceManager graphics; + SpriteBatch spriteBatch; + + DemoToolBox t; + + public Game1 () + { + graphics = new GraphicsDeviceManager (this); + Content.RootDirectory = "Content"; + graphics.IsFullScreen = false; + } + + /// + /// Allows the game to perform any initialization it needs to before starting to run. + /// This is where it can query for any required services and load any non-graphic + /// related content. Calling base.Initialize will enumerate through any components + /// and initialize them as well. + /// + protected override void Initialize () + { + // TODO: Add your initialization logic here + base.Initialize (); + + + } + + /// + /// LoadContent will be called once per game and is the place to load + /// all of your content. + /// + protected override void LoadContent () + { + // Create a new SpriteBatch, which can be used to draw textures. + spriteBatch = new SpriteBatch (GraphicsDevice); + + //TODO: use this.Content to load your game content here + t = new DemoToolBox(Vector2.Zero, new Vector2(640, 480)); + + } + + /// + /// Allows the game to run logic such as updating the world, + /// checking for collisions, gathering input, and playing audio. + /// + /// Provides a snapshot of timing values. + protected override void Update (GameTime gameTime) + { + // For Mobile devices, this logic will close the Game when the Back button is pressed + if (GamePad.GetState (PlayerIndex.One).Buttons.Back == ButtonState.Pressed) { + Exit (); + } + t.Update(); + // TODO: Add your update logic here + base.Update (gameTime); + } + + /// + /// This is called when the game should draw itself. + /// + /// Provides a snapshot of timing values. + protected override void Draw (GameTime gameTime) + { + graphics.GraphicsDevice.Clear (Color.CornflowerBlue); + + //TODO: Add your drawing code here + //spriteBatch.Begin(); + // b.Draw(graphics.GraphicsDevice, spriteBatch); + //spriteBatch.End(); + t.DrawStatic(GraphicsDevice, spriteBatch); + base.Draw (gameTime); + } + } +} + diff --git a/C#_Mono/UI/UI/Icon.png b/C#_Mono/UI/UI/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c57cf36ba7fdcbe623956abafde80c6655f878d5 GIT binary patch literal 6479 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 + /// The main entry point for the application. + /// + [STAThread] + static void Main () + { + game = new Game1 (); + game.Run (); + } + } +} diff --git a/C#_Mono/UI/UI/Properties/AssemblyInfo.cs b/C#_Mono/UI/UI/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..06d457b --- /dev/null +++ b/C#_Mono/UI/UI/Properties/AssemblyInfo.cs @@ -0,0 +1,27 @@ +using System.Reflection; +using System.Runtime.CompilerServices; + +// Information about this assembly is defined by the following attributes. +// Change them to the values specific to your project. + +[assembly: AssemblyTitle("UI")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("hannes")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". +// The form "{Major}.{Minor}.*" will automatically update the build and revision, +// and "{Major}.{Minor}.{Build}.*" will update just the revision. + +[assembly: AssemblyVersion("1.0.0")] + +// The following attributes are used to specify the signing key for the assembly, +// if desired. See the Mono documentation for more information about signing. + +//[assembly: AssemblyDelaySign(false)] +//[assembly: AssemblyKeyFile("")] + diff --git a/C#_Mono/UI/UI/UI.csproj b/C#_Mono/UI/UI/UI.csproj new file mode 100644 index 0000000..ee94b33 --- /dev/null +++ b/C#_Mono/UI/UI/UI.csproj @@ -0,0 +1,60 @@ + + + + Debug + x86 + 10.0.0 + 2.0 + {C8A34B07-5506-435E-BD12-2C6E477E2EC5} + {9B831FEF-F496-498F-9FE8-180DA5CB4258};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Exe + UI + Linux + UI + + + true + full + false + bin\Debug + DEBUG; + prompt + 4 + x86 + false + + + none + true + bin\Release + prompt + 4 + x86 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/C#_Mono/UI/UI/UI/Button.cs b/C#_Mono/UI/UI/UI/Button.cs new file mode 100644 index 0000000..b0489f6 --- /dev/null +++ b/C#_Mono/UI/UI/UI/Button.cs @@ -0,0 +1,38 @@ +using System; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; + +namespace UI +{ + public class Button : UIElement + { + protected Color hColor { + get{ return new Color(Color.Black, 60); }} + protected Color innerColor; + protected int borderSize; + + public Button (Vector2 offset, Rectangle b, Color c, int borderThickness, Color bColor): base(offset, b, bColor) + { + innerColor = c; + borderSize = borderThickness; + } + public override void Update() + { + base.Update(); + } + public override void Draw(GraphicsDevice graphicsDevice, SpriteBatch spriteBatch) + { + base.Draw(graphicsDevice, spriteBatch); + var texture = new SolidColorTexture(graphicsDevice, innerColor); + var hTexture = new SolidColorTexture(graphicsDevice, hColor); + Rectangle inner = new Rectangle(bound.X + borderSize, bound.Y + borderSize , bound.Width - 2*borderSize, bound.Height - 2* borderSize); + + spriteBatch.Draw(texture, inner, Color.White); + if(bound.Contains(m.MousePosition)) + spriteBatch.Draw(hTexture, inner, Color.White); + + } + } +} + diff --git a/C#_Mono/UI/UI/UI/MouseManager.cs b/C#_Mono/UI/UI/UI/MouseManager.cs new file mode 100644 index 0000000..e04eb9d --- /dev/null +++ b/C#_Mono/UI/UI/UI/MouseManager.cs @@ -0,0 +1,48 @@ +using System; +using Microsoft.Xna.Framework.Input; +using Microsoft.Xna.Framework; + +namespace UI +{ + public class MouseManager + { + public event EventHandler LeftButtonClicked; + public event EventHandler LeftButtonReleased; + bool leftButtonLastState; + Point lastClickedPos; + public Point LastClickedPos { + get {return lastClickedPos;}} + + public Point MousePosition { + get{ + MouseState mState = Mouse.GetState(); + return new Point(mState.X, mState.Y); + } + } + + public MouseManager () + { + leftButtonLastState = false; + } + + public void Update () + { + //If Clicked + if (Mouse.GetState ().LeftButton == ButtonState.Pressed && !leftButtonLastState) { + if (LeftButtonClicked != null) + LeftButtonClicked(this, null); + leftButtonLastState = true; + lastClickedPos = MousePosition; + } + //If Released + if(Mouse.GetState ().LeftButton == ButtonState.Released && leftButtonLastState) + { + if (LeftButtonReleased != null) + LeftButtonReleased(this, null); + leftButtonLastState = false; + lastClickedPos = Point.Zero; + } + } + } +} + diff --git a/C#_Mono/UI/UI/UI/SolidColorTexture.cs b/C#_Mono/UI/UI/UI/SolidColorTexture.cs new file mode 100644 index 0000000..80cfc60 --- /dev/null +++ b/C#_Mono/UI/UI/UI/SolidColorTexture.cs @@ -0,0 +1,38 @@ +using System; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework; + +namespace UI +{ +public class SolidColorTexture : Texture2D + { + private Color _color; + // Gets or sets the color used to create the texture + public Color Color + { + get { return _color; } + set + { + if (value != _color) + { + _color = value; + SetData(new Color[] { _color }); + } + } + } + + + public SolidColorTexture(GraphicsDevice graphicsDevice) + : base(graphicsDevice, 1, 1) + { + //default constructor + } + public SolidColorTexture(GraphicsDevice graphicsDevice, Color color) + : base(graphicsDevice, 1, 1) + { + Color = color; + } + + } +} + diff --git a/C#_Mono/UI/UI/UI/ToolWindow.cs b/C#_Mono/UI/UI/UI/ToolWindow.cs new file mode 100644 index 0000000..0332b1d --- /dev/null +++ b/C#_Mono/UI/UI/UI/ToolWindow.cs @@ -0,0 +1,60 @@ +using System; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using System.Collections.Generic; + +namespace UI +{ + public class ToolWindow + { + protected List uiElements; + Button minimizeButton; + + int windowBarHeight; + Vector2 pos; + Vector2 size; + Boolean minimized; + protected Vector2 offset; + + public ToolWindow (Vector2 pos, Vector2 size) + { + uiElements = new List(); + windowBarHeight = 20; + offset = new Vector2(pos.X, pos.Y + windowBarHeight); + minimized = false; + this.pos = pos; + this.size = size; + minimizeButton = new Button(new Vector2(2,2), new Rectangle((int)pos.X, (int) pos.Y, windowBarHeight - 4, windowBarHeight -4), Color.Red, 2, Color.Black); + minimizeButton.Clicked += new EventHandler(minimize); + } + public void Update () + { + minimizeButton.Update(); + foreach (var element in uiElements) { + element.Update(); + } + } + public void DrawStatic (GraphicsDevice graphicsDevice, SpriteBatch spriteBatch) + { + var headBarTexture = new SolidColorTexture(graphicsDevice, Color.DarkGray); + var bodyTexture = new SolidColorTexture(graphicsDevice, Color.DimGray); + + spriteBatch.Begin(); + spriteBatch.Draw(headBarTexture, new Rectangle((int)pos.X, (int)pos.Y, (int)size.X, windowBarHeight), Color.White); + minimizeButton.Draw(graphicsDevice, spriteBatch); + if (!minimized) { + spriteBatch.Draw(bodyTexture, new Rectangle((int)pos.X, (int)pos.Y + windowBarHeight, (int)size.X,(int)size.Y - windowBarHeight), Color.White); + //Draw all UI Elements + foreach (var element in uiElements) { + element.Draw(graphicsDevice, spriteBatch); + } + } + spriteBatch.End(); + } + protected void minimize(object sender, EventArgs e) + { + minimized = !minimized; + } + } +} + diff --git a/C#_Mono/UI/UI/UI/UICamera.cs b/C#_Mono/UI/UI/UI/UICamera.cs new file mode 100644 index 0000000..60a4600 --- /dev/null +++ b/C#_Mono/UI/UI/UI/UICamera.cs @@ -0,0 +1,12 @@ +using System; + +namespace UI +{ + public class UICamera + { + public UICamera () + { + } + } +} + diff --git a/C#_Mono/UI/UI/UI/UIElement.cs b/C#_Mono/UI/UI/UI/UIElement.cs new file mode 100644 index 0000000..c630731 --- /dev/null +++ b/C#_Mono/UI/UI/UI/UIElement.cs @@ -0,0 +1,47 @@ +using System; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +namespace UI +{ + public class UIElement + { + protected MouseManager m; + protected Rectangle bound; + protected Color color; + + public event EventHandler Clicked; + + public UIElement (Vector2 offset ,Rectangle b, Color c) + { + m = new MouseManager(); + m.LeftButtonClicked += new EventHandler(click); + + color = c; + bound = new Rectangle((int)(b.X + offset.X), (int)(b.Y + offset.Y), b.Width, b.Height); + } + + public virtual void Update () + { + m.Update(); + } + public virtual void Draw(GraphicsDevice graphicsDevice, SpriteBatch spriteBatch) + { + var texture = new SolidColorTexture(graphicsDevice, color); + spriteBatch.Draw(texture, bound, Color.White); + } + private void click (object sender, EventArgs e) + { + if (Clicked != null && bound.Contains (m.MousePosition)) { + onClick(); + Clicked (this, null); + } + } + public virtual void onClick() + { + //Should be overidden by UI Elements + } + + } +} + diff --git a/C#_Mono/UI/UI/bin/Debug/Lidgren.Network.dll b/C#_Mono/UI/UI/bin/Debug/Lidgren.Network.dll new file mode 100644 index 0000000000000000000000000000000000000000..a703f66aa5dc4b5835044c702e25df22d1b5853d GIT binary patch literal 118272 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�Xo&^Sq+ytJV;z2g_8$bQ72)?!9Ul; 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 C0pa@q literal 0 HcmV?d00001 diff --git a/C#_Mono/UI/UI/bin/Debug/MonoGame.Framework.dll b/C#_Mono/UI/UI/bin/Debug/MonoGame.Framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..65bf7c3db0346bd68987ce4882e64c3b425d1241 GIT binary patch literal 625152 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%0D(HJhuIzKBh)8sv3 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

~f3)W46*&fKvB_7AxmGJWogGSB%HAA7 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 J{eRa3{{tnj*f;9)g9CAjQ{=W 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 z%0D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�F9X3qLU<)3#Iz| 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ℜ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�UWNB%H+o>#_%X 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

~VlI>5Dtn-g4Fwi2!@+_7+rtleff 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 + + + + + + + + + + + + + diff --git a/C#_Mono/UI/UI/bin/Debug/Tao.Sdl.dll b/C#_Mono/UI/UI/bin/Debug/Tao.Sdl.dll new file mode 100644 index 0000000000000000000000000000000000000000..d2e2d4794a7b6936af9941477f195c17b392b072 GIT binary patch literal 69632 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�`-`{y+bz*(>_1Ylm?Y ztYGqo6R@IyAcd$dxg+M=G(c@ajSVaY5PJQhTU(Ly-}JFFT1$(NR|pw|a)sUOEwzSa z0|h@xv|faET?-V1SdOy4WVefnC9&YY9peOw0y49`~c*gsOfy&1ElC zB@04)xKhEMnjbar`KNi6Z90b;B@Y6(@F%fohM0z}ogf}-2!mg1%o%I@qo;pG?`3lM zIvp7tE&G;1HnbIqR!}@fP-QK#STrO=C0UWv1T1Qx*Jo5MG-miv1w!|UH768nHUK)) z7XJ)XJ~i%_x-}O{GfWGF65{~&RazQe@P}%Z#i}hZv_V>tVI&msRA=LM1tusVgMn5h zKn;tUCh#7?B@vhk2Y#ICwkNV_C}NZ24o()@pGws;I>3-VL?H3$Z#L?flXb_->-y0x zu&nd6mdHtITM}D?mL!g;Ar1r8X^)Ku{$_fZp4R=^B0c?5C&GxnCN1t8fT>fMnmNMF z59^?sJS8w}e<+vmrt@P?nPpIhN3R z!o!5hSL`BIUqwCOpVU94^=*T?M#NmIE2(Tk0CZRY>iLh7}pFB zoEqzt(ZafiW{wPw4BP!e;fIk5_W%T=7g7(Q$%+TJXGPdEz#l3|hXLgoMvHYrg-6+~ z%Wz>S#OBYseJelm4Ugz@GeKyCr(ZUjb^kl?>W(zMoG~;5=?jP92AC!HFl`F3BT(c1 zNuHi+1vX_iE9jvl8lUzNxHLgVH=|pPOoXVx4DU{Xu_Yv%ELi;jlFY0M{BR#OD}_+`wBQ z8V;t>q&|j?65b9WrXUPL@6e)K#`I%RC{`DK_|fuw8>X!SLUCDkKM@$7X=<`p<#P+y z4pU?8v}7k-T_jjrUCo;;u%u+|yK0ifB+w}KLJO~X(}lEV5D?04liDJo%CXTcf>GBX znXNU*;k=72SDTxk>6fLiLikoTql7sGN z5F2ZQL}t|MIguF*recFzoLE%(hH0L9B@vM)q~lan6p_`sycJ>GxY!GZF_=4sy+UAd zsCx35t*>A&lv+)wKItSqI(ajU2>K4IIfU;W^fK5R5^{z@L)YR*O}MkCAys_(G2C_I zwfM%pG0d{F$HmwpOg83}3dI$%ehZ@|s{!^ha9F2^qEtX6WgBwT=G(FZFkmNIXmE9U6;OdwnwnTFaLZ^5}v-l>l-(i%# ziI;4yp;p#;%v!Q$el2eeXfg?yw+C46?Py^?gb|tiLu{DwbeLlN)f_-fnxv&iDilNx=Mi45rpYX?u-<-k1{#n#TGUCbfFW zfrPdS24&VZj}W?$a8RN!6aQ8P4e>8l5FhpDp*nTpvaCsqn<&Mveri$F2KD^S<9V1@T~+G9kmfgm6^>kuB!2mJtlf zxEm4jar2#aaS|h2S)`F1jV;7a8#ABSt=nX{tP3crnD$zVDvv1m)MB_UJZdgy);`{K zPn&tjPrrIR${o*z$wt;kVILcBv}|IiDL>ZdHo6UhIv6&B!d)BJdR(zj*8pbBo+c2& zz>l%ck~bXK*=1#|uTG1{1`KYx6a32JQo1ys_Hcz<%}pzR;$+jb6^%Y2cSYqL&-NF( zv`zipdC@HfJM=kp66pnL-N~|^^@**CN4-*qk*f?RJ{<>fEKP|QCo^Ka%3=-cW7}5t z6_Ad|DHx3x8)C3nz@db|YRHd>DUGv2i`w;q@Lm?g za%gSf7>seO$;aA2ntk%RH)Pc*J|h*($T+C2jSfqwEN)F)8!$)vrFGCXj3*_hcDflf zj4O9gxhQiv#0RKj1+Rd&vPo&La+Id17bw^2>okbHK9W=@cx~3dKk_Jz*a|r@howRyHY0&P#4W1Q~!Oy|npt&^^;c#;?_PcN!=ps^J ze4JRr4@N|Q)4){VH(h1nZ(^{wGUfsY)LG=CV$wog#*LyWW4dQ?r|1N5CI(X!T&6mJ zn9CZr@d{9^gxrmgJFjkD#G1JK%#FvMyZ6!G>40t^iD(KRsR6G@^qjuc zTVg<+6N#ldB8e^WRHXmf{_WAN#G6Q>e>-k|?Hk?FHxBY7ehFZEwr=UsA`YPVMf{Tw z_~3KK`06?Dm5ufiqzHJQEH9GfSAz5tNRjB%PvfH5NTeeY#h2nc6004!Ikp$Dx1;xs z(N)IENK^tuGtuh^J`ZQ~F>sC;aCjPDg^qMa;*svirs$8D$n!zealh%{)wP|toi-AS zbVX8;gV7C)jc))U8UcR21Sx`p1glYgK`4rb0XQfmNQ2i#MR`?Jl-EN=c_kEZHyn-P z`vmx|I00_9Hc?!|Y@)bh*F^D!Ars}@y3rnja|rqf`U##xa4x}l1m_c6K#(LjNKhrf zKm12sMpwZB9^AzHJO;dg;39&H2`(XcA;Dz?+XyZvcoD&i39ca6PJkY0qB{t766_+_ zO|XYxFTp;7D+%@!93Z%g;A(=G5L`pR4?#uw6{zUT2wp*OBf&|6R}!G-o9L?u9D;d* zEP+dqBUm8F6BGze5u7H#TV|pqf-*sc;3k3^fk#j$SR_~?Xb>zDtPq?bcn!g=1aBv} zjo=*w?<9B^!JiQPDZ#r5ZYTINg7*;ILGWIJKPUJLf;$P`NAQ;f?|uL#IKd|fK1uK?g1;enfZ%Tl{*K`92|i8m z8G_Fe`~$&15`2!}^927y@F2k#2);=0C4w&#JVfx%1YaR|nBc1fj}Ux~;8B9d2)<76 zF9hEp_*a5|Blsr4w+OyX@b3iQA$XkNy97@Ve2?J!1V1474}u>O{D|Pk1V178PlEp< z_-}%r68sOrlLS8_c#0qr0q7v;B%suZ#t7mBT?7e&Zh{R28woZMY$oU-IESE@ppT%R z;5h{65}ZeHKEVY9NrLARTuAUd0)Cq-x|QJh1iwL$B6tD8MFbZUTtaXu!3zm4BiKf8 z1;KWL0fHR_I|+6X>?YVlu$N#T!IcF22@VikMQ}C2O9-wZxR&6h1TP~vNH9n+L@-QX zR*gB|AEp*CG%jO+R9SwZk1k*|b#O8O2gBQgVET&~m?Z{5(Tk3O?NgA;FT`H0If2n{ z6l3z3+^h|I3mmE)1a=l<=_vksiK0+%Hpa*&Qyu9?u+i$$(b8ouzjvrrk$^M6?wk+K7#FxHu`IWat{@}-Necc!Dx$N%Tk;hJ5 z`1`MT&lf*>$xDCFeEltVU-9<&C!hTIAHBEwgN4KI`szKG-e-RJ(0t>kx1N8?3%cKM z{%fA|z}p_a?%3A`FTXhvUHQTNAAaS-AMC&8%N_Ba&UoMT9q~j*Jk}A9cgDBII*~OD zkO>ay2^qf=iOwzz&%kv9h$})@cQO^vb`u=|qM} z)`N*gC#D;icyQLC$Vd`d?ZGdJJLeNy`{sZST-}(NBzpVi@QC!UzB`5nCG1GVSd@5@ zFqRa06bSz?1Cb{(jKU$>)>to-PO{#T$sU9Q(aU&|c$~1SYom!LdSktq6(txW+1qy` z)58N1V==}?1)$;>E0IK=PzX+%_+X9q2y=zRcW{ao?cxl|MB)S+IHO|S5q1gOz$~(1 zSir14iu$PQdmpP z2q5zri^cHhz(a6vVII*P&{{0C|Ln#Li<7xzqNgjCJcskWME_NU7SC!xkr7Q=&px}m zO($lPjERQjyb^!v=$6Xbv}qGa5?kZ^C$6ro_=i4{NFvr766}SjUUf55Nn}(y33H4< z^f0ziueiIddo#YL=;IlpU5bg*-Hm5A{x+Fzc1-;XJPeU$=#ggBe4>HXhqPJaC=mQf zZEHNb@x4wY2($o}L>%aU*2UhC>tR=n^!D^314s)mc*5Xy z-_jA^+!^oR()s+?C1a^b-?@pduFk%5`$m(oZS+AdoWL)I-zE5M!|w|GcH*}ezXSMP zgWo~?M({g~-voZs(KvDqIg+H~W;haEsVLq6{G~e4$z$}gvSV?!!nvuw2;0E^N#(^l zw?U+&IwD(=jDuR)kc#!6#IxVog1kohPXZ?T=I}Mf{*!%kicR#N>`Ha?pM(#i9T+i? zF{GK}ag`)^74au6jvTT5@Ukef8*eAw@dO%AU8Gf6B>2r{gW`pWAD1zD%tjj`K^xf1 z*as7d%}ha@WVVTdO?+rKiUUgp21rt4kj`eX)6ZaM2-)K!dx%88iENPuNuz53O5K9Cc)g z5-6eHbI}i^<6~giq=`a$p#!2nLKvWG*qM>NxCk6b-7hC0RPcOI9}nXrwiH8;_OE^e zJzPZ6qhOSPkdX(fn%J1|LwyP|DKZAW&8$OtQ}L=KHg~Znv1l)v#;000N{51%{R15m zbjgjWI64d*(x0&IOm?TD#L$mdM;5EZGTVKtkN3p8Ad%_9lW*PQ$ak`D^+&8vJVc5k zBS=0e!UzKgh{(#ybaWX5!TBU=q60CW>^sX(n$VS`^gPQCn=oAQbV)tniLyrM=SxP8 zNg43~H&7%X(GBOw5X#oqe{4~Vx$s5KLk2NIQ6AC(7H>dRE5>&diT@PuXEie{HyHGt z-NJ@rS>WQxy+xfwq85O(GVSaZq=~mT*?)E$nug+9%D##DrR;(zLkr+34MQn~_?x2f z{^L=MqB^ZZ-WRpao3s_8D zufPW~Qlg0EEkUX6+f(^^y?XVI9gRj~pzc&eoynkq46I`e=H~Gk7gyR~@i!VV2l*uu z(eS0dci+9cckbM?9bkW|mFXM~-VCHt&`PF+)=NPJ#l7t8fWhkDblHz|U|xt!cW`xJ z3})UJwX%U$H^m)cX!27yOqm*hp@6~nd`)84!0v%vdj_yz#u8zp8 z%v{I$$7@b?3LoI`zeNH=W7zjbUiXp6NZ&)gSekH7*Gr2! zFPxPSOWPa5YUrrzD+-Tk_~(UZ#$1O` zd}RjuxYKZzK|hbL0PP3uKBT?RT!~uY*MRmSbSJ(IbQS98nd)u>)-G(H1=~JH!H?^q zvfyxlLv)K-aAH1ZkzxUh5-m{y>y`pibdXbO2g^b;DoZBTm5;p$8cJ=W9qYD{_7qZJ z9UGN%mWHEp-}PABcCbJ5ujjGvjDBd#$)VRh{qcML@VD;U_R@5%@{VtO_rL>hdh3DB zufK5O>epYh@Y`SgY$@`lJMY*%`L??*d*rp>y8Vu)E_n0Z58VIY+`XS09y_(`U2pr? zRZo4)yXnHA$1dAex-<32Z{GIenKK96?)QKDGmkv+*zN=Ojg5Y@|NURP_R>3__klB? zKK{lJz539ImpShv-+yT3!p0Sk@BPVBnWA^k7p}kdn`O<_ui^jS8i>dj*OP`?gz%q! zJq!YK4W3ko@jG!aVzOA0`+r%{J;FW)`hsK73(UYZZjP8K_{Raq;O5`G(eGjT&rTnK zk6#_r=gTA%A|B7+g|N60JR{)B9fC2uht%hf<6X?*jpW}Y5^GLmNf~cB-**4aWcX{$ zozYKV5gS3CC~*piyRZ(YTZLvPB+7p9-U;b44`?7?x)FC8F)NT3i;xHPHi>8Cn`M-G zyC9V)_xSf}eAO%>(uHacN}LtcgzjxHd=BmkWX{?hj}&6!3+}k2hq{w0b`y5sUqk*4 z0K<4|cR>b3E@K$R-vNBptv%0c)27s?vdGuX81qhiQ7wW!4=QCSnYr&$MZQ^U3z8qR z4lZSW_VjL)dM8T1-Kc9n^8ailoI@I{iviH3pi|=ZLn@SxCqA6a1s%?O17<*Vp=G4!lUw6%ZakKR0X1~z4jiV;VQr)Fv+Rs+TU$#$^|F8dk$r?yuP7M|v QDx!W#X1|X9f2{`o7vK~odjJ3c literal 0 HcmV?d00001 diff --git a/C#_Mono/UI/UI/bin/Debug/Tao.Sdl.dll.config b/C#_Mono/UI/UI/bin/Debug/Tao.Sdl.dll.config new file mode 100644 index 0000000..ec83f1e --- /dev/null +++ b/C#_Mono/UI/UI/bin/Debug/Tao.Sdl.dll.config @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/C#_Mono/UI/UI/bin/Debug/UI.exe b/C#_Mono/UI/UI/bin/Debug/UI.exe new file mode 100644 index 0000000000000000000000000000000000000000..c05874296ea4c5fac9d2342f1c35d2874d025e1c GIT binary patch literal 9216 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 literal 0 HcmV?d00001 diff --git a/C#_Mono/UI/UI/bin/Debug/UI.exe.mdb b/C#_Mono/UI/UI/bin/Debug/UI.exe.mdb new file mode 100644 index 0000000000000000000000000000000000000000..56e983d49cf077ac8d397914824d6e3aaabbc332 GIT binary patch literal 2916 zcmbtWYj6`)6u$Rvve{%e$u@xUs4ay;iw;Fa>0kkELn$d#JGO{pK}plCjcu|e*^a=V zlo6kxXbV(fbVQw&79S&}zCd9{w8}%#0cRK#5ac0mMXZ)b{ce&*XKdjIJA3v!Irp6J zo_p@uo9)}U;L_0H$8v8a(d*>vwRd->z2|w`%9=*cI<>e=CZrleeXWGxCW-hx8OZfr zwy2&6eGv?W6iV#kas2ASB>}lVzXpw}&;#123U4r|g-1>E@H@{N&~C}_g-3q8`*3o~ z)1JE2zna^fLf%(__rEFMH|wSJCl215dDEtJazhWng(3ankT-zvP=T>?Y4wbp=G&JD zN%>ioeNI%oIb%_0+RL_%&2K;1HG+)nIlNj68Ga;_9S&=O(yFJ4*Hpse0@}(nF{Aj6Fkc?3tiQukx3<^(sA7tj#fMLK?U}eB>wB?q_!9 zHAw?Lm?W((`Evdp8*`TrI4XLa~11))pUQbOn($4PaSUCo}H#lUD;IE zvLW+@#u0{jz?#=KD8JW?QZtw3YGhc?Bn5g+SS#=by$@?4(1cqD=3o4zdg>-e%HT7v zjBG!0pl#Tsrq=@-C(gXC^oPzulF|dsL@l86WODR5pjeuf`N5L2%)NG2zw25o!|&2( zu3i58ozs+3adF4|g9|&zkRB)^&5~QC1+<_6j)FkWLT)DWCP)gUx ztXW>^ktW?3c`8&Jxy?yWh#*;BF^F^9}vrE6* zFK`F&n+1j1a=5w9A=NvUIXG{$W(i~Xu!G9=vRjH!H#?*jM{C3-zDFie=)-r(H$@ui zcDq@={5c53?GD=x#}9C2#5687bpoXpEqb6)7NwUxl&0Q@mqtiJv<+8XzC5<>F&^FF zus!QsfnG2XM}_7s%kg&qLl7#L>Sc4|m5Puvp_`luQS#ZfjMB{%Pqv5tO!+Ls&`DKU z(z$S{%5ydePMUt9DkPam=y_1Lqao;=}tx>CP}a{iOQ0%9xl?>1jn|7UH^3viOGsS1Vs}QG2tcXSdKUv`UprL=*7Uv zkp9psfnLY}=u3bLAp@ar2DU&3K|ciC4Z%01C?WB`peI95hTab{7Jk1l6N4eBRL5{4M`RTQ9m*th^3ORfJmFz;f$$BF%T4_0mymw0&$aa gkZ_*WcyOM#fSkw4HwHKZ$a%H^IgbN_oTmi%58X=j8~^|S literal 0 HcmV?d00001 diff --git a/C#_Mono/UI/UpgradeLog.htm b/C#_Mono/UI/UpgradeLog.htm new file mode 100644 index 0000000000000000000000000000000000000000..74da6855c449ffee0a9aae3d3d2eac056f53cdb2 GIT binary patch literal 31778 zcmeI5dsh@mmcaAh-E;OkRO?J@uY-Unf;~E?Kv3i%2x9BlXAbg~he+|#p4m^jpJjJ{ zzX-ytEQ+ME1bgPJr%qL7Mn>GYuekTdjmWJ3{hvQ)KV*-y=h)ETgr~I)og|HwQN88K&@JK$k}%GFuR%c@#)X*W`ZnyPj+c*t^*}HJ12Y4Q+cb>`Shk&~NV-9{e0|+5pNv7|5-Mz&wDm9ymK# z38#hZ6PP#Sasd7ZaCDVk{>JeG^iLrDoFb)b&zph17hLUewoj`*`c5*d(Z2YZro}q- zmZ%xqHqZcJDIX=QCKcN#``%DL;-r)sTz?7}KB9KJHmxwyb#L~cv={-~6(Fdq3DTdq zS_@RvC{qt=e3kbm_<6O$-DUW!URYiOR&S-=)pq->g7I&aY9~71!Q4b}R_vcb?8h3!?|7FG<+~j1K>|x*v~I&C@x7MK!|iqMD}k5j z;k8UjEl_WRQb)MgPl8NV8F%q|k?VbEcD%(Bt&%pQhi}xlwJx#U1JVi~E!KL#vad@> zV!sazAxUjjIR6OptD;R&|DVDEX^;>7^jjPSTD4@om2y5F#8+G`$!$c{QLsUuRdDWZ z1e}#pKm6UplFH|J%uCW)cOxR#Uv1)NxTiGlK<6Hu>JDbR5gff%^Vl1sm-OwnA7vbM zp(ps`18|PMu@)$hW7qLz{iokMT+l7s#)M;rV@*&Nf3 z@nx=)AFl4rHjvfTkKu{*UaKmUES{4z9gAm~rI zCN_vV-ko~eW-Hrk0bJ6>%x!Zi4`^EW_vs+`Mt)S7yv+8f| z<*MuQ(l^lL96$Zrbv*C@mh}#ve(W3Z)JXmvypvmb9I91t>{p8|4!*#;dcWjcE{~fU zj811<&2xh4@qF?jMc7eB+rZz0Lov2&Evu&gsh{&~jq&l-kEvW*afb0NWOm-Hcr3e* z#`_(rsP~DNDNECXoU{b%SOCYAnr+6ZI|=1bjnI{PbM_>~q}rP9;O81}`JU{ow-`XL zoJ|a#9*fu2D5!43i~6?m4XkU7#Er3+gI2WahV!hwE+uy{cT=PpkJY%FwEAr1pai>v z)oj(&TxZ8>Lq3<(1AYBSY!^jD?>5c|kKd}Jyt=l+8j9^Ki&?fBalH9Qubh9T%yIQ-=yt$2@^b2wlUMIC&c;Vyo9jGZ zJIB!d_<7vr2um{Q3HhAM^A^>$zn!!mputH4eh_^V}}Zki?>DR_AsL-bzxfx_Sv7qsuGM zxe;P{R|)#EKUN&$-O6kh9_H&z(Ql`x4D1?P2)lh(L1Otkt(j@516bs!X10h+P=)}v+#dtszn&C(^E ziTvql;-Rtpee&pz!)hA&wX!eT#wg!p;k-(bwYKk=t4~1(k{p{QT-5?zZ?S;IzQ46Z zBSqEZ*)8wu!P3`Q`Hz-P%Bynk_LtW4=;AV;7;lU*PK9c2WhLw*$ZJk;&+JH9omWBP zyJ0r6URraEyp3xd`z^JuUUKeza<5XZeGl*kuAX%}k53TwE&1wb4zt>rOyj&=bln5L z+*{;s1y^95gBHuG>0o(Z?qPDxC9R1*2zv5usgoKZ)6q=m$3$%kKBm z?+RB=IwIp5xcO7(AIbBkTE<;wXl;d;uO!d9&zVbf*030 zSAq@7F}98rn`w#rZmQb1q}P$Re`SpL`2~2}P`n6ab5HJulB-%akM6YeP7nLxV&8-8 z$}HNui7ymCILC%wr?oq@v@+M>!PyLZ5BK!q@=bZiouD^Q@mZoQzu(JfcURTV0h0U> zr#}ICo^vCsnE#fu*V#e(bI2GPZC%fP1$MWbyDGdl;r)9N0);jxbQ~fpUb}w<^#+Q;&q&$LTUU8g0Ep-(mws?+>uhZuu zJs-ozccaf*$7B z3H=H>?{a4sPA!AmELhpQ^MLzdCA9%>c4#pVHhn;o(?`_Xg=@2L#2MQpWuNKwh?+C> z^zw#2 zW@&#you}Mia{#|A=3AfXIPcU|A1xdq%AV z@SFrMV~sKH9nt3z{MVwL0K>f^@4#pRUcCl`RqBkw53|I-fa4hWu7TeNa99AJ6?z{8 z?lbyuy}Oq?8K)p|JY7IH9gTpfS zKG2u(<2F+K0M^q$c@M3-aQQRWYRLjUtWh!sk7l9m0G{*#KYg?}i@_dELXV?PZGRXn zX%*k!Z8V>v>bQ$8MOs%A=cK-h9<2(MF@ur3Yp2KW5zfDQgp)LU}KVG4}B@7WxA=@qO@)lUUysEZr{Fdxh^IcV1wB zeU@p6*3)>3e#(tPZUO6vS`EsUpm&bGN3hb%T#o|(6&7_gcpa_%959!$$>YF0;LP}X z4ofW-OVpjgDw_>50@w;ZWSDqi8aRWL85get&AEurGEITObMRi~Xs&advlA#7$8N6% zsz&kblYBqo7mN&t=vS|4q^5UWc&~hCfzo4~o&KiBar_~5;o&vu=+>xsv;pYq# zOasH+4olqE=WoN&N&1)z9&rMn=yd~{oEtuYtHV$;9DH>jeZB$q7PZZ=_JZjUwO(+2 zOq;pD={uARfSD2Y9sKAbcp5o=4rQ;oHv_b7WHt)4H_&#AdqyZjfirslb@1Gwq#ruR zz~vLt_zV`#Y9=|iT(7U>-H~PFHbI+{pjAhdt#S5=yGnTx?%f0T`$5YlDZdY0a{;4K z`q|*VvK*jfi{Dvz_$u_)2)#ar(tfBh@^PkWcH%?$B!6zi`ulqHVh-$TJbAH?@BaJ% zE&86ZNZEm+KD5hN6!qu3AOHRQcpcl@O~yh`rR{FcSnOdd=drzWSk+OE))~kC-sM=w z){am%#hnw5``GTGV565P_bE>2&7)ZIdF<{Bj%Fe5b5+OY&f$Ob5?b|F+%vm1hc|eI zwf-eof35y6c#R2g`b5in96!>_0KFej*O}^bTAML(zHTPw9yQ+pVF0^7%4d@MuYuxN zo(mrKF8*;03O-`}r#K$sp^ot)kHPB`pU=?eEbu+|^hz^8zeSrm<+p(1vuDoi7s146 zqyf*i@F3;}X2IzQID^pUY33?8KC+y?e?7s8$I@Bxx`xZSo z`+d)KFUJAuo53_|vkOMv8HdhZAdkbTyL_H;f029Ymb^^fafCZBXmJm&?t_z(^z-l= z&Uo{cpR4hWIsBp>{65ch4LxPv)#2}%{FH-FYpJ>JeD{gJpHDO!-8#4Zh*e#{roO}) z>hoS;+sqLjW4mYZA}_IVLs;cHR{EG<=M;Cam50$ux*E3wLfZs>X z-%#=qf9QO1k~$5JpXvJobU16& z7cMeG+y}-x+V<1Saqxhn*mM2ZG(O-BHD5!|YQSfSk}0^d2JWs39zlm$Pv=~Rz-`d? zJfD8r+y%!0pvc!j?hgQCAizANg}i!9jcK@epWa?`Jq%t$U|9$H8(_NH;GQ5?ktc$u zahF7Ykk$k>?on?OoL8vz8hXtEk3-Wq<3ZhN|Az8cKvxgE*H5|G{HN620+JbSqXO~o=Z;zWH()g2y&sS(ML*FBO#4 zYge6S;ghsJhNinvX58ei(qZ^GPyg!R7Uk)4xpU`>^TWQ$B;WBL-(=!@Y1A6mgB>x( zL%wOn725dLm-kTMeo9vXQr&CRHviE4HW^#BuUqz(l(IM>K20zWF0Q*Cz(sd?UfjZ! zC3A1C_1YqN;dFGBJidRzU8H8O^v`l2u9@d8THm?Si<~#9Yx!~5u@hJM)3X(=>-??l zdzIO32;9V@e$%;xX`;BiAGwrqgfi~^>H)1fwXp^JWBmWkelNm z*Q!>oy0TwJVO)PYZ^W(Am)QX$Zll1nyl`J_&IMNr#Yd^EB6DR|)_Zlnl=mlxs&L0$ zq`oO9Qh8at`Z|hRN1EF3`%+yl!!l~4-E-a9*`gyh?zfD4hxGDhV&Cy~bZfQqokM9q zs5^wTQMPoHX!~-zX4c${uKMZI652s`<7f@a@ir1F+8-@o!gB!_aWC?V)80qGZsrv7 z%`bg??YQ?Tk7ym$!fpI}qE%~nRu_z}4;XRH)~`W)pr3bEl4E#-di#uri?lk9{p2rh z!o`O~HSP%Bl<*i>dtX-YKO;P zC@<<+l4m&{wIJ2_mI$AwbYEPzaHOWpnk9aEEcctSW_g|RyJdKswOlcx^_?27%6$m) z19#lGXR%q{(YiESuW}pN$#_j8waE3TS>Nqfdz(-;?k?YcB?+|~cjw#D@^NRos^kA# z*wGr6SX+FS)~mCyMa|FcR(w;cW77Q+Mi-7o-z9c4_$K!o=$*^QV6)YU=k9ZM4r%ts zNXRt`-&@f+oO0XKiS>$g%B)m7T=Q7F+|rigSJrEcIGu;MBQQmU%~5B&h%w~|T4%M+ z59D_AeDP@)>%`~M@}1!M?6erAy4S-u`xft);eXb)7w5fdPRwVN>vJcTTM4BxnV{CP zzwjSLaur3-~GfOMvkgYPGAA z;QWnR*8Eeb{g&UiK>m@Z4c}&e;3w_5v)+jSm6lxtx5-7*QE)tTmu&os2>@1)4*BYDo} zCN|X^PkL`m=t?1)Cdfv2p)vT>aQ*Rm$g5jmFIw4c1*77)eqBDk)EyE`>ucNU`go|O(@<@@IvCGgxAyAekCeg`m% zd)3R}rkbt?ntk2v0D93kmO;0sZ~1BuT`nhirla=DC!u1br8b`3XE+9y`94f{vBdvB z^7(4D!|bj0O^Up3oyA^fAC&(A^C%pZw)0qztu4hc!i-1Ty$!8ygMryJ`+0xLv%F?2 z4JnH>8aV8g5%5aD;XM3uy%5v>&_}|v8LO&&JtF7PO!L>kDrN_+2YT8=uO{o_8%(}l z-t$Pwr^(ZPn`m2ZF$yq_$=NYpVd=+iakW_O492@%Wk7x+h0aw z_nLK?(!NYsXEn#&4~}cI0RHQgW53&I-DsvL@wn<;oOw3yfB8A+Zu?P|>#k?X;zyZA z-|4ykWOCL+w&GET#+4?2V-%$YZT6c*Z$yxL70sN;EpMbDk1dnmkfLrp)p>l+d(6F=7@j}w&*POn6z$7- zKI=i-SyDSMnC#>u@~5uh)ySRiB3q+{Mkz$~os(Gt@)p1@Wq=v2mBGnOQx( z_1qgOlw+X8|3pwfQ{-3+(Mg=o3x7AfvuW~+wXmedsE_#Nm?R9m+nn9@ANcIc=be&2 zHbWfW*H(OHKf=~ixUb!R=8DhK#&`3lm52D|Y@ZwUO{3y%Y|!BADunTZ|A*DfmCsbi zJbN#z1PQD7?}&F;jqrKpA;#a2@MZ^J@-yEUXTiT`a~u%A(YpeO1!Ee4KdJJo;PhN2{gFHCgL%b`0nG zpbb>B)U&wDCS^gJ?a4*Hwi6rGieoeUe_eZ3w1$z6X3A22u$B5`o6omoX*`Uf`{za6 zt?_4>Wm0EaZF$13j=j)gq!`W2LXoocKdHvfaXre2v*^WIX)Hpp_Sq<-YR10X=;FLg zrPj3Bs`#%4HJ&sm+9oL}&ZXMHYZuw)WB9DEEAl7mPVVnoxhenjF7ba;jT)3#K5pHC z=KB?0-RWMt+Ih)VOp18tw&pUuW{SbT##822&dfq{ESKJ-=T1|-U)+TneWy<`_)cuS zg#LD#v*Lf=-tNd|M|pQHvEo=N^7yP>N%{R&*>o@Y6n(afu6E!=o@30T!=x>(b|qo= o|Jkni#9GXr8L7oM=BjK + + + + + \ No newline at end of file diff --git a/Java/20x20 (printf)/.idea/compiler.xml b/Java/20x20 (printf)/.idea/compiler.xml new file mode 100644 index 0000000..96cc43e --- /dev/null +++ b/Java/20x20 (printf)/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Java/20x20 (printf)/.idea/copyright/profiles_settings.xml b/Java/20x20 (printf)/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/Java/20x20 (printf)/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Java/20x20 (printf)/.idea/encodings.xml b/Java/20x20 (printf)/.idea/encodings.xml new file mode 100644 index 0000000..97626ba --- /dev/null +++ b/Java/20x20 (printf)/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Java/20x20 (printf)/.idea/misc.xml b/Java/20x20 (printf)/.idea/misc.xml new file mode 100644 index 0000000..db1dbaa --- /dev/null +++ b/Java/20x20 (printf)/.idea/misc.xml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.8 + + + + + + + + \ No newline at end of file diff --git a/Java/20x20 (printf)/.idea/modules.xml b/Java/20x20 (printf)/.idea/modules.xml new file mode 100644 index 0000000..b97f2be --- /dev/null +++ b/Java/20x20 (printf)/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Java/20x20 (printf)/.idea/workspace.xml b/Java/20x20 (printf)/.idea/workspace.xml new file mode 100644 index 0000000..2160bc3 --- /dev/null +++ b/Java/20x20 (printf)/.idea/workspace.xml @@ -0,0 +1,653 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + Checkstyle + + + + + CheckStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1448631852760 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Java/20x20 (printf)/20x20 (printf).iml b/Java/20x20 (printf)/20x20 (printf).iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/20x20 (printf)/20x20 (printf).iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/20x20 (printf)/build.xml b/Java/20x20 (printf)/build.xml new file mode 100644 index 0000000..53359ff --- /dev/null +++ b/Java/20x20 (printf)/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project 20x20 (printf). + + + diff --git a/Java/20x20 (printf)/build/classes/.netbeans_automatic_build b/Java/20x20 (printf)/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/20x20 (printf)/build/classes/.netbeans_update_resources b/Java/20x20 (printf)/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/20x20 (printf)/build/classes/pkg20x20/Main.class b/Java/20x20 (printf)/build/classes/pkg20x20/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..a7f99288b39fab3b125d2762ff80231cc10e93ea GIT binary patch literal 831 zcmZuvO>YuW6g_Vk7#OCOuhtJx+iEM+wu9J}U}IxqLPD(x24h@3=t!r9flP-+_x&Lz zE?nD1H72@q^V54ugqe<_cPHyq_X>m?Naewsc7#=*DDjIOD!;;e^Wb<$I|XduWi=@-}TyMMI)O0s{AB#rQaq< z`jS+EnR*~whdZ)AW;E-)f!}hTxvHm_V%tyz7EHtq+_R8JfwL@c?g=C=sCSzOPAf35 zYT-WC46Iw&fK7hWLJ<$hGd00fZT{esg3oXL@0PMo|Tt9pUc zc6P!W1cl&jlv0^LlfsP QMBxv@e3^2c0S!0)1CXw;h5!Hn literal 0 HcmV?d00001 diff --git a/Java/20x20 (printf)/manifest.mf b/Java/20x20 (printf)/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/20x20 (printf)/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/20x20 (printf)/nbproject/build-impl.xml b/Java/20x20 (printf)/nbproject/build-impl.xml new file mode 100644 index 0000000..f7ad74c --- /dev/null +++ b/Java/20x20 (printf)/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/20x20 (printf)/nbproject/genfiles.properties b/Java/20x20 (printf)/nbproject/genfiles.properties new file mode 100644 index 0000000..26f67a8 --- /dev/null +++ b/Java/20x20 (printf)/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=138b40f1 +build.xml.script.CRC32=60fb7216 +build.xml.stylesheet.CRC32=8064a381@1.75.2.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=138b40f1 +nbproject/build-impl.xml.script.CRC32=bf294911 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/20x20 (printf)/nbproject/private/private.properties b/Java/20x20 (printf)/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/20x20 (printf)/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/20x20 (printf)/nbproject/private/private.xml b/Java/20x20 (printf)/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/20x20 (printf)/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/20x20 (printf)/nbproject/project.properties b/Java/20x20 (printf)/nbproject/project.properties new file mode 100644 index 0000000..82606db --- /dev/null +++ b/Java/20x20 (printf)/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/20x20__printf_.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=pkg20x20.Main +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/20x20 (printf)/nbproject/project.xml b/Java/20x20 (printf)/nbproject/project.xml new file mode 100644 index 0000000..bfb6ebb --- /dev/null +++ b/Java/20x20 (printf)/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + 20x20 (printf) + + + + + + + + + diff --git a/Java/20x20 (printf)/out/production/20x20 (printf)/pkg20x20/Main.class b/Java/20x20 (printf)/out/production/20x20 (printf)/pkg20x20/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..263c7207e5efbf65c464531c7982a344027ee183 GIT binary patch literal 831 zcmZuvO-~b16g{tB#E_xunO z7p`T2#zc2+-1=_}QO}z;p-q^~+&k~ybI*DAzW3|zw;upDQ8u6<7e^lRG2GE{*T4c6 z4J_ea4EL2^*0CZGtvasbZwZ78#fE_Ptao4wOxGOO-WznAw)avtJB*}jy_W1Wr01yh zD5&{|&WS?zkK5(ayK>3em5y5>O_yF^w(zEQBu}N)k#5_n`<~;rD@sN*`R(wN#7eJC zlFT(wfvLJLTgSVyKTp(vhKUj$QD>rqiQ4-66W{KVv^VetW`+$pJ?jO#@!69tyX-i1CAQ=G zcH8y@^i$ax*!yqQAa;sllNcdbmI=xx*?1^@#m%~EVXSI2zwtQ@`>Kq%CuztY33#~a zYiNoMEF#WJqMi_hnjo#ol|?V;BdcE^J_qS3+Gr3=;0FKAApp}zaur7kX+~7>Idp{S zx3y|6nf-{0_9Uu@fA_!W`*1){H*`+$VX=@*Edg~X?Szt05iPbD0N z5?(@#HbtAE+zeK56Kj~`EzjUF<4-XkY-)jcgXft+mK}w#MQk?M=r(3q1KbLDB9{n> ROX#Bb2NAx6%rOzd?f;a5u!#Tw literal 0 HcmV?d00001 diff --git a/Java/20x20 (printf)/src/pkg20x20/Main.java b/Java/20x20 (printf)/src/pkg20x20/Main.java new file mode 100644 index 0000000..a56c037 --- /dev/null +++ b/Java/20x20 (printf)/src/pkg20x20/Main.java @@ -0,0 +1,29 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package pkg20x20; + +/** + * + * @author kuchelmeister.hannes + */ +public class Main { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + for (int a = 1; a <= 20; a++) + { + for (int b = 1; b <= 20; b++) + { + System.out.printf("%4d", a * b); + + if (b == 20) { + System.out.print("\n"); + } + } + } + } +} diff --git a/Java/20x20Sternchen/20x20Sternchen.iml b/Java/20x20Sternchen/20x20Sternchen.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/20x20Sternchen/20x20Sternchen.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/20x20Sternchen/build.xml b/Java/20x20Sternchen/build.xml new file mode 100644 index 0000000..8bb645c --- /dev/null +++ b/Java/20x20Sternchen/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project 20x20Sternchen. + + + diff --git a/Java/20x20Sternchen/build/classes/.netbeans_automatic_build b/Java/20x20Sternchen/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/20x20Sternchen/build/classes/.netbeans_update_resources b/Java/20x20Sternchen/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/20x20Sternchen/build/classes/pkg20x20sternchen/Main.class b/Java/20x20Sternchen/build/classes/pkg20x20sternchen/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..c43310f31a9c8c2b0c2bdbc7e1be31c900f5525a GIT binary patch literal 1412 zcmbtUOH30{6g_XIFw>!xI-vYfkxz?A5kCkNMU5IFs7Vb*jWI(Rarm@N9Sm$-81^n* z=|W?0VNBEn6Z|ADb>q@#OpJ+fXDlj zFkqlwM}vk&11jp}(xf9OZODseY}3)AVY`7=gmtt@yF*92hMfY15hw1r`vlZrXi&g& zC^2jc6!$xE`}pLm5% za0vLLt`!>_u#y=~8g>a7(ZpmbW*>2+aIaL-DwF#VzM#c;G{D?Y^QwKjXliS z>_Z3kYUuQ#3$ls^mL?Eb4m&Y4YR6m+5g&TM?g_(({pb}?41?va-H$wmY!f&DE19(8 z!vfobtLqP~f^teJN_P{B9Hqh42YF(J-sm((Gr=h*CS8FISz0F%KFLYAq_M3D29#t9 z%!jEkDGyx~h^(P-CS1%ry+YmhKJeLpa~6P3yS$7%S+*iI4Z6tcVSvi4F%0l zARcDiC0q+LU=d3B?8_d&25jWci!ziGVXzYAIS)s!dLmVU(mOa}Dg)}inyTBVc?$K+ z6L?zYP+%5vnS(Ykql(#u&yS#+Ue9wFXVjMH9Ewg$z&8i~jG%j7?$&V^D2-Iz`ftXC z*@b8MjE!nfH3hDhD24fF6lVRltbq|979(L_1y) zd&5uZEx)3V=)@Ov<16iVvZv7@6n-jlY)NMKlc$0?RX%s23e}vxf<9)i + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/20x20Sternchen/nbproject/genfiles.properties b/Java/20x20Sternchen/nbproject/genfiles.properties new file mode 100644 index 0000000..4fae1d4 --- /dev/null +++ b/Java/20x20Sternchen/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=5ef4f2a3 +build.xml.script.CRC32=fc02511f +build.xml.stylesheet.CRC32=8064a381@1.75.2.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=5ef4f2a3 +nbproject/build-impl.xml.script.CRC32=746352cf +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/20x20Sternchen/nbproject/private/private.properties b/Java/20x20Sternchen/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/20x20Sternchen/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/20x20Sternchen/nbproject/private/private.xml b/Java/20x20Sternchen/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/20x20Sternchen/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/20x20Sternchen/nbproject/project.properties b/Java/20x20Sternchen/nbproject/project.properties new file mode 100644 index 0000000..1ea1640 --- /dev/null +++ b/Java/20x20Sternchen/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/20x20Sternchen.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=pkg20x20sternchen.Main +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/20x20Sternchen/nbproject/project.xml b/Java/20x20Sternchen/nbproject/project.xml new file mode 100644 index 0000000..20fa5dd --- /dev/null +++ b/Java/20x20Sternchen/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + 20x20Sternchen + + + + + + + + + diff --git a/Java/20x20Sternchen/src/pkg20x20sternchen/Main.java b/Java/20x20Sternchen/src/pkg20x20sternchen/Main.java new file mode 100644 index 0000000..7158ff6 --- /dev/null +++ b/Java/20x20Sternchen/src/pkg20x20sternchen/Main.java @@ -0,0 +1,64 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package pkg20x20sternchen; + +/** + * + * @author kuchelmeister.hannes + */ +public class Main { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + + for(int x = 1; x <= 20; x++) + { + String s = ""; + for(int y = 0; y < x; y++) + { + s += "*"; + } + System.out.printf("%20s",s); + System.out.print("\n"); + } + + System.out.print("\n\n"); + + for(int x = 20; x > 0; x--) + { + String s = ""; + for(int y = 0; y < x; y++) + { + s += "*"; + } + System.out.printf("%20s",s); + System.out.print("\n"); + } + + System.out.print("\n\n"); + + for(int x = 20; x > 0; x--) + { + for(int y = 0; y < x; y++) + { + System.out.print("*"); + } + System.out.print("\n"); + } + + System.out.print("\n\n"); + + for(int x = 1; x <=20; x++) + { + for(int y = 0; y < x; y++) + { + System.out.print("*"); + } + System.out.print("\n"); + } + } +} diff --git a/Java/Addition/Addition_0/Addition_0.iml b/Java/Addition/Addition_0/Addition_0.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Addition/Addition_0/Addition_0.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Addition/Addition_0/build.xml b/Java/Addition/Addition_0/build.xml new file mode 100644 index 0000000..53841f4 --- /dev/null +++ b/Java/Addition/Addition_0/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project Addition_0. + + + diff --git a/Java/Addition/Addition_0/build/classes/.netbeans_automatic_build b/Java/Addition/Addition_0/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Addition/Addition_0/build/classes/.netbeans_update_resources b/Java/Addition/Addition_0/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Addition/Addition_0/build/classes/addition_0/Addition_0.class b/Java/Addition/Addition_0/build/classes/addition_0/Addition_0.class new file mode 100644 index 0000000000000000000000000000000000000000..9e8354972cde6c179e4167d11853290a52bae23c GIT binary patch literal 622 zcmZvZNlODk5QSf7n* zUOs1tRotdv$W)~xj=OeUs54%-NXb{-2Di?+l0p3|#{9PQ7{;r-*_6I?ovU^8;QzQo zIGam{VXS;v?eJS}THI-wHD5`mwG)oxszrdpfHp(A=5|#>9LZpQrpH|iP&$%GX_(V7 z4})R*Pzq0Y#;I~!ircnv{qfdTz9Gnm@%PktxD!$+;TXK@t!XIfSimAfd}DQU zZ;PQg&gjs@;3OuxX2Kmm0+%x6(CF$*NC=1-EG(g^dkot{6ceEsflg=r=K_W?LRAVGWJw7gS3($& ldqN~1eMT(Eamqc=2%;e_Nz=15w+GB2hdlMj62%BczX1bdiNyc_ literal 0 HcmV?d00001 diff --git a/Java/Addition/Addition_0/manifest.mf b/Java/Addition/Addition_0/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Addition/Addition_0/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Addition/Addition_0/nbproject/build-impl.xml b/Java/Addition/Addition_0/nbproject/build-impl.xml new file mode 100644 index 0000000..09b3b45 --- /dev/null +++ b/Java/Addition/Addition_0/nbproject/build-impl.xml @@ -0,0 +1,1400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Addition/Addition_0/nbproject/genfiles.properties b/Java/Addition/Addition_0/nbproject/genfiles.properties new file mode 100644 index 0000000..2cda0d2 --- /dev/null +++ b/Java/Addition/Addition_0/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=b88dc5ac +build.xml.script.CRC32=10e3e34d +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=b88dc5ac +nbproject/build-impl.xml.script.CRC32=67a6cbdc +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/Addition/Addition_0/nbproject/private/private.properties b/Java/Addition/Addition_0/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/Addition/Addition_0/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/Addition/Addition_0/nbproject/private/private.xml b/Java/Addition/Addition_0/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/Java/Addition/Addition_0/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Java/Addition/Addition_0/nbproject/project.properties b/Java/Addition/Addition_0/nbproject/project.properties new file mode 100644 index 0000000..8857dc7 --- /dev/null +++ b/Java/Addition/Addition_0/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Addition_0.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=addition_0.Addition_0 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Addition/Addition_0/nbproject/project.xml b/Java/Addition/Addition_0/nbproject/project.xml new file mode 100644 index 0000000..ef480ae --- /dev/null +++ b/Java/Addition/Addition_0/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Addition_0 + + + + + + + + + diff --git a/Java/Addition/Addition_0/src/addition_0/Addition_0.java b/Java/Addition/Addition_0/src/addition_0/Addition_0.java new file mode 100644 index 0000000..ecf65c5 --- /dev/null +++ b/Java/Addition/Addition_0/src/addition_0/Addition_0.java @@ -0,0 +1,9 @@ +package addition_0; +public class Addition_0 +{ + public static void main(String[] args) + { + System.out.println("Dieses Programm führt eine Addition zweier Zahlen aus."); + System.out.println("2+3=" + (2+3)); + } +} diff --git a/Java/Addition/Addition_1/Addition_1.iml b/Java/Addition/Addition_1/Addition_1.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Addition/Addition_1/Addition_1.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Addition/Addition_1/build.xml b/Java/Addition/Addition_1/build.xml new file mode 100644 index 0000000..b9a6ec6 --- /dev/null +++ b/Java/Addition/Addition_1/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project Addition_1. + + + diff --git a/Java/Addition/Addition_1/build/classes/.netbeans_automatic_build b/Java/Addition/Addition_1/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Addition/Addition_1/build/classes/.netbeans_update_resources b/Java/Addition/Addition_1/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Addition/Addition_1/build/classes/addition_1/Addition_1.class b/Java/Addition/Addition_1/build/classes/addition_1/Addition_1.class new file mode 100644 index 0000000000000000000000000000000000000000..5871d7f9d38255052985b060c27d9ccb40425384 GIT binary patch literal 944 zcmaJ<+iuf95Ivil9oLYMG%YkKn7fnGnignFZ&CpvRf?ceP$l32Ht~{d72A>RfZ#Xy z5_m`@K)mqAMD4>M-#E{vNzKnMml6LigA@wkD1w*bbeetC4HAVQ0H@oC1)Pol9 z9`H~q``DR^J2GOJt#j9vu?+lI%g*j!xJh&#mp;Rc{jz?@-*TtR{kGGHL+Q6Shvj(K zCW7LGYX&{)dmi`QWd^o4Hdh$Z>V}#!8bLp7iN{iPm>XAKQpHT&=gEoiMfpO=|r~wLZKPQiRqE-suY8;{9mD(y(IEmhaM>|IYBBFT1V? zP29sOHMyX`8i8#S>$q=XLuHjFE{7pMW_#K^6s`D#tMNXHg-6d4^y#8BTAvJ@ecD}2 z8x-85{T7EDC*8E3o(iHYd-B#Zyw?-H%TTfRs;5GZha&dHN%{YY*W+OHwhYtuX<}m3 zhMjeN`m1N?)2fpIJst8S&ynSjW~9@#Bd|}y>jKHl(3wDyusI6AG)iP;F@st1sN|1G zB1L*Fy_MN6S6=UYMxu}$AVvBs($9~ODG#6(^Z~LJ1q=f71O}KIz#NyGqk@1&z3D`l tC23HHQ&^?qs)gF949?>MSqXaeIh3i16#bJ5A(iJ~o=}p!7l$#Iegm}W)Q127 literal 0 HcmV?d00001 diff --git a/Java/Addition/Addition_1/manifest.mf b/Java/Addition/Addition_1/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Addition/Addition_1/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Addition/Addition_1/nbproject/build-impl.xml b/Java/Addition/Addition_1/nbproject/build-impl.xml new file mode 100644 index 0000000..4645475 --- /dev/null +++ b/Java/Addition/Addition_1/nbproject/build-impl.xml @@ -0,0 +1,1400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Addition/Addition_1/nbproject/genfiles.properties b/Java/Addition/Addition_1/nbproject/genfiles.properties new file mode 100644 index 0000000..5b13b6b --- /dev/null +++ b/Java/Addition/Addition_1/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=b09e498a +build.xml.script.CRC32=26e76c07 +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=b09e498a +nbproject/build-impl.xml.script.CRC32=b4aad381 +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/Addition/Addition_1/nbproject/private/private.properties b/Java/Addition/Addition_1/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/Addition/Addition_1/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/Addition/Addition_1/nbproject/private/private.xml b/Java/Addition/Addition_1/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/Java/Addition/Addition_1/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Java/Addition/Addition_1/nbproject/project.properties b/Java/Addition/Addition_1/nbproject/project.properties new file mode 100644 index 0000000..5046308 --- /dev/null +++ b/Java/Addition/Addition_1/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Addition_1.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=addition_1.Addition_1 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Addition/Addition_1/nbproject/project.xml b/Java/Addition/Addition_1/nbproject/project.xml new file mode 100644 index 0000000..73dcae1 --- /dev/null +++ b/Java/Addition/Addition_1/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Addition_1 + + + + + + + + + diff --git a/Java/Addition/Addition_1/src/addition_1/Addition_1.java b/Java/Addition/Addition_1/src/addition_1/Addition_1.java new file mode 100644 index 0000000..e482792 --- /dev/null +++ b/Java/Addition/Addition_1/src/addition_1/Addition_1.java @@ -0,0 +1,13 @@ +package addition_1; +public class Addition_1 +{ + public static void main(String[] args) + { + int summand1, summand2, summe; + summand1=2; + summand2=3; + summe=summand1+summand2; + System.out.print("Dieses Programm führt eine Addition zweier Zahlen aus: "); + System.out.println(summand1+"+"+summand2+"="+summe); + } +} diff --git a/Java/Addition/Addition_2/Addition_2.iml b/Java/Addition/Addition_2/Addition_2.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Addition/Addition_2/Addition_2.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Addition/Addition_2/build.xml b/Java/Addition/Addition_2/build.xml new file mode 100644 index 0000000..2e49d85 --- /dev/null +++ b/Java/Addition/Addition_2/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project Addition_2. + + + diff --git a/Java/Addition/Addition_2/build/classes/.netbeans_automatic_build b/Java/Addition/Addition_2/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Addition/Addition_2/build/classes/.netbeans_update_resources b/Java/Addition/Addition_2/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Addition/Addition_2/build/classes/addition_2/Addition_2.class b/Java/Addition/Addition_2/build/classes/addition_2/Addition_2.class new file mode 100644 index 0000000000000000000000000000000000000000..59296d01d2662e01794fdefa12a1df2b8efa5937 GIT binary patch literal 1311 zcmb7D*-{fh6g{0um>~=X!YYD}D`AZ+BC;u)7>z&~iYoL$8q$WQG979bx9{->^dVG< z{gX&&xoT)XUNI{BJl-bS{^Qp*{5?yU$f zA;s}rDfD*5L#gE_YO;p45*ux3XK1dd`jgtktc^L`*98x3%wvIJVMXi+<>aJrRH&Rh zVd43K4pl|yfKHXdSyVeu^E`!_=V7bU~w zk`%u1oprBN@VM(bua3X$d4bjtXzhOUWK;mYsykOqYlD=c0q8L z-m^1xZbC1KQ3{E$*0@gVQ)_Ig+)aFcgc-~OT~yQ;o)Dj2JyVIdK}HcXZ9Z*KtkOXr z1V1C>FgjcO_q_3 z^&f(LtfV{Xtg8eKTqJB)3($p2 z0Tz-Zri=V5=Y@?|ne!MCWm#GR=w+V-4!KiWr*KnPtk-#(DAY>5V P8g3GbQvMcIN6`BdKMXtP literal 0 HcmV?d00001 diff --git a/Java/Addition/Addition_2/manifest.mf b/Java/Addition/Addition_2/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Addition/Addition_2/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Addition/Addition_2/nbproject/build-impl.xml b/Java/Addition/Addition_2/nbproject/build-impl.xml new file mode 100644 index 0000000..0be9832 --- /dev/null +++ b/Java/Addition/Addition_2/nbproject/build-impl.xml @@ -0,0 +1,1400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Addition/Addition_2/nbproject/genfiles.properties b/Java/Addition/Addition_2/nbproject/genfiles.properties new file mode 100644 index 0000000..40ef9ba --- /dev/null +++ b/Java/Addition/Addition_2/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=a8aadde0 +build.xml.script.CRC32=7ceafdd9 +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=a8aadde0 +nbproject/build-impl.xml.script.CRC32=1acffd27 +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/Addition/Addition_2/nbproject/private/private.properties b/Java/Addition/Addition_2/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/Addition/Addition_2/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/Addition/Addition_2/nbproject/private/private.xml b/Java/Addition/Addition_2/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/Java/Addition/Addition_2/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Java/Addition/Addition_2/nbproject/project.properties b/Java/Addition/Addition_2/nbproject/project.properties new file mode 100644 index 0000000..5a6bfc3 --- /dev/null +++ b/Java/Addition/Addition_2/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Addition_2.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=addition_2.Addition_2 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Addition/Addition_2/nbproject/project.xml b/Java/Addition/Addition_2/nbproject/project.xml new file mode 100644 index 0000000..365bf7c --- /dev/null +++ b/Java/Addition/Addition_2/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Addition_2 + + + + + + + + + diff --git a/Java/Addition/Addition_2/src/addition_2/Addition_2.java b/Java/Addition/Addition_2/src/addition_2/Addition_2.java new file mode 100644 index 0000000..c250af4 --- /dev/null +++ b/Java/Addition/Addition_2/src/addition_2/Addition_2.java @@ -0,0 +1,17 @@ +package addition_2; +import java.util.Scanner; +public class Addition_2 +{ + public static void main(String[] args) + { + Scanner scan = new Scanner( System.in ); + int summand1=0, summand2=0, summe=0; + System.out.println("Geben Sie nun den ersten Summanden ein. (Bestätigen sie mit Enter"); + summand1=scan.nextInt(); + System.out.println("Geben Sie nun den zweiten Summanden ein. (Bestätigen sie mit Enter"); + summand2=scan.nextInt(); + summe=summand1+summand2; + System.out.print("Dieses Programm führt eine Addition zweier Zahlen aus: "); + System.out.println(summand1+"+"+summand2+"="+summe); + } +} diff --git a/Java/BackTracking/BackTracking.iml b/Java/BackTracking/BackTracking.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/BackTracking/BackTracking.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/BackTracking/build.xml b/Java/BackTracking/build.xml new file mode 100644 index 0000000..0a378be --- /dev/null +++ b/Java/BackTracking/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project BackTracking. + + + diff --git a/Java/BackTracking/build/classes/.netbeans_automatic_build b/Java/BackTracking/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/BackTracking/build/classes/.netbeans_update_resources b/Java/BackTracking/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/BackTracking/build/classes/backtracking/BackTracking.class b/Java/BackTracking/build/classes/backtracking/BackTracking.class new file mode 100644 index 0000000000000000000000000000000000000000..34d3ad6d50154019355d666f0d1aaf40ff11c42e GIT binary patch literal 2182 zcmaJ?OH&kA6#i~cGu?~>j^H57gNG6`7zINN8bK5gWdsE?_&}neVY;NrFi=BdDrCzl zt5juWX-Y$-ij7%BtB^b@3scD=*=L!m#Imx8`2!RQ`R<(_Ac$Ga?Q_pP=R4P}XfFH+9oRZ%Txpc~<%fxAE-W}j_MlNUN z(j%9oiF4As*FeNTpMmoNek(g?jb{WzQlMxwXS=R|Z+MtHf18ta+;(mg4VMM<04%N@&bQ_Y$ zRWIdVAhZ#+e{{kgW9K)iQXi1XNp^o~mIvWHLC#du0NHWLk!?+~h2;w4ziJXcEsf}v z*q&FvH9c)-(*lRKGkC$rV}s#hiDbk79GmV`zIy_@6E7MPz)+cGvZ&*QsNfyb5RhzA z3djcWYk+f$7}q#=P5cUeiw-=7_>zK#YOa2z^rMDyFmHfbf=U>+gc>@F73e6U?)gJ# zk>=<-jj?pUuRR_z7f= z$fr2^h)e*b*ntqrv5O>^k(m%0Nc`(0y@i?%%4f+{FFgjx=5?~@kjD&tbEwBHyn+w0 zAMA0vTJ=zW{>{wb$_0f+Df$Nnoe>02De6Ex#TKAJz{2!6qv_?;1+;VAw@tLjq^ zTU)}$)-$e8-Wg9~e;7rMfRy%Ak_~^(h?VSiFFs>j=`n!2j9$r}9^iR3N>@=L!Ye3R zg;3wWVG2=a#?2bDhI1ez^45EccSXjbfGdU(p9V%g;wCzrcBBb%9fGaXm79*ZWcF^+Pf)ISexvA387A zG7%(3cO<%u(i4%8aUaoG$h?PeB&siC=Q2W(s77HC`>0<)JQ9<7j=gUgyCN}pM%4&6 zTPeH5OMZnTdzI-7k+y3bm+Pe921o5(j@1bNN-dm5S|whaPh>suZZB~^X+BH@O_66n zTSdL7K{0PYvsXomu5#k)d@`p^%`a2UFDW#>eB=4aQ+Jb(%ecBQ8_!T3FTfFknY;jn m@jIv*0)%{=jF1^Jf52|-5j2S>)Kv{A3xgD!)U;5q;po3DubLkK literal 0 HcmV?d00001 diff --git a/Java/BackTracking/manifest.mf b/Java/BackTracking/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/BackTracking/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/BackTracking/nbproject/build-impl.xml b/Java/BackTracking/nbproject/build-impl.xml new file mode 100644 index 0000000..e2083fb --- /dev/null +++ b/Java/BackTracking/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/BackTracking/nbproject/genfiles.properties b/Java/BackTracking/nbproject/genfiles.properties new file mode 100644 index 0000000..f6aa53c --- /dev/null +++ b/Java/BackTracking/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=d38d6736 +build.xml.script.CRC32=86c37df0 +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=d38d6736 +nbproject/build-impl.xml.script.CRC32=151427ed +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/BackTracking/nbproject/private/private.properties b/Java/BackTracking/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/BackTracking/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/BackTracking/nbproject/private/private.xml b/Java/BackTracking/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/BackTracking/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/BackTracking/nbproject/project.properties b/Java/BackTracking/nbproject/project.properties new file mode 100644 index 0000000..1201745 --- /dev/null +++ b/Java/BackTracking/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/BackTracking.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=backtracking.BackTracking +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/BackTracking/nbproject/project.xml b/Java/BackTracking/nbproject/project.xml new file mode 100644 index 0000000..662f5e2 --- /dev/null +++ b/Java/BackTracking/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + BackTracking + + + + + + + + + diff --git a/Java/BackTracking/src/backtracking/BackTracking.java b/Java/BackTracking/src/backtracking/BackTracking.java new file mode 100644 index 0000000..198e7f8 --- /dev/null +++ b/Java/BackTracking/src/backtracking/BackTracking.java @@ -0,0 +1,106 @@ +package backtracking; + +/** + * @author Hannes + */ +public class BackTracking { + private static int anzahl = 0; + private static int[][] brett = new int[8][8]; + //Negative Zahlen = Dame + //0 = unbesetzt + // >0 => gesperrt + + private static void setze(int zeile, int spalte, int addiere) { + brett[zeile][spalte] -= addiere; + //sperre Zeile + for (int i = 0; i < 8; i++) { + if (i != spalte) { + brett[zeile][i] += addiere; + } + } + //spalte + for (int i = 0; i < 8; i++) { + if (i != zeile) { + brett[i][spalte] += addiere; + } + } + + //sperre Diagonalen + int z = zeile + 1; + int s = spalte + 1; + while (s < 8 && z < 8) { + brett[z][s] += addiere; + z++; + s++; + } + z = zeile - 1; + s = spalte - 1; + while (s >= 0 && z >= 0) { + brett[z][s] += addiere; + z--; + s--; + } + z = zeile + 1; + s = spalte - 1; + while (s >= 0 && z < 8) { + brett[z][s] += addiere; + z++; + s--; + } + z = zeile - 1; + s = spalte + 1; + while (s < 8 && z >= 0) { + brett[z][s] += addiere; + z--; + s++; + } + + + } + + private static void draw() { + for (int z = 0; z < 8; z++) { + for (int s = 0; s < 8; s++) { + if (brett[z][s] == -1) { + System.out.print(" D"); + } else { + System.out.print(" " + brett[z][s]); + } + } + System.out.print("\n"); + } + System.out.print("\n"); + anzahl++; + } + + private static int nächsteStelle(int zeile, int spalte) { + while (spalte < 8 && brett[zeile][spalte] != 0) { + spalte++; + } + + return spalte; + } + + private static void dame(int zeile, int spalte) { + int nSpalte = nächsteStelle(zeile, spalte); + //System.out.println("z:" + zeile + " s:" + spalte + " n:" + nSpalte); + if (zeile == 7 && nSpalte != 8) { + setze(zeile, spalte, 1); + draw(); + setze(zeile, spalte, -1); + + } else { + if (nSpalte < 8) { + setze(zeile, nSpalte, 1); + dame(zeile +1, 0); + setze(zeile,nSpalte, -1); + dame(zeile, nSpalte +1); + } + } + } + + public static void main(String[] args) { + dame(0,0); + System.out.println("Anzahl: " + anzahl); + } +} diff --git a/Java/Begruessung/Begruessung.iml b/Java/Begruessung/Begruessung.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Begruessung/Begruessung.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Begruessung/build.xml b/Java/Begruessung/build.xml new file mode 100644 index 0000000..3f6493b --- /dev/null +++ b/Java/Begruessung/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Begruessung. + + + diff --git a/Java/Begruessung/build/classes/.netbeans_automatic_build b/Java/Begruessung/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Begruessung/build/classes/.netbeans_update_resources b/Java/Begruessung/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Begruessung/build/classes/begruessung/Begruessung.class b/Java/Begruessung/build/classes/begruessung/Begruessung.class new file mode 100644 index 0000000000000000000000000000000000000000..53c74408cdaf1284ac7e4071d84b552a79ecdb55 GIT binary patch literal 791 zcmZ`%+iuf95IvKmapIb`I895rH7PfzHv@ev;-N_JVgXXBNEH&&CRv%S>~-YWNd2tx zkV+u&0elo<)~OUqf+f%F%+8!Mdv<^Q{{9od5sqv)xL?DAIv!%%Ld!NJEBbEZF8|E#iWE zu9aYSlRO>Bx5`Yn_7~})DRyuRD}1^@YMBl#bR6trkFfbK(n+qOp-c(O@A6FQ)~N{h zTMqVdK%lmRL--b+J9vSY-2I<(@&Gg35B+mF$Zn*%7voIEtZ|a_Msuo!O8k#3L&joA z5wlcPF&ardBpi4Pw3R3mUGp6}7$_xkWxTWA5%0Ey! zyTX!Noxs}T->tEkpgw^;Ltfz?z+%gfnb8cx#uSD9CP!s#;|{i%gK(GQ67Ky09Llrh literal 0 HcmV?d00001 diff --git a/Java/Begruessung/manifest.mf b/Java/Begruessung/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Begruessung/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Begruessung/nbproject/build-impl.xml b/Java/Begruessung/nbproject/build-impl.xml new file mode 100644 index 0000000..62ee9ec --- /dev/null +++ b/Java/Begruessung/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Begruessung/nbproject/genfiles.properties b/Java/Begruessung/nbproject/genfiles.properties new file mode 100644 index 0000000..9ea1e2f --- /dev/null +++ b/Java/Begruessung/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=65e23a38 +build.xml.script.CRC32=3a495ca6 +build.xml.stylesheet.CRC32=8064a381@1.75.2.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=65e23a38 +nbproject/build-impl.xml.script.CRC32=e28e0a1d +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Begruessung/nbproject/private/private.properties b/Java/Begruessung/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Begruessung/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Begruessung/nbproject/private/private.xml b/Java/Begruessung/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Begruessung/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Begruessung/nbproject/project.properties b/Java/Begruessung/nbproject/project.properties new file mode 100644 index 0000000..339d1e5 --- /dev/null +++ b/Java/Begruessung/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Begruessung.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=begruessung.Begruessung +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Begruessung/nbproject/project.xml b/Java/Begruessung/nbproject/project.xml new file mode 100644 index 0000000..385f54a --- /dev/null +++ b/Java/Begruessung/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Begruessung + + + + + + + + + diff --git a/Java/Begruessung/src/begruessung/Begruessung.java b/Java/Begruessung/src/begruessung/Begruessung.java new file mode 100644 index 0000000..067c25d --- /dev/null +++ b/Java/Begruessung/src/begruessung/Begruessung.java @@ -0,0 +1,10 @@ +package begruessung; +public class Begruessung +{ + public static void main(String[] args) + { + String name; + name="Lenerd"; + System.out.println("Guten Tag, "+name+"!"); + } +} diff --git a/Java/Bubblesort/Bubblesort.iml b/Java/Bubblesort/Bubblesort.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Bubblesort/Bubblesort.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Bubblesort/build.xml b/Java/Bubblesort/build.xml new file mode 100644 index 0000000..2e351b2 --- /dev/null +++ b/Java/Bubblesort/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Bubblesort. + + + diff --git a/Java/Bubblesort/build/classes/.netbeans_automatic_build b/Java/Bubblesort/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Bubblesort/build/classes/.netbeans_update_resources b/Java/Bubblesort/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Bubblesort/build/classes/bubblesort/Bubblesort.class b/Java/Bubblesort/build/classes/bubblesort/Bubblesort.class new file mode 100644 index 0000000000000000000000000000000000000000..1fd5dc12dd7ecf221eec0a6fb4072070d1c6c30c GIT binary patch literal 1315 zcmZuw+fEZv6kVq??J#wKaw)gs1r;m^l!A8($|WWwpau*tB*xP+mVsW#bZUZ6KJXtJ zUhq{&lo-PY_yhifi7&osR9t5$tr{NAKKtz1XRo#P+4Jf5heH5kmIjGWYP>P zlTgPI2jLUQqlDi z(^Yqz^i(Mpo?+vr=z31~+LPbNCiRk{3z85(0F2MFvz+k^fJeRNV> z6Wc;`$952mO~m-&_0hL(Mh_6&J^HM0G#_V}bQMJn>gTXXu%5Ic#A-q}NuFa?FIfx{ zJHd$JbAj0r`Y~E1qJw^fOvnRgc>_4lWkJ_|AtHqNonKAfI*}}SUrFxP#=G_qI^03) z9t?V2$#I3_1u39uJEtbUAWBJdLd@q>g+HA_A@AkPAR z2_IojS*}=eQQ0`Hra#?>R_lEmf~?rfhw5YPD@2P^Rex2xLc8pvDzBFwhk#7_m>VE8 zr@8|DguqH^XH{vFfW cMok1e)K~YRD;!QfZP-uKVEEJq7zyC&A1vA6c>n+a literal 0 HcmV?d00001 diff --git a/Java/Bubblesort/manifest.mf b/Java/Bubblesort/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Bubblesort/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Bubblesort/nbproject/build-impl.xml b/Java/Bubblesort/nbproject/build-impl.xml new file mode 100644 index 0000000..97f45cd --- /dev/null +++ b/Java/Bubblesort/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Bubblesort/nbproject/genfiles.properties b/Java/Bubblesort/nbproject/genfiles.properties new file mode 100644 index 0000000..8e289e5 --- /dev/null +++ b/Java/Bubblesort/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=5f9c0708 +build.xml.script.CRC32=f1eef8ad +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=5f9c0708 +nbproject/build-impl.xml.script.CRC32=19dc59d9 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Bubblesort/nbproject/private/private.properties b/Java/Bubblesort/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Bubblesort/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Bubblesort/nbproject/private/private.xml b/Java/Bubblesort/nbproject/private/private.xml new file mode 100644 index 0000000..d6ba960 --- /dev/null +++ b/Java/Bubblesort/nbproject/private/private.xml @@ -0,0 +1,9 @@ + + + + + + file:/C:/Users/Hannes/Google%20Drive/NetBeansProjects/Bubblesort/src/bubblesort/Bubblesort.java + + + diff --git a/Java/Bubblesort/nbproject/private/profiler/configurations.xml b/Java/Bubblesort/nbproject/private/profiler/configurations.xml new file mode 100644 index 0000000..17c0a34 --- /dev/null +++ b/Java/Bubblesort/nbproject/private/profiler/configurations.xml @@ -0,0 +1,116 @@ + + + +1000 +false +profiler.simple.filter +false + +64 +true + +10 +false +true +0 +false +true +1 +false +false +false +profiler.simple.filter +32 +false +1 +true +1 +10 +1 +true +Analyze Memory +false +10 +1 +true +10 +0 +profiler.simple.filter +0 +false +true + + +1 +true + + +false +10 +false +true +false +false +32 +Quick filter... +false +0 +false +0 + +10 +0 +true +true + +true +10 + +1000 +0 +profiler.simple.filter +false +Analyze Performance + +1 +2 + +0 +false +profiler.simple.filter +Quick filter... +true +false +0 +true + +2 +false +32 + +0 +false +Profile only project classes +0 +0 +profiler.simple.filter +true +1 +10 +false +false +10 +false +true +false +false +Quick filter... +0 +false + +128 +Monitor Application +1000 +true +true + diff --git a/Java/Bubblesort/nbproject/private/profiler/snapshot-1453291927121.nps b/Java/Bubblesort/nbproject/private/profiler/snapshot-1453291927121.nps new file mode 100644 index 0000000000000000000000000000000000000000..066fbe0542e824ac54b53d7b6c3487264407670d GIT binary patch literal 2297 zcmbW2J!lj`6vy}c2tf&isNe^}f@l$RypO~}UB7~2;!@}-oEV>e`)p-LclVLrBSX&z zx4hcg`&wKntvSP2lx9{x>zlrGzvo5Itmv6}Gkf*W&Em|Pd;L#CQrSAVdCSpP2ci7# z^Oq&Pi+5O^kFSm0I#EUw8%uX4bBjJ~p1Qm9jC1(xrgQ6WEM57)Enitn)?FX8CJTA` z>87*l!TN)ZZ@YGmUC%AQJ2yACyV%vRo(#Smw+1fndv95tXhYYs4X44ghcLB^dAm^B zUg+Q6SF{KApHklo+q#y8oK=Yr90`z;(3(JUm;?3%5;zEb^$P-uD?WIR=qRg$@t(9T6j2Yj-;CR+ zavVT|@w!vRzR-3e7?+5Hh>ua^8kjjLq53U5S4VfsWfYQIID#$tB z8i38H-?UZWh{~{C9}59Oha$#&J|b>CJ>_?2pNQk^^frWa$Foz<9HLp>ZXC=KOaWRa_!)Dp5sQK(ZcMw5dMO$Y_8tuL(yN)h+-*5X$EK zh|Q|X==@3XVn%R<}JAut~ILndm8QFp)sZHW*!C}f^sZnmBC kFQ%PzX542jlOLN%4$unWZwvZA#?0h@9)xl@e(ze=cZl0$jsO4v literal 0 HcmV?d00001 diff --git a/Java/Bubblesort/nbproject/private/profiler/snapshot-1453292067017.nps b/Java/Bubblesort/nbproject/private/profiler/snapshot-1453292067017.nps new file mode 100644 index 0000000000000000000000000000000000000000..964c4d1d7084b401f11bbd68c7bcd3119405729c GIT binary patch literal 2368 zcmbW2Piz!b9LHw`8Ur?|Er%s~n53L4KK4&(gk+>@B z@ArPc&-?zqLtYLK(|z~=9L_yq7)DOM@5+yhM^Cx7ZEsxowBZ` zixcw;zh2$iH!v_cGFkay;`twUj{MBuDQ}x*L*_u*X3(va>t@=KUZ1WzxdOpiLd`E9lN;w{O2$1 z9{%v{BUgSIYV`d+G;Xv9-rK!l2|WAMg>OH~UEX&tpTBwO_NUA9CtsT|&wrfHKf5j8 z93P#&-rj2-+V%ADO{Tv;F%SNn5BYQEbl3f?J1PZS6+QxelL#o zZw?u)VILUcAOt3Ljzoij<8j2DAoS%g2#8bl!LtO5K%aozFhT+cvJ@rSSWLJq695s8 zz?2|HsXzgU28~a|b6^!zNA%LtV1!AVwm^GMIu?qE2h8upW7L=vz$|4gtLFGzISHps zAO<}01xM9RiXxj#pV;fKJC;N$5~e=50=yn%ESUmI|0c2_>tOc+OiKKYDFd4_!*qRz zbKoizG3J>FyREd!f7Lz|$C>GA2&u|-(_=oO6M{81stTfQU<`Yp2jEk;(!%${vf-+VJ*q-;i4cYo!!ec>*D|mt6WkJQEei}myIGW9EmT}HvHA(fFlTLSCowY00t16@OkSlVj2Xb%g zvGii9a)nVfs&x&eSSTp(H4cQMt{=(VSqF>6y!7sen^H7ojp>K9=(NXM^@%DO{Dep3d zr*xrIRf(CT>nWct>upbkKwIvcB*j~=#n07LmcAu3@?jIs4 YpcKNRHuV1(Q=R{L5Q;|p+%=4U0B`_^(EtDd literal 0 HcmV?d00001 diff --git a/Java/Bubblesort/nbproject/project.properties b/Java/Bubblesort/nbproject/project.properties new file mode 100644 index 0000000..b7a8c4e --- /dev/null +++ b/Java/Bubblesort/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Bubblesort.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=bubblesort.Bubblesort +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Bubblesort/nbproject/project.xml b/Java/Bubblesort/nbproject/project.xml new file mode 100644 index 0000000..fb522c9 --- /dev/null +++ b/Java/Bubblesort/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Bubblesort + + + + + + + + + diff --git a/Java/Bubblesort/src/bubblesort/Bubblesort.java b/Java/Bubblesort/src/bubblesort/Bubblesort.java new file mode 100644 index 0000000..e39c9bf --- /dev/null +++ b/Java/Bubblesort/src/bubblesort/Bubblesort.java @@ -0,0 +1,48 @@ +package bubblesort; +public class Bubblesort { + static double[] arr = new double[400000]; + static int start = 0, ende = arr.length - 1; + + public static void main(String[] args) { + // TODO code application logic here + fillArray(); + + while(start != ende) + { + int aktuelles = start; + int bestes = start; + + do { + aktuelles++; + if(bestes < aktuelles) + { + bestes = aktuelles; + } + } while (aktuelles != ende); + tausche(bestes, start); + + } + //ausgabe(); + + + } + public static void ausgabe() + { + for (int i = 0; i < arr.length; i++) { + System.out.println(arr[i]); + } + } + public static void tausche(int zeiger1, int zeiger2) + { + double tmp = arr[zeiger1]; + arr[zeiger1] = arr[zeiger2]; + arr[zeiger2] = tmp; + start++; + } + public static void fillArray() + { + for (int i = 0; i < arr.length; i++) { + arr[i] = Math.random(); + } + } +} diff --git a/Java/Division/Division_0/Division_0.iml b/Java/Division/Division_0/Division_0.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Division/Division_0/Division_0.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Division/Division_0/build.xml b/Java/Division/Division_0/build.xml new file mode 100644 index 0000000..e52a39a --- /dev/null +++ b/Java/Division/Division_0/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project Division_0. + + + diff --git a/Java/Division/Division_0/build/classes/.netbeans_automatic_build b/Java/Division/Division_0/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Division/Division_0/build/classes/.netbeans_update_resources b/Java/Division/Division_0/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Division/Division_0/build/classes/division_0/Division_0.class b/Java/Division/Division_0/build/classes/division_0/Division_0.class new file mode 100644 index 0000000000000000000000000000000000000000..d822ad37b04fe3cb9dcdb8b64fb986e60da70cf7 GIT binary patch literal 623 zcmZvZIZwkt5QX37auN(VAl!#Jia>!8NCXmWg?55foT&n zuoyP>r3i#|qx`nwu4`R>ymgee1lh3aVM8l^t?B!$hdUvKvd(zN5uU}vz`(4DIm|Pp z*Ed&p))*>1%`g + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Division/Division_0/nbproject/genfiles.properties b/Java/Division/Division_0/nbproject/genfiles.properties new file mode 100644 index 0000000..9c2e0c6 --- /dev/null +++ b/Java/Division/Division_0/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=0d2c20b6 +build.xml.script.CRC32=8824a94f +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=0d2c20b6 +nbproject/build-impl.xml.script.CRC32=8b155f26 +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/Division/Division_0/nbproject/private/private.properties b/Java/Division/Division_0/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/Division/Division_0/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/Division/Division_0/nbproject/private/private.xml b/Java/Division/Division_0/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/Java/Division/Division_0/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Java/Division/Division_0/nbproject/project.properties b/Java/Division/Division_0/nbproject/project.properties new file mode 100644 index 0000000..70f2e24 --- /dev/null +++ b/Java/Division/Division_0/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Division_0.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=division_0.Division_0 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Division/Division_0/nbproject/project.xml b/Java/Division/Division_0/nbproject/project.xml new file mode 100644 index 0000000..1dbb805 --- /dev/null +++ b/Java/Division/Division_0/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Division_0 + + + + + + + + + diff --git a/Java/Division/Division_0/src/division_0/Division_0.java b/Java/Division/Division_0/src/division_0/Division_0.java new file mode 100644 index 0000000..2291471 --- /dev/null +++ b/Java/Division/Division_0/src/division_0/Division_0.java @@ -0,0 +1,9 @@ +package division_0; +public class Division_0 +{ + public static void main(String[] args) + { + System.out.println("Diese programm führt eine Subtraktion zweier Zahlen aus"); + System.out.println("6:2=" +(6/2) ); + } +} diff --git a/Java/Division/Division_1/Division_1.iml b/Java/Division/Division_1/Division_1.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Division/Division_1/Division_1.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Division/Division_1/build.xml b/Java/Division/Division_1/build.xml new file mode 100644 index 0000000..297238d --- /dev/null +++ b/Java/Division/Division_1/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project Division_1. + + + diff --git a/Java/Division/Division_1/build/classes/.netbeans_automatic_build b/Java/Division/Division_1/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Division/Division_1/build/classes/.netbeans_update_resources b/Java/Division/Division_1/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Division/Division_1/build/classes/division_1/Division_1.class b/Java/Division/Division_1/build/classes/division_1/Division_1.class new file mode 100644 index 0000000000000000000000000000000000000000..d28c05957dfd3ab40f624efb717b87e3205127f2 GIT binary patch literal 946 zcmaJ=TTc@~6#k~S-Ii5qxhWJ~?*)Yw6+vzfN=!%^HK`#{AIy}FWyp57Znqfy9sUu0 zD2Wa3eCIOzj z`r9(nMn5!W;$7Vln5Z`NzV7HSc(ved{(-AZ*OEFA7_Ypn?#X@W`7&sFwK&p2b2Xup zQIiQqPPi7ZlB{7QAhrZ-qcv0z6Taz&u})y27Ivc@^+=lsAhR(q-iWWQvx3D0v zw5e4`x$P)yMzYm%Uw{9)8^x|-tM2be_x)R?Rph>qyS@rs+3l>j7H&Hn^IbN2w222@ z?Kf29U=jCNCYctoM6m8)8TTEmn5eO&kE7EOC=Rkcsqd*BcJ`O4_O27F7WWc%c`??X zpANmJ9A3;3D%s+IN0J=>ngz0LOksrB={sN)W7P5( z#{?}V_yf|&P%am9YuWXwvcK^OsZzR!4CNPOpC2GM)q_>Cd&rj!C=g5&^f1(eGvJ#f zBVaL~%}*xJe}N1`SR%WrVYbhMvp7dB&9zTridAI!P|8FpMtGPeO4E9tJ}F%I1ti|q AQUCw| literal 0 HcmV?d00001 diff --git a/Java/Division/Division_1/manifest.mf b/Java/Division/Division_1/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Division/Division_1/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Division/Division_1/nbproject/build-impl.xml b/Java/Division/Division_1/nbproject/build-impl.xml new file mode 100644 index 0000000..57caad1 --- /dev/null +++ b/Java/Division/Division_1/nbproject/build-impl.xml @@ -0,0 +1,1400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Division/Division_1/nbproject/genfiles.properties b/Java/Division/Division_1/nbproject/genfiles.properties new file mode 100644 index 0000000..4db750b --- /dev/null +++ b/Java/Division/Division_1/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=053fac90 +build.xml.script.CRC32=be202605 +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=053fac90 +nbproject/build-impl.xml.script.CRC32=5819477b +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/Division/Division_1/nbproject/private/private.properties b/Java/Division/Division_1/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/Division/Division_1/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/Division/Division_1/nbproject/private/private.xml b/Java/Division/Division_1/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/Java/Division/Division_1/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Java/Division/Division_1/nbproject/project.properties b/Java/Division/Division_1/nbproject/project.properties new file mode 100644 index 0000000..fb9a96f --- /dev/null +++ b/Java/Division/Division_1/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Division_1.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=division_1.Division_1 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Division/Division_1/nbproject/project.xml b/Java/Division/Division_1/nbproject/project.xml new file mode 100644 index 0000000..00f5ead --- /dev/null +++ b/Java/Division/Division_1/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Division_1 + + + + + + + + + diff --git a/Java/Division/Division_1/src/division_1/Division_1.java b/Java/Division/Division_1/src/division_1/Division_1.java new file mode 100644 index 0000000..57683a4 --- /dev/null +++ b/Java/Division/Division_1/src/division_1/Division_1.java @@ -0,0 +1,13 @@ +package division_1; +public class Division_1 +{ + public static void main(String[] args) + { + int divisor, divident, quotient; + divisor=6; + divident=2; + quotient=divisor/divident; + System.out.print("Diese programm führt eine Division zweier Zahlen aus: "); + System.out.println(divisor+"/"+divident+"="+quotient); + } +} diff --git a/Java/Division/Division_2/Division_2.iml b/Java/Division/Division_2/Division_2.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Division/Division_2/Division_2.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Division/Division_2/build.xml b/Java/Division/Division_2/build.xml new file mode 100644 index 0000000..0825dc0 --- /dev/null +++ b/Java/Division/Division_2/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project Division_2. + + + diff --git a/Java/Division/Division_2/build/classes/.netbeans_automatic_build b/Java/Division/Division_2/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Division/Division_2/build/classes/.netbeans_update_resources b/Java/Division/Division_2/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Division/Division_2/build/classes/division_2/Division_2.class b/Java/Division/Division_2/build/classes/division_2/Division_2.class new file mode 100644 index 0000000000000000000000000000000000000000..7ac899eba35312f412ebd76bcdf1b6201bd040d3 GIT binary patch literal 1294 zcmah|*-{fh6g{0um>~=V5(0>z<4RZ~iy#D|vKozG8Hy_OK_{dQO(ipNGK0(a_yh6~ zs>JezH-EstvAjJ=844)PL-)Dcxo7&`{QUjx2Y_j8hS80Lis4p_U^I*X#v~foFcC%) z_oQc1!<2?;Y0s#*ABK*EJZ3e_$@_tZd3i6WNU2z4Xjv4NaMKJ*Vt9ukxMCMLLnJFK zzUh_o+}SqsCGteG_MTbVF&!c8hBN5yiz-8Jwjd5gRoK>>spRTkm?FBeDJ+Jb#Ov&V zd1xj}rd3SlTt`^Nl;6&DibN2*BuvHCJ(G%K^-|9jrDTpg7I%nQ^;_Bw1IsXI(kgJv zCHUU6UE#xU&i0%=zAoekM4G}Tq!t}<^e}Y!y3UfTSkjTkLz(bM$73ur%x~~Kw~U-G|Hs5I zw<>s*8x_YcI%c_SygU8A@A!4RE{7&yeEz@%cZ^r&eu=c0UUk9H@dRr$rt>3M_C%?` z9UU1wrFTq9@QeU`e-_Uf;{F?-A1gy=lV~e{!1w6Y&$x1*sxB`x1mxu7_2CISnXxLK zOQYvzna0odj#be!K|{Rq?Os= z5kk?H8r0Dmv?Xb@HjMPZV5uGs*U(0h6X?6gXdkGdBO0lpb5MdV0`VZB8lqI#6gGk| zHB`|C4N(%)Pxf`PhDhcZ+A)a^%p-!g==8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Division/Division_2/nbproject/genfiles.properties b/Java/Division/Division_2/nbproject/genfiles.properties new file mode 100644 index 0000000..26fdd27 --- /dev/null +++ b/Java/Division/Division_2/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=1d0b38fa +build.xml.script.CRC32=e42db7db +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=1d0b38fa +nbproject/build-impl.xml.script.CRC32=f67c69dd +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/Division/Division_2/nbproject/private/private.properties b/Java/Division/Division_2/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/Division/Division_2/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/Division/Division_2/nbproject/private/private.xml b/Java/Division/Division_2/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/Java/Division/Division_2/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Java/Division/Division_2/nbproject/project.properties b/Java/Division/Division_2/nbproject/project.properties new file mode 100644 index 0000000..aea1d51 --- /dev/null +++ b/Java/Division/Division_2/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Division_2.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=division_2.Division_2 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Division/Division_2/nbproject/project.xml b/Java/Division/Division_2/nbproject/project.xml new file mode 100644 index 0000000..86d0f64 --- /dev/null +++ b/Java/Division/Division_2/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Division_2 + + + + + + + + + diff --git a/Java/Division/Division_2/src/division_2/Division_2.java b/Java/Division/Division_2/src/division_2/Division_2.java new file mode 100644 index 0000000..41ccc8d --- /dev/null +++ b/Java/Division/Division_2/src/division_2/Division_2.java @@ -0,0 +1,17 @@ +package division_2; +import java.util.Scanner; +public class Division_2 +{ + public static void main(String[] args) + { + Scanner scan = new Scanner( System.in ); + int divisor=0, divident=0, quotient=0; + System.out.println("Geben Sie nun den Divisor ein. (Bestätigen sie mit Enter"); + divisor=scan.nextInt(); + System.out.println("Geben Sie nun den Divident ein. (Bestätigen sie mit Enter"); + divident=scan.nextInt(); + quotient=divisor/divident; + System.out.print("Diese programm führt eine Division zweier Zahlen aus: "); + System.out.println(divisor+"/"+divident+"="+quotient); + } +} diff --git a/Java/Fenster/Fenster.iml b/Java/Fenster/Fenster.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Fenster/Fenster.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Fenster/build.xml b/Java/Fenster/build.xml new file mode 100644 index 0000000..0d55484 --- /dev/null +++ b/Java/Fenster/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Fenster. + + + diff --git a/Java/Fenster/build/classes/.netbeans_automatic_build b/Java/Fenster/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Fenster/build/classes/.netbeans_update_resources b/Java/Fenster/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Fenster/build/classes/fenster/Fenster.class b/Java/Fenster/build/classes/fenster/Fenster.class new file mode 100644 index 0000000000000000000000000000000000000000..c1c671fad67a2b0412c78b2aef0bac057fc5d203 GIT binary patch literal 489 zcmZutO;5r=6r3%kl~T)>*6)M2qKQ3t#CS2`U>ZGOYShyLD=vXHX^Z?WFOq2D5Aa7B z-?ktZ_wc4~rZeyDe*b)Y0XWBz1p}^$9Sa&DAE@ULLONNry4jJ^TcqkZZ zfsDk>Y}yye9q&(wX$J9tPePtZ)h|gsdyy$aBX|~3nu)~k7TBSnDVGt0>pcZy{>uFc zk4AnkOJp?aVKj4G8)En%Cvg%EE$NdR14Y5S!XKVhKUUZXSGLR zv2lPyy3C4QIw*U+(rte%1{r0iA`4|I^ULbqV>`q#%JgjNXkcmp)e3b!AtNlGEWqA! z*`jLXWEEBVwu>JKH>s<@L5&z?zNRpZ(D{V+us|s|)!(77Qyi2?ZP2hLd0Tm!TR2cB Q9;6tgwJ48ai+T;)zeE#Wl>h($ literal 0 HcmV?d00001 diff --git a/Java/Fenster/build/classes/fenster/Window$1.class b/Java/Fenster/build/classes/fenster/Window$1.class new file mode 100644 index 0000000000000000000000000000000000000000..fa8a97bae70613b7eb959431da61dc808d1a0c7a GIT binary patch literal 725 zcmaJGti*<(@#TYX?f89&4jM9uNB}+mrp2o@Q(lnf7F+ zojrEeTp)q)y)i25rZUeJ&E_rQ)&}F&Wm0HsKC5isWpQbcN`OcCvr zkX@&5x@4+qR0z!91rrFq*yAiw@3hNu@~X}?N6eVJCP{6s&A|s%9NK}0r4TRhGK7cw zA$+I3LW_O6*{0S8U1e^mGzZbA{*g+U$ijcqjWrw0@&%@Dve4mL-L=DS*03aYrrLI8 z1u{ug&H=4+MA1KExU1ad9+o)v32=}QjfN|P+fd=}BcOMZ+BR+H2|6o3Av&k1d@nH} zC0|i?@PKme3WX^&Xc1qs2_hb%Ip*3KbNQVg5G!Y>{-FxW=c`QM&0lo>HJy)X%#fyv XS&~;6?h(%#cl8PCWjL-IPkz4vtfZfD literal 0 HcmV?d00001 diff --git a/Java/Fenster/build/classes/fenster/Window$2.class b/Java/Fenster/build/classes/fenster/Window$2.class new file mode 100644 index 0000000000000000000000000000000000000000..48c79f8cf596515a1359f6d064160b57dd583fdf GIT binary patch literal 725 zcmaJDp7ZQi}oMwdGR^PTILt9^k+&kmJ9Gtox9I~@&FzApzEJ?+G%GV9A+ zJA2}6xIhBo8)H=7%Vbd~n(b@E(I(?IWm;-$KB)Y_<|8!}Sn4Flax7zcR>o?qOd0Q1 zkUghwyJYHWTna4Q1QQ58+S5E$ueHl^=CaNgj+im`Oq$t3o5Q!NJhDR%%ORfPSqKl) zA$+GjN5no|ZBw*KSCv~P&0+k0aI8`$viRS06U_#*e1X}kEOfY5_w4Az8kWS))H|-M zK&GiGifChW08ix%+}n;>Ei?FrZJgv;-Kfmr*B`X8#GdcMU3Uj9Yr|EBXXk2|EP X<1Wc-40oSrgS+|=%_UPQa(?&0}R>DnBArPE)xmH z5B>mul<~~csGwn!y>suKGv_{k{QUMEKo3uSH1Ht693BR^hb0fo9v*pE5x7LS_{ zXeIl~6s5}JJ#EJJq|duo+URmiV6k)ga(yV!7}&8AXeQdIcgK^F%6H``qoLZ1=7Y-jZ9Y+Bft5~jB&RZ#CuOXr%9QbT z1=(?W-z8I5(^6pRDwsg<(H`fidaYfS^XGLwbHt3fW75nP+8n%9<)IyWSPij;$00mi z58*rQ2_p9CVw<8KT~%(GGzanf(UD4-$nt;FO*9+K@&y(yve4mLJ+PBc*03aYrrvR7 z1u{)lQAE!-IimQVF2~^90?EQ;6;vYM(1i zNXb`}FK~nM&N&JTXwf3RViQE%M0>`yJ>&AbUm!NVqW*^}sGh%M0{y?}{NHpw7IBL- Yb=)R-jp6R{Y;afaqgjRHy7A=q3&jqfp#T5? literal 0 HcmV?d00001 diff --git a/Java/Fenster/build/classes/fenster/Window$4.class b/Java/Fenster/build/classes/fenster/Window$4.class new file mode 100644 index 0000000000000000000000000000000000000000..7a188905d45010ce325d390d3b84f38a784923bb GIT binary patch literal 518 zcmY*W%TB^T6g>llYN?zaA8ekCB_ZW#H4B>rbb;2WrQJRn)IRHV)Q56NTP`! z;71v6!H6v8KF+;!?wLDZ-|wFQ_OWdsi;|AAffP!KS=OiCb9dV}bLSTPtaKMq`RA`{BoxV+ov51d9GE7$Wwsk&z(>iHcL>)0?cgIR|BG@*%2 zY%$DFqm?>A376$@)wM3#ec?u=W&&NtN{wHm4Y(vZ$98OqVq zwd!rn!5%WSM+TjinxaF(C^IOs$TRYpogvuksGK94Gy_jC$(rK^%%MOT>HNEVKx9du u`GM5U5NYiV+JqzdE#MhBy!_)ae|geaplS+5ERxqKT0)*8gBUa9N#qY!USnba literal 0 HcmV?d00001 diff --git a/Java/Fenster/build/classes/fenster/Window.class b/Java/Fenster/build/classes/fenster/Window.class new file mode 100644 index 0000000000000000000000000000000000000000..4e5ea63f1f6c7af0eaa8db5bd134d505df57ff07 GIT binary patch literal 6546 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 JI#uaWF9Cm={&)ZY literal 0 HcmV?d00001 diff --git a/Java/Fenster/build/classes/fenster/Window.form b/Java/Fenster/build/classes/fenster/Window.form new file mode 100644 index 0000000..b08d9b3 --- /dev/null +++ b/Java/Fenster/build/classes/fenster/Window.form @@ -0,0 +1,99 @@ + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Fenster/manifest.mf b/Java/Fenster/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Fenster/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Fenster/nbproject/build-impl.xml b/Java/Fenster/nbproject/build-impl.xml new file mode 100644 index 0000000..295ef97 --- /dev/null +++ b/Java/Fenster/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Fenster/nbproject/genfiles.properties b/Java/Fenster/nbproject/genfiles.properties new file mode 100644 index 0000000..f3c3ce2 --- /dev/null +++ b/Java/Fenster/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=2350f5f8 +build.xml.script.CRC32=73da890f +build.xml.stylesheet.CRC32=8064a381@1.75.2.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=2350f5f8 +nbproject/build-impl.xml.script.CRC32=f8fe1dd1 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Fenster/nbproject/private/private.properties b/Java/Fenster/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Fenster/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Fenster/nbproject/private/private.xml b/Java/Fenster/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Fenster/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Fenster/nbproject/project.properties b/Java/Fenster/nbproject/project.properties new file mode 100644 index 0000000..dbfcca1 --- /dev/null +++ b/Java/Fenster/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Fenster.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=fenster.Fenster +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Fenster/nbproject/project.xml b/Java/Fenster/nbproject/project.xml new file mode 100644 index 0000000..a7137ac --- /dev/null +++ b/Java/Fenster/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Fenster + + + + + + + + + diff --git a/Java/Fenster/src/fenster/Fenster.java b/Java/Fenster/src/fenster/Fenster.java new file mode 100644 index 0000000..9daffa9 --- /dev/null +++ b/Java/Fenster/src/fenster/Fenster.java @@ -0,0 +1,20 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package fenster; + +/** + * + * @author kuchelmeister.hannes + */ +public class Fenster { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + Window w = new Window(); + w.setVisible(true); + } +} diff --git a/Java/Fenster/src/fenster/Window.form b/Java/Fenster/src/fenster/Window.form new file mode 100644 index 0000000..b08d9b3 --- /dev/null +++ b/Java/Fenster/src/fenster/Window.form @@ -0,0 +1,99 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/Java/Fenster/src/fenster/Window.java b/Java/Fenster/src/fenster/Window.java new file mode 100644 index 0000000..0eaa5d8 --- /dev/null +++ b/Java/Fenster/src/fenster/Window.java @@ -0,0 +1,166 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package fenster; + +/** + * + * @author kuchelmeister.hannes + */ +public class Window extends javax.swing.JFrame { + + /** + * Creates new form Window + */ + public Window() { + initComponents(); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + jScrollPane1 = new javax.swing.JScrollPane(); + Ausgabe = new javax.swing.JTextArea(); + jToggleButton1 = new javax.swing.JToggleButton(); + jToggleButton2 = new javax.swing.JToggleButton(); + jToggleButton3 = new javax.swing.JToggleButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + + Ausgabe.setColumns(20); + Ausgabe.setRows(5); + jScrollPane1.setViewportView(Ausgabe); + + jToggleButton1.setText("Muster A"); + jToggleButton1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jToggleButton1ActionPerformed(evt); + } + }); + + jToggleButton2.setText("Muster B"); + jToggleButton2.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jToggleButton2ActionPerformed(evt); + } + }); + + jToggleButton3.setText("Muster C"); + jToggleButton3.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jToggleButton3ActionPerformed(evt); + } + }); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane1) + .addGroup(layout.createSequentialGroup() + .addComponent(jToggleButton1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jToggleButton2) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jToggleButton3) + .addGap(0, 143, Short.MAX_VALUE))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 259, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jToggleButton1) + .addComponent(jToggleButton2) + .addComponent(jToggleButton3)) + .addContainerGap()) + ); + + pack(); + }// //GEN-END:initComponents + + private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleButton1ActionPerformed + String text = ""; + for(int x = 1; x <=20; x++) + { + for(int y = 0; y < x; y++) + { + text += "*"; + } + text += "\n"; + } + this.Ausgabe.setText(text); + }//GEN-LAST:event_jToggleButton1ActionPerformed + + private void jToggleButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleButton2ActionPerformed + String text = ""; + for(int x = 20; x > 0; x--) + { + for(int y = 0; y < x; y++) + { + text += "*"; + } + text += "\n"; + } + this.Ausgabe.setText(text); + }//GEN-LAST:event_jToggleButton2ActionPerformed + + private void jToggleButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jToggleButton3ActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_jToggleButton3ActionPerformed + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new Window().setVisible(true); + } + }); + } + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JTextArea Ausgabe; + private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JToggleButton jToggleButton1; + private javax.swing.JToggleButton jToggleButton2; + private javax.swing.JToggleButton jToggleButton3; + // End of variables declaration//GEN-END:variables +} diff --git a/Java/GeometrischeFiguren/GeometrischeFiguren.iml b/Java/GeometrischeFiguren/GeometrischeFiguren.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/GeometrischeFiguren/GeometrischeFiguren.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/GeometrischeFiguren/build.xml b/Java/GeometrischeFiguren/build.xml new file mode 100644 index 0000000..556036c --- /dev/null +++ b/Java/GeometrischeFiguren/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project GeometrischeFiguren. + + + diff --git a/Java/GeometrischeFiguren/build/classes/.netbeans_automatic_build b/Java/GeometrischeFiguren/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/GeometrischeFiguren/build/classes/.netbeans_update_resources b/Java/GeometrischeFiguren/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/GeometrischeFiguren/build/classes/geometrischefiguren/Dreieck.class b/Java/GeometrischeFiguren/build/classes/geometrischefiguren/Dreieck.class new file mode 100644 index 0000000000000000000000000000000000000000..c534568ef07d87be6a5e17d0aef47fc96973597c GIT binary patch literal 1423 zcmbVLO>Yxd6g|%#dtx(5AP^e!QAnV{IF4OD3z)i4(xgcp5-Aat%L2Vj9`+Dt#u|?e zX}8cH!iF^x4N|G1uKP#&AG#=D1tBEGg!&0+}O*tn&Tc(A5$veq!crintY<2KDh zuh9*SUtWnq<8GLWBx!~8P0#nDs={jigXzm%ee1?x_*ZWM-Vo^S4UH`h$K zs@GcdjMM^Gx9;iC6MN5TMNO}>AM%;dc!W;miolP51QRpJU%3kQ&&G3`KF>RvuRYQ| zUDl7I@?5CfP0#IA1Yyea*Ub~A&+~049R5I_!oZUY%Yo-dM3=bF%z>@GZMTEgRwM8Q zQ~wAVeRVtiY*;Vj($6SI z;sOV046@}APGcBj^cQv;A%|nM*b>Kag2#wAVlYE8rQawe@5^eE)*zSi1`r(14yKj)GCyP6;k-cH%tYWhC>onhO9I&pY zMpMO|=NO}VG)2FNZ8%R;>c!i?bJjKnr~br{D8oWC387g)mU4_hbEuNi0!jQxOA~mT z-yY837o5dYoQvsKN#ZAx8^;7^N;>^PJY(kBnDRq>fl1P?VvbdlJZS+HVV0SZW}h$lRk%Qzz{PjOdPL#? literal 0 HcmV?d00001 diff --git a/Java/GeometrischeFiguren/build/classes/geometrischefiguren/GeometrischeFigurenOberfläche$1.class b/Java/GeometrischeFiguren/build/classes/geometrischefiguren/GeometrischeFigurenOberfläche$1.class new file mode 100644 index 0000000000000000000000000000000000000000..1603c1678076b77b40165dbf1d812a357f7557ae GIT binary patch literal 650 zcmb7C%TB^T6g^W4)mlYS@U073fC~{dF4VX&Voa(eVn`4-r3__AnI?VsMgD*rNi=ce z&W|$QiV;^PEatxNnKSp!$LGr%fPHN0NFl2sr$a$D7K<8|G%RaaVMv__DZ*2RM4?z` zP|v(JXGohu^6RMI;{L7Gaw(EAJ==2YmM>!eC#Z&95il5+QgZ*ywSs_?duTe`>+{eT zf!*aD;Y2={rHenY$}mTMjNLBgrF;Va%$)MM~$hUb##Mf^9-?r1U9xS4JE^XHf zgmkWW*!9{5RU+a@ z43C%Ni7-a+zA&D|QxbZ=-2Q-$59)Y2j1S3^591>h_$Z!{&^a9+)A4Z~=XHD{jNM3t z@kxA2$EP(IQQH=7cgoCUL`H*_*03&i!kjhRvYwS{>vCQ5Ow7u7of;}etfXyvSyyQ2 zD2B5ymK4s6@LVespAwT+lBjmuaMqsoIuDRR**?p*yaO6aBh6zPLfuY+tk%XXTMTAr zCWJd`PNcX~6LaEbYRq&kxz2BfyeW$c-dR*ee?V@ZFL#LiCQ~n8pe7W(Ds5V}r=dRL zD{h|h+WK8HJ!Qo+ol+TXM#HT|dHebkBdMXb2(^YaBc2(b9x&5NRUMzvu+?#syKLc2 z2-D8&8ga62T*SnzNOjq^UL(*jxB7Dcx5T` zjFYAM4T|7&TjrESl7838reo@eRJR3~jbzhlS7b6rP1h!7MtWe@Ol9fZimXkS#HU4q z5tyM@q*IOsX&FB|shkqB>`6z*XJwEaXS&Ny^a+uQa#O<{1*#m04w$x?6z;Yg5GlDt zoYv43kf5?{(DC}5texmR9T#co4`K$9qISkJZO>A^x+zjBC6Z>UD;}q@L8P69+SwU8 z#Bn{52&fmt51DR~j;<}@2pykOm6b0c4Pif=eU{ACtt+SAE?G(j-iWc4SWsH8TdN7NG=UoOv0m2ujBLWnZ|V|= zdcrk5$JMYsh|nCfKvqe3yQ#PZpAtSsVF==K~UU$mLh@rF$1-m6#M3h%5lY)1J?eV4h0=VB zuuOt6S*kxK6w^iZC3-S=8S;*4i8TAy-=ce#$ckL*I{6H$Mp2lK|_`5AATcO zdvujJnKe_CWXPPAPfnjhrOdSD_r(o0p64j@G;ld6a+;&0sA@|&$)tQ0#W)N0stO8O zgm>lhH=s^uuu=@EXe7 z7uXq{a-CE1>8oPwKO1Cm_Rg}D?#l}Kj9YElv(B`Lu`X!qVreV;4rgt9iF#u&4}xi| zU~J(>#U6g@X#DXd!uj=tO7I4R2=m#(v6DNmqC(-EYng}EvVfBDd6d3@5SOc3o=0c_ zW#bFb$E$IU|K?F%)iIBX9KuKaQ+>QDT$SMd^44m(RVRt666$Ck#`5VJ#jYw*jjN>c zSzoQzcH|c%4HKM4r6jqibl%6Y3FRE?sQp_0twSxpoZ7J-J=lN=G~gNBg8jrWd~0w3 zZ{kXm&mCGVEq$DGh;wsG>pa#?dj@=ujjBahfRUa z9gCZrNzu6My}S6?3hX5RHdOOFv4OtZgbtM>t%P?mNA@sF_A^Tk67Hr>{q&mjXuYpf z-mGe3+>02smsV7A9^h~A7_#xjVI93zMq4_deE}>PU52v45GgUXW!81-7_>tUXU$e{{jI7)9t z74&98#}zbA=%j+~Cqxh87 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/Java/GeometrischeFiguren/build/classes/geometrischefiguren/Kreis.class b/Java/GeometrischeFiguren/build/classes/geometrischefiguren/Kreis.class new file mode 100644 index 0000000000000000000000000000000000000000..6eb24537cb2d0757cb9c9584201cf5e93e295629 GIT binary patch literal 785 zcmZ`%!EVz)5Ph3ENfX?brX{qb(3S#q6G#pmgOCssC?cXrR2A2ay~GRdy4pA?@K;EM zN*wqAJ__;HE*D5`&D+_T*?Di){`LFEPXLe6t)Y%>2Rn7bZVffub>5!yn5enLJ>0M2 zK^6M~!qNr;l_%Qh?5V(ZFdVD&L}gY_!dSi6NRARl8pAY{$+5KB?Jt8~7VC*XYi`$9R_RHf3Qn)8D0r#Q%1BSysQN|eFgB!X z2Ez|>CVTQM>%Fw{G}hsy?*xjmz}lRgz+P&{U8Ay*l4jCv-kZx#jpf7XRhmKpC6ZM=R%U7QM(>a0krYB43LP6|P%c K1#S~dxbp{Hq@&aT literal 0 HcmV?d00001 diff --git a/Java/GeometrischeFiguren/build/classes/geometrischefiguren/Punkt.class b/Java/GeometrischeFiguren/build/classes/geometrischefiguren/Punkt.class new file mode 100644 index 0000000000000000000000000000000000000000..8ac9dab7b3618dbaac227c83dd3e0628ce0bf2cb GIT binary patch literal 968 zcmZ`%>rN9v6#k}Nx@BFt6yzd^prYFXt%`SyiI_;5G-ALI`MGV!cCgGg+byV1r3sWo z6Cc2bGJdn$geJ(3IrsCO%bY)dfBpurju#F_usn>bxNFEg2Ojb^3J!*_oW+XatA?y) zQOu%b#QQcL*mx))zVMa#z6xYsDy^bd0z+Q8oZl0$-UM|iFj`SszUv-VW%$9bwrI&! zf|}pj^Fw9yzR`-Bsv|I0X~^JEMxpA|n(~usbVI32@4NbQv_Z&r(D|6KeF6KMRJEoi z;*?i8@Q?hGe;k#zLciTqwa$j=K{Ny={^JwKM!_ztXa-Dr`6Q&}>qaTDve@k)Y!tPO zs?yh;;%?9lYqBDbWb3uoLF7j&&}?{eAa(mlhM}rUCOb*|TV)1z;{J=KMHe}&yBNio zi*bzEc;wW zW)GAsvkLMwcpR7@ouszUh&1_V;S8cMcZyVD{uJpSG^KEjG{;0R)uJ@av=OFF(XyDN zVHz{k2!L6_i&(l&DMfh>^ZhbgJm{41trSjJ;sj~S>cKiM#*V!lrIEMg0T* z5r2TrK+5QhU;O5ea(vG2O6w3iJNMpm?|FI7bI#en{{HO`0GDt-j|F@n+lK{im-8s$ zqXM_ONK}+Wv4$&ITrD7vk8}7$&TC@5p2KyyY~=8%Sl*D!%^W_HbG?8~e4fRvEE)wSTpYIwfBGkn_A!9BOx<4dv8Z@Il4H}K@1Jf_30H&8e^Ht2R3=++Z0X}bO+ z*Y7ZTOvnyBF&4v*FJ29~^R6TNQ5 zQ)2UF5oLM4r;xI$)hxa;v4gKUX5*$T39WEqoHptevDizYJ@Z;)m|Qz>pUEV#hct@~ zGw$v#$3S5@Y33nr_19~h&}FIrW53mWtXtuc_7!{MsBp&*3VYiPyByBJcR|R5ZW}no z-*bU~yn(bdg;H9I$8!RTr9a92P2L_N#SbVsOV6RWjD4h>3onp%_A&7*H3r_|UZg)T z3lsC0VeENExA{sbpjmux}!8VD)$8AMB%0JT`*KI!^K^9v7L|BTN;i zV|iwTVsV!82y?$MR$OX{4AQf>n~}VlWN;YQkl&12X=2FYNE02#7mmWOy+$D+YqYO8 z<#M-D=|24FCFWmX=74kDSO=5jwn%nWvJ>REu}*?K$u?Yy3ckoPuSNw|c#n1l-v0*$ Cv`xtX literal 0 HcmV?d00001 diff --git a/Java/GeometrischeFiguren/manifest.mf b/Java/GeometrischeFiguren/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/GeometrischeFiguren/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/GeometrischeFiguren/nbproject/build-impl.xml b/Java/GeometrischeFiguren/nbproject/build-impl.xml new file mode 100644 index 0000000..6336cbe --- /dev/null +++ b/Java/GeometrischeFiguren/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/GeometrischeFiguren/nbproject/genfiles.properties b/Java/GeometrischeFiguren/nbproject/genfiles.properties new file mode 100644 index 0000000..dde96dc --- /dev/null +++ b/Java/GeometrischeFiguren/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=c64e73ce +build.xml.script.CRC32=b312c9e2 +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=c64e73ce +nbproject/build-impl.xml.script.CRC32=b8ca8051 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/GeometrischeFiguren/nbproject/private/private.properties b/Java/GeometrischeFiguren/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/GeometrischeFiguren/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/GeometrischeFiguren/nbproject/private/private.xml b/Java/GeometrischeFiguren/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/GeometrischeFiguren/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/GeometrischeFiguren/nbproject/project.properties b/Java/GeometrischeFiguren/nbproject/project.properties new file mode 100644 index 0000000..b97507a --- /dev/null +++ b/Java/GeometrischeFiguren/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/GeometrischeFiguren.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=geometrischefiguren.GeometrischeFigurenOberfl\u00e4che +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/GeometrischeFiguren/nbproject/project.xml b/Java/GeometrischeFiguren/nbproject/project.xml new file mode 100644 index 0000000..7d9a303 --- /dev/null +++ b/Java/GeometrischeFiguren/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + GeometrischeFiguren + + + + + + + + + diff --git a/Java/GeometrischeFiguren/src/geometrischefiguren/Dreieck.java b/Java/GeometrischeFiguren/src/geometrischefiguren/Dreieck.java new file mode 100644 index 0000000..95dde7b --- /dev/null +++ b/Java/GeometrischeFiguren/src/geometrischefiguren/Dreieck.java @@ -0,0 +1,40 @@ +package geometrischefiguren; + +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.geom.GeneralPath; + +public class Dreieck extends Strecke { + + protected Strecke _b, _a; + + public Dreieck(Punkt a, Punkt b, Punkt c) { + super(a, b); + this._a = new Strecke(b, c); + this._b = new Strecke(c, a); + } + + @Override + public void zeichne(Graphics g) { +// super.zeichne(g); +// _a.zeichne(g); +// _b.zeichne(g); + // draw GeneralPath (polygon) + + int x1Points[] = {this.x, this._a.x, this._b.x}; + int y1Points[] = {this.y, this._a.y, this._b.y}; + GeneralPath polygon = + new GeneralPath(GeneralPath.WIND_EVEN_ODD, + x1Points.length); + polygon.moveTo(x1Points[0], y1Points[0]); + + for (int index = 1; index < x1Points.length; index++) { + polygon.lineTo(x1Points[index], y1Points[index]); + }; + + polygon.closePath(); + ((Graphics2D)g).draw(polygon); + //((Graphics2D)g).fill(polygon); + + } +} diff --git a/Java/GeometrischeFiguren/src/geometrischefiguren/GeometrischeFigurenOberfläche.form b/Java/GeometrischeFiguren/src/geometrischefiguren/GeometrischeFigurenOberfläche.form new file mode 100644 index 0000000..1e949f4 --- /dev/null +++ b/Java/GeometrischeFiguren/src/geometrischefiguren/GeometrischeFigurenOberfläche.form @@ -0,0 +1,35 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/Java/GeometrischeFiguren/src/geometrischefiguren/GeometrischeFigurenOberfläche.java b/Java/GeometrischeFiguren/src/geometrischefiguren/GeometrischeFigurenOberfläche.java new file mode 100644 index 0000000..03da906 --- /dev/null +++ b/Java/GeometrischeFiguren/src/geometrischefiguren/GeometrischeFigurenOberfläche.java @@ -0,0 +1,97 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package geometrischefiguren; + +import java.awt.Graphics; +import java.util.ArrayList; + +/** + * + * @author Hannes + */ +public class GeometrischeFigurenOberfläche extends javax.swing.JFrame { + ArrayList p = new ArrayList(); + + /** + * Creates new form GeometrischeFigurenOberfläche + */ + public GeometrischeFigurenOberfläche() { + initComponents(); + p.add(new Kreis(new Punkt(150, 150), 50)); + p.add(new Punkt(10, 100)); + p.add(new Strecke(10, 20, new Punkt(100, 100))); + p.add(new Dreieck(new Punkt(100,200), new Punkt(200, 300), new Punkt(10, 10))); + } + + @Override + public void paint(Graphics g) { + super.paint(g); + for (Punkt m : p) { + m.zeichne(g); + } + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 400, Short.MAX_VALUE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 300, Short.MAX_VALUE) + ); + + pack(); + }// //GEN-END:initComponents + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(GeometrischeFigurenOberfläche.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(GeometrischeFigurenOberfläche.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(GeometrischeFigurenOberfläche.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(GeometrischeFigurenOberfläche.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new GeometrischeFigurenOberfläche().setVisible(true); + } + }); + } + // Variables declaration - do not modify//GEN-BEGIN:variables + // End of variables declaration//GEN-END:variables +} diff --git a/Java/GeometrischeFiguren/src/geometrischefiguren/Kreis.java b/Java/GeometrischeFiguren/src/geometrischefiguren/Kreis.java new file mode 100644 index 0000000..2a1f01a --- /dev/null +++ b/Java/GeometrischeFiguren/src/geometrischefiguren/Kreis.java @@ -0,0 +1,28 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package geometrischefiguren; + +import java.awt.Graphics; + +/** + * + * @author Hannes + */ +public class Kreis extends Punkt { + + int r; + + public Kreis(Punkt p, int radius) { + super(p.x, p.y); + r = radius; + } + + @Override + public void zeichne(Graphics g) { + super.zeichne(g); + g.drawOval(x - r, y - r, r*2, r*2); + + } +} diff --git a/Java/GeometrischeFiguren/src/geometrischefiguren/Punkt.java b/Java/GeometrischeFiguren/src/geometrischefiguren/Punkt.java new file mode 100644 index 0000000..d72098a --- /dev/null +++ b/Java/GeometrischeFiguren/src/geometrischefiguren/Punkt.java @@ -0,0 +1,33 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package geometrischefiguren; + +import java.awt.Graphics; + +/** + * + * @author Hannes + */ +public class Punkt { + protected int x, y; //Koordinaten in der Zeichnung + + public Punkt(int posX, int posY) + { + this.x = posX; + this.y = posY; + } + + public void zeichne(Graphics g) + { + g.drawRect(x, y, 1, 1); + } + + @Override + public String toString() + { + return "(" + x + "," + y + ")"; + } + +} diff --git a/Java/GeometrischeFiguren/src/geometrischefiguren/Strecke.java b/Java/GeometrischeFiguren/src/geometrischefiguren/Strecke.java new file mode 100644 index 0000000..a3cf5b5 --- /dev/null +++ b/Java/GeometrischeFiguren/src/geometrischefiguren/Strecke.java @@ -0,0 +1,46 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package geometrischefiguren; + +import java.awt.Graphics; + +/** + * + * @author Hannes + */ +public class Strecke extends Punkt { + protected Punkt _ende; + protected double länge; + + public Strecke(Punkt anfang, Punkt ende) + { + super(anfang.x, anfang.y); //Super ruft den Konstruktor der Elternklasse Punkt auf + //ererbte eigenschaft hat somit die Bedeutung des Punktes von dem aus gezeichnet wird + this._ende = ende; + setLänge(); + } + public Strecke(int x, int y, Punkt ende) + { + super(x,y); + this._ende = ende; + setLänge(); + } + @Override + public void zeichne(Graphics g) + { + g.drawLine(x, y, _ende.x, _ende.y); + } + @Override + public String toString() + { + return "Strecke(" + super.toString() + " bis " + _ende + "; länge( " + länge + " ))"; + } + private void setLänge() + { + int deltaX = x - _ende.x; + int deltaY = y - _ende.y; + länge = Math.sqrt(deltaX*deltaX + deltaY*deltaY); // sqrt(a^2 + b^2) + } +} diff --git a/Java/HA-Test_1/HA-Test_1.iml b/Java/HA-Test_1/HA-Test_1.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/HA-Test_1/HA-Test_1.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/HA-Test_1/build.xml b/Java/HA-Test_1/build.xml new file mode 100644 index 0000000..5657497 --- /dev/null +++ b/Java/HA-Test_1/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project HA-Test_1. + + + diff --git a/Java/HA-Test_1/build/classes/.netbeans_automatic_build b/Java/HA-Test_1/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/HA-Test_1/build/classes/.netbeans_update_resources b/Java/HA-Test_1/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/HA-Test_1/build/classes/ha/test_1/HATest_1.class b/Java/HA-Test_1/build/classes/ha/test_1/HATest_1.class new file mode 100644 index 0000000000000000000000000000000000000000..601f0ec39db52be1121c8b6b95f3380ac78afbde GIT binary patch literal 1884 zcmb7FZ&MpZ82>HF<(6<1auA@k>iItuNTgM)LaPn70u3n|q(aqplWfD%y9;xnk{qO z;#lMOoZ}0Q3dcIfmmC`$w@rLyVv`}YpnMfxWk}>EHyDzO&AMb5Dk)!CqK4) zB$CC@7CKY9(u{(dyrJ{~2fI7ZYfKBT;|+#PjDI}4i7g9v@U?dMh5;77#a)JCQH7y& z8nP;Vr=p}&Cn|$hNTf`gB|-UlCs(B69R3)pM#s%lp>y32WssjVanFK4)j|z*hQ(fp zdyk}g0Z4|GlPG@VAKzQ0U8DcAKMNA~8E*a;Vs~#Z0Ld_ZvVp}&xpf)P#at4u+jJ~6 zuuUDDwxD!b3Uwu0vgND=%|;+R&k=Rf1fiqTJ5}i_Y5|qk*%I5X^rxxYd--BM#@Qj9 zDOy)(<>_v1k)u-=EvFhc&l9dgT4yivoWrMd^>>5Ar}qhiw3%krp*)U0oOB*GebO0D z(|<)&AJW-TRlcco9=n&}033Zc_;IvWq0?FWM4d~W%4uC6D&mkurc>jTrX zO5Zn0DiEcqgmK{j?C0407JXB(GJ&^=x7rSP2RV}ZF^LPLpNTU zOSZ9U8|B1YGBIZ)=2DN5vdw+)seSaXY9ZYb%32s`3)WmxOM_j>$R@MKy*T&@&TJlF z$R6HDW}235(`O$e + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/HA-Test_1/nbproject/genfiles.properties b/Java/HA-Test_1/nbproject/genfiles.properties new file mode 100644 index 0000000..24e9d04 --- /dev/null +++ b/Java/HA-Test_1/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=0e835436 +build.xml.script.CRC32=8262c8ea +build.xml.stylesheet.CRC32=8064a381@1.75.2.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=0e835436 +nbproject/build-impl.xml.script.CRC32=f80ebc33 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/HA-Test_1/nbproject/private/private.properties b/Java/HA-Test_1/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/HA-Test_1/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/HA-Test_1/nbproject/private/private.xml b/Java/HA-Test_1/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/HA-Test_1/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/HA-Test_1/nbproject/project.properties b/Java/HA-Test_1/nbproject/project.properties new file mode 100644 index 0000000..0c76914 --- /dev/null +++ b/Java/HA-Test_1/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/HA-Test_1.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=ha.test_1.HATest_1 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/HA-Test_1/nbproject/project.xml b/Java/HA-Test_1/nbproject/project.xml new file mode 100644 index 0000000..efa2ae6 --- /dev/null +++ b/Java/HA-Test_1/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + HA-Test_1 + + + + + + + + + diff --git a/Java/HA-Test_1/src/ha/test_1/HATest_1.java b/Java/HA-Test_1/src/ha/test_1/HATest_1.java new file mode 100644 index 0000000..909b3bf --- /dev/null +++ b/Java/HA-Test_1/src/ha/test_1/HATest_1.java @@ -0,0 +1,26 @@ +package ha.test_1; +import java.util.Scanner; +public class HATest_1 +{ + public static void main(String[] args) + { + Scanner scan = new Scanner( System.in ); + String name1="", name2=""; + int summand1=0, summand2=0, summe=0; + System.out.println("Bitte geben Sie den ersten Namen ein. (Bestätigen Sie mit Enter.)"); + name1=scan.nextLine(); + System.out.println("Bitte geben Sie den zweiten Namen ein. (Bestätigen Sie mit Enter.)"); + name2=scan.nextLine(); + System.out.println("Bitte geben Sie nun den ersten Summanden ein. (Bestätigen Sie mit Enter.)"); + summand1=scan.nextInt(); + System.out.println("Bitte geben Sie nun den zweiten Summanden ein. (Bestätigen Sie mit Enter.)"); + summand2=scan.nextInt(); + summe=summand1+summand2; + System.out.println("Hallo "+name1+","); + System.out.println("dieses Programm addiert zwei beliebeige Zahlen,"); + System.out.println("z.B. "+summand1+"+"+summand2+"="+summe+"."); + System.out.println("Zeig das bitte mal "+name2+" zum überprüfen, "); + System.out.println("ob die Summe von "+summand1+" und "+summand2); + System.out.println("wirklich "+summe+" ergibt."); + } +} diff --git a/Java/IF/IF_01/IF_01.iml b/Java/IF/IF_01/IF_01.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/IF/IF_01/IF_01.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/IF/IF_01/build.xml b/Java/IF/IF_01/build.xml new file mode 100644 index 0000000..1429070 --- /dev/null +++ b/Java/IF/IF_01/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project IF_01. + + + diff --git a/Java/IF/IF_01/build/classes/.netbeans_automatic_build b/Java/IF/IF_01/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/IF/IF_01/build/classes/.netbeans_update_resources b/Java/IF/IF_01/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/IF/IF_01/build/classes/if_01/IF_01.class b/Java/IF/IF_01/build/classes/if_01/IF_01.class new file mode 100644 index 0000000000000000000000000000000000000000..547d8376c2935a57037b1252f70634ac03a9546a GIT binary patch literal 1182 zcmaJ=*-{fh6g{17CdoiBA>a~pz%2nuKyU?77SUipN)*ejtWMGjPiJR-(G30$$8E~sclcB3%yn8z~p35&1PEnFNH!Oy}^sB-K|G;x5 zw<@_c*D42!cFQS=MME|b@fc=hQVqRGGV~lQpy3W?6x`Kt53>s9 zG|YoC_aAIzu4R~IK^&vcTh691b>3>~8t!9J!ULkF6E~yiddi0y@>o*vNJ9b3RCboU z%SKZ;`b+9YPcuwr^cuG;y(Vb%`o5&{zUx*qJC`wi(-2i*WvTqW(eJh6&HHh2LzG+w z#S$OgyhSJ4FpaGHUnk4ltn?CGF`4e8F|MR7BG$ebI zo@eqXzUvr7oc=NS`9QgmBB&1=-Z+9|$geM`#-g+0=NrjYz7EXk4R1rj4#Py4#3- z#o#`to;{}%bm%xpQhrEMLr@8WgbKO{V?-u_C=t^zgC4x59wp&nqD7=IfU_i3Ji|HY mM7ayAG>0LYKnyE5j|-IdB6&pN+mV0ACFUO>x67pRA^jIOjtYGM literal 0 HcmV?d00001 diff --git a/Java/IF/IF_01/manifest.mf b/Java/IF/IF_01/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/IF/IF_01/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/IF/IF_01/nbproject/build-impl.xml b/Java/IF/IF_01/nbproject/build-impl.xml new file mode 100644 index 0000000..35a0893 --- /dev/null +++ b/Java/IF/IF_01/nbproject/build-impl.xml @@ -0,0 +1,1400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/IF/IF_01/nbproject/genfiles.properties b/Java/IF/IF_01/nbproject/genfiles.properties new file mode 100644 index 0000000..f931d36 --- /dev/null +++ b/Java/IF/IF_01/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=95072a7c +build.xml.script.CRC32=97aa8e49 +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=95072a7c +nbproject/build-impl.xml.script.CRC32=a590f446 +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/IF/IF_01/nbproject/private/private.properties b/Java/IF/IF_01/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/IF/IF_01/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/IF/IF_01/nbproject/private/private.xml b/Java/IF/IF_01/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/Java/IF/IF_01/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Java/IF/IF_01/nbproject/project.properties b/Java/IF/IF_01/nbproject/project.properties new file mode 100644 index 0000000..d0ea4e0 --- /dev/null +++ b/Java/IF/IF_01/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/IF_01.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=if_01.IF_01 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/IF/IF_01/nbproject/project.xml b/Java/IF/IF_01/nbproject/project.xml new file mode 100644 index 0000000..06cce3a --- /dev/null +++ b/Java/IF/IF_01/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + IF_01 + + + + + + + + + diff --git a/Java/IF/IF_01/src/if_01/IF_01.java b/Java/IF/IF_01/src/if_01/IF_01.java new file mode 100644 index 0000000..4ddd9e1 --- /dev/null +++ b/Java/IF/IF_01/src/if_01/IF_01.java @@ -0,0 +1,19 @@ +package if_01; +import java.util.*; +public class IF_01 { + public static void main(String[] args) { + Random generator = new Random(); + + int zahl1 = generator.nextInt(); + double ergebnis = 0; + if(zahl1 > 0) + { + ergebnis = Math.sqrt(zahl1); + System.out.println("Wurzel aus " + zahl1 + " ergibt " + ergebnis); + } + else + { + System.out.println("Aus diser Zahl (" +zahl1+ ") kann keine Wurzel aus einer Zahl kleiner 0 ziehen."); + } + } +} diff --git a/Java/IF/IF_02/IF_02.iml b/Java/IF/IF_02/IF_02.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/IF/IF_02/IF_02.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/IF/IF_02/build.xml b/Java/IF/IF_02/build.xml new file mode 100644 index 0000000..9ef6551 --- /dev/null +++ b/Java/IF/IF_02/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project IF_02. + + + diff --git a/Java/IF/IF_02/build/classes/.netbeans_automatic_build b/Java/IF/IF_02/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/IF/IF_02/build/classes/.netbeans_update_resources b/Java/IF/IF_02/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/IF/IF_02/build/classes/if_02/IF_02.class b/Java/IF/IF_02/build/classes/if_02/IF_02.class new file mode 100644 index 0000000000000000000000000000000000000000..81d6017e456f9bde5c2e1630ad768c5a8b0c14ff GIT binary patch literal 1580 zcmaJ>OK%%h7(LfxdnS(KICjzmaKlhqaQcYTS7=C+lr&9Aane$UK#CBI?TbB)XC@lY z@CXYQEZDIDRVqRt#DW!-=)#ex#D*RJqW^$j0GvCH64OS^;@{<>9d z(UL2BHLJB@`L@#cjPampw*>~u_J{9Johz*@bDbrLW7)32k>b1MyVgfmsb#s1QYG+h zw=o+9vHS*M`9s_Uw`&%``7SgJ>{h8liz|IHC#y2>t%iVL>ROWZTEDfD<72|tJ$L0`J+>72GX6> zaVw2CaXXC))&uw439RZCQ`NrBNP zf5BpCx9ZXth_bE9Ezcp)tlDjJCv?mkR@0YkTwR)JyoC+5yv+`p*FxVj??g?VOyeDF z3S3e(IaaMn{Kt}{rYl2fR%*?VAy~KT)tcshh&E4m2?Y9kpaR2P_Wz)ndw9M`iin|>KoIPndoS(7cp$;{anirDr0C#qDHSaHeB`=zd%wY|;W3Y<9%@YHqL`&Z1oP+Xe$AGZ;B z-3!KE7N0&iix)7)2St4`2sPha3)D*71^2|sU5H;J_ff9N$f#kQa=Lo}&%>nFN2+7A z5G>kAPzN47LTvLPv|Yr@+MG78O~E zzC}h+k3{OR9>9@(!00|eRjEN$IgdfEN%Zs49D~88^x;LMP^4vwbzj5)-`Wgsz#!hk z5I#p9Utk1Zv6a8@wCc`n;@AP=j&twFPdI^>*q;IXh?mI}BlZVOP|}dYcQ{EYPLBIH sMJd6!_i&n0l6+s|3?`XNiA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/IF/IF_02/nbproject/genfiles.properties b/Java/IF/IF_02/nbproject/genfiles.properties new file mode 100644 index 0000000..ab1e79d --- /dev/null +++ b/Java/IF/IF_02/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=8d33be16 +build.xml.script.CRC32=49ee9984 +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=8d33be16 +nbproject/build-impl.xml.script.CRC32=b388ef23 +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/IF/IF_02/nbproject/private/private.properties b/Java/IF/IF_02/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/IF/IF_02/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/IF/IF_02/nbproject/private/private.xml b/Java/IF/IF_02/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/Java/IF/IF_02/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Java/IF/IF_02/nbproject/project.properties b/Java/IF/IF_02/nbproject/project.properties new file mode 100644 index 0000000..6712d9d --- /dev/null +++ b/Java/IF/IF_02/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/IF_02.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=if_02.IF_02 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/IF/IF_02/nbproject/project.xml b/Java/IF/IF_02/nbproject/project.xml new file mode 100644 index 0000000..5da3d76 --- /dev/null +++ b/Java/IF/IF_02/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + IF_02 + + + + + + + + + diff --git a/Java/IF/IF_02/src/if_02/IF_02.java b/Java/IF/IF_02/src/if_02/IF_02.java new file mode 100644 index 0000000..d25ced1 --- /dev/null +++ b/Java/IF/IF_02/src/if_02/IF_02.java @@ -0,0 +1,28 @@ +package if_02; +import java.util.*; +public class IF_02 { + public static void main(String[] args) + { + Scanner scan = new Scanner( System.in); + int betrag=0, tag=0, monat=0, tage=0, monate=0; + double zinsen=0; + System.out.println("Bitte geben Sie nun den Betrag ein, den Sie einzahlen möchten."); + betrag=scan.nextInt(); + System.out.println("Bitte geben Sie nun zuerst den heutigen Tag und dann den momentanen Monat ein."); + tag=scan.nextInt(); + monat=scan.nextInt(); + zinsen=betrag*((30-tag)+30*(12-monat))*1.03/(360*100); + if(betrag>0 && betrag!=0) + { + System.out.println("Sie bekommen bis zum Jahresende "+zinsen+" Euro Zinsen."); + } + else if(betrag==0) + { + System.out.println("Sie machen weder neue Schulden, noch bekommen sie Zinsen"); + } + else + { + System.out.println("Sie machen "+zinsen+" Euro neue Schulden."); + } + } +} diff --git a/Java/IF/IF_03/IF_03.iml b/Java/IF/IF_03/IF_03.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/IF/IF_03/IF_03.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/IF/IF_03/build.xml b/Java/IF/IF_03/build.xml new file mode 100644 index 0000000..8c4d3a2 --- /dev/null +++ b/Java/IF/IF_03/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project IF_03. + + + diff --git a/Java/IF/IF_03/build/classes/.netbeans_automatic_build b/Java/IF/IF_03/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/IF/IF_03/build/classes/.netbeans_update_resources b/Java/IF/IF_03/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/IF/IF_03/build/classes/if_03/IF_03.class b/Java/IF/IF_03/build/classes/if_03/IF_03.class new file mode 100644 index 0000000000000000000000000000000000000000..4651123607b66da958b45a7e4d124ad325f0d6ef GIT binary patch literal 762 zcmZuu+iuf95Iq~)vEw*t$fXp@t=w_};*x+61ffbqRY55r1@(movmSI?fsKo} zl)`0Pv2fK!85Ijv6Ezdp1d{jtu^&AU&??nE0sUe4$`e@W_+#(MY}E6n&t)%QB;N`9 zGT4(-U-^rm9u55iflSAL{c^MEKHBEpVv~{d#{#RB7oC0iR=R;458Q4v^~Zx&Od_WP zmKBb97BD`@VQ^DGv=_LsuuT$mBiVnmD<=znyBp4?eQ(=W3hkJ_t{5GxAZOybgBz%u za2;%dE%jb7^Gq}xZtWH)o`#V?dP%!L?nv;{-oDpoLiQ-ME2AOnCgD43sq_(C{m^~J$s^A1$q~0xi2MB?7BD9&Dd5^lmE*RC4P^Mw>LkDqLXP(d zdM>S?HEKT~zQ)ga-pM$aK!MnqC!mNDy%bh)k`Yz>1v*UHRuPGvBJ{^aB<~t!dOu;U z86Q7ky}IONzaf>kza#w_X$2iZMX5nio{L-QY-zxvfDHXI=^8}$s8~s<@s)H~!zo%F lcW@f(6l3vA&JbzLt>Y|_!G20?;t&l@(@Z9vXCQ$Ke*upgi~s-t literal 0 HcmV?d00001 diff --git a/Java/IF/IF_03/manifest.mf b/Java/IF/IF_03/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/IF/IF_03/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/IF/IF_03/nbproject/build-impl.xml b/Java/IF/IF_03/nbproject/build-impl.xml new file mode 100644 index 0000000..27f9585 --- /dev/null +++ b/Java/IF/IF_03/nbproject/build-impl.xml @@ -0,0 +1,1400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/IF/IF_03/nbproject/genfiles.properties b/Java/IF/IF_03/nbproject/genfiles.properties new file mode 100644 index 0000000..1c70630 --- /dev/null +++ b/Java/IF/IF_03/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=85203230 +build.xml.script.CRC32=b5026900 +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=85203230 +nbproject/build-impl.xml.script.CRC32=08afe43f +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/IF/IF_03/nbproject/private/private.properties b/Java/IF/IF_03/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/IF/IF_03/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/IF/IF_03/nbproject/project.properties b/Java/IF/IF_03/nbproject/project.properties new file mode 100644 index 0000000..9bb434c --- /dev/null +++ b/Java/IF/IF_03/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/IF_03.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=if_03.IF_03 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/IF/IF_03/nbproject/project.xml b/Java/IF/IF_03/nbproject/project.xml new file mode 100644 index 0000000..8289329 --- /dev/null +++ b/Java/IF/IF_03/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + IF_03 + + + + + + + + + diff --git a/Java/IF/IF_03/src/if_03/IF_03.java b/Java/IF/IF_03/src/if_03/IF_03.java new file mode 100644 index 0000000..d56929b --- /dev/null +++ b/Java/IF/IF_03/src/if_03/IF_03.java @@ -0,0 +1,16 @@ +package if_03; +public class IF_03 { + public static void main(String[] args) { + double zahl1 = 2; + double zahl2 = 3; + double zahl3 = 4; + if(Math.pow(zahl1, 2) >= zahl3 && Math.pow(zahl2, 2) >= zahl3) + { + System.out.println("blue"); + } + else + { + System.out.println("rot"); + } + } +} diff --git a/Java/JosefProblem/JosefProblem.iml b/Java/JosefProblem/JosefProblem.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/JosefProblem/JosefProblem.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/JosefProblem/build.xml b/Java/JosefProblem/build.xml new file mode 100644 index 0000000..1041f74 --- /dev/null +++ b/Java/JosefProblem/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project JosefProblem. + + + diff --git a/Java/JosefProblem/build/classes/.netbeans_automatic_build b/Java/JosefProblem/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/JosefProblem/build/classes/.netbeans_update_resources b/Java/JosefProblem/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/JosefProblem/build/classes/josefproblem/JosefProblem.class b/Java/JosefProblem/build/classes/josefproblem/JosefProblem.class new file mode 100644 index 0000000000000000000000000000000000000000..d9f1fa98b01e2d0bab500d760d8380007d9a64e2 GIT binary patch literal 1248 zcmaJ>O>YuW6g`g_W+6+a@iiJE8zI@YPckYO+}(H(0O zm%1_WBaOz5F4{z!Zrr)@zqo6x^*pGtiVES)d-tAu?!D)};q&(oO8^FOGKdZ63m~Z@ z6@-F5x$KimI)MH1+24i%7(pDs!2k{gFsS3Ojw1rvs9m)F$+Q1+2R!FzicQH@APLqN zbHD0YC60j86Nomm+KzFV^Yut$nI#5vH5&TeETC5;sL0C^{aXi9*o6*WZ29qV9-Ir; zjXW8Aazya&TYz}ia7Vam4WkcT+=rR~Y(kW$Hf+WgS{N*z@paH>dlODAs##?$o?d#6 zj&xj|toy{=>Q`kfy)@pfzQomtFQY0${-|FfM$=LM;1d`G#kI;)?B!XR{0QaR0@Ro~ z58~#bMRe}w5y+@@Wwq`n;iva#lm6h`>RV+}d8hYDneH`xW-=2xRMI{VRR2_lAe#M!eHte27*6l;ib4HGfJ$kWv17PZLJcZcW- zwxP<1hv-HfJMe=0*XU^|cLf15hq0A7ACkPqa_1-Sc}8uAihKOakv3JT$jI(SO|Qta zlN!hH7>Pz~9FJI0jJ5X=(TCs)bRE0JGCEhF3bBHA9ec#^GW^R3euGc!=av+`g!{1f E2O#PbRR910 literal 0 HcmV?d00001 diff --git a/Java/JosefProblem/manifest.mf b/Java/JosefProblem/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/JosefProblem/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/JosefProblem/nbproject/build-impl.xml b/Java/JosefProblem/nbproject/build-impl.xml new file mode 100644 index 0000000..6c59028 --- /dev/null +++ b/Java/JosefProblem/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/JosefProblem/nbproject/genfiles.properties b/Java/JosefProblem/nbproject/genfiles.properties new file mode 100644 index 0000000..0b1c6a4 --- /dev/null +++ b/Java/JosefProblem/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=8329fe50 +build.xml.script.CRC32=924367a2 +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=8329fe50 +nbproject/build-impl.xml.script.CRC32=e7a41867 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/JosefProblem/nbproject/private/private.properties b/Java/JosefProblem/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/JosefProblem/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/JosefProblem/nbproject/private/private.xml b/Java/JosefProblem/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/JosefProblem/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/JosefProblem/nbproject/project.properties b/Java/JosefProblem/nbproject/project.properties new file mode 100644 index 0000000..9874037 --- /dev/null +++ b/Java/JosefProblem/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/JosefProblem.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=josefproblem.JosefProblem +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/JosefProblem/nbproject/project.xml b/Java/JosefProblem/nbproject/project.xml new file mode 100644 index 0000000..73fd717 --- /dev/null +++ b/Java/JosefProblem/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + JosefProblem + + + + + + + + + diff --git a/Java/JosefProblem/src/josefproblem/JosefProblem.java b/Java/JosefProblem/src/josefproblem/JosefProblem.java new file mode 100644 index 0000000..79d9b90 --- /dev/null +++ b/Java/JosefProblem/src/josefproblem/JosefProblem.java @@ -0,0 +1,35 @@ +package josefproblem; +public class JosefProblem { + public static void main(String[] args) { + // TODO code application logic here + boolean arr[] = new boolean[41]; + for (int i = 0; i < arr.length; i++) { + arr[i] = true; + } + + int b = 0; + int count = arr.length; + while (count > 1) { + String output = ""; + for (int i = 0; i < arr.length; i++) { + if (arr[i]) { + b++; + if (b % 3 == 0) { + arr[i] = false; + output += i + " stirbt | "; + count--; + //b = 0; + } + } + } + System.out.println(output); + } + //Ausgabe wenn Schleife zu ende + for (int i = 0; i < arr.length; i++) { + if (arr[i]) { + System.out.println("Stelle: " + i + " überlebt"); + // break; + } + } + } +} diff --git a/Java/JosefProlemObjektorientiert/JosefProlemObjektorientiert.iml b/Java/JosefProlemObjektorientiert/JosefProlemObjektorientiert.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/JosefProlemObjektorientiert/JosefProlemObjektorientiert.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/JosefProlemObjektorientiert/build.xml b/Java/JosefProlemObjektorientiert/build.xml new file mode 100644 index 0000000..68a7daf --- /dev/null +++ b/Java/JosefProlemObjektorientiert/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project JosefProlemObjektorientiert. + + + diff --git a/Java/JosefProlemObjektorientiert/build/classes/.netbeans_automatic_build b/Java/JosefProlemObjektorientiert/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/JosefProlemObjektorientiert/build/classes/.netbeans_update_resources b/Java/JosefProlemObjektorientiert/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/JosefProlemObjektorientiert/build/classes/josefprolemobjektorientiert/JosefProlemObjektorientiert.class b/Java/JosefProlemObjektorientiert/build/classes/josefprolemobjektorientiert/JosefProlemObjektorientiert.class new file mode 100644 index 0000000000000000000000000000000000000000..e16d6236c5d28723c012d7b773d1134097628ec9 GIT binary patch literal 1532 zcma)6+fEZv6kVsCcG@yr1d2BhMAXt+>it$k1#jS3Nl+8x)6kAM*v>S=)aa}6D||Nk ztTDxC;s^K@et=(KR9t(Ch{QCc=|21Hv(MgZt+U%Nzdn8ja00he=tWM)krX1xi4@Dt`kftL^I>}6to$y zVk>l;j%$}1wME;%V=Y!0={3EwRlR5Vj_lWiTJXqOQ8;HVdn@+Cy6;u(nzy)YKMp+K zvE9J2{h%->XY=9N?JZ|THmq5Wt1ysxU@luvtU}dtmkJAk@3>1v0i+y$XPIaDOKjEm zpEQ!N{guG>6~@{knP-~kvT0{M^lW#=Yq)`eUT*k4@roxADb=|USmnpJta`|mn)C2- zV`a%&q#B1a+i4{DQwv_hFWc7~5pkrA7863>Kp*-QM%(GxVj-DR1}-9F;INoWxNKk= z`*qA1xPq$+JGTlt-EgWE+c$6x*Qx4=I5!N;Vot|R114@6C`tb_?fSRjpwRQTr#yC< zl4_Y*5kj{rm6H9Gfw<2pc|ti3WyZH7BTKm9#ZAQ*p7FtJoLaBJis{zuI9_3%gA;Ik zY^%n1j$8G*?N$`>e6Nk^Y5^;<_eQ8SaO?W;;y?L+rm;*3uFHx zREX6DF9~eM_ottT7M@pK?B~zCm;V7k6fA~*+BA0su8M0cy9)J|P6PwA@h}+0PWnbG z0lTo9yCn8tFC)CHlF$%i?CvK-?rW=vnmywe2B(I!S4ih1HpEyH+KcGgo3(GbQuMTz z|9}{m7n(|I@%l@2=bMO^B>D!4{Cnu7yx7-kUj@-)J_ z6F9(Fl+|+>V@zW|5KrtEx^x^;>N^I0qC?!Y#v1$)wPe9_-ik2yNY;FZ#3v;0uOgLg zqNCSnqO*yvCc3jEc{7_MPo^}{^Ox-&qC|*cm_m>6Gs@0mL~$@=G0>_VqLb&!u45N; P38){45E7A$bI;S?iHl}| literal 0 HcmV?d00001 diff --git a/Java/JosefProlemObjektorientiert/build/classes/josefprolemobjektorientiert/Person.class b/Java/JosefProlemObjektorientiert/build/classes/josefprolemobjektorientiert/Person.class new file mode 100644 index 0000000000000000000000000000000000000000..9603b390e5d9cfc6f6d8ee30813605ab5521857b GIT binary patch literal 997 zcma)4*=`dt6g{4#S*I&qXu}fP(k2s;unG{1R4O3_g|<>rU(qBn!6CIHXBzQYAW?yM z-~;$5#PKAMh!^@W_uBW4&pG$lKYxAy0pK2j9MZU+MG8e1Zn&_S!xpyFxS7U|fT!95 zqArls@?#{h-RPQueAl<8Cr?eYD?dcWDybtSZB#pwc3|`qflS}Zp)zL!fz(r_RrH() zrF!{xW$(8GTWtvanfX0hudgRGAn z@;-dz(?(TUT6WNK6PzG3DQ(MF@B*a4o!NPfJ|jFHw^cijzU wfdZ~DI-g$iq&rh^TKOeMvSaDaDpn`(bF?4Wqo5a*wLeAkN3g(E{^8-;Z+bt)=Kufz literal 0 HcmV?d00001 diff --git a/Java/JosefProlemObjektorientiert/manifest.mf b/Java/JosefProlemObjektorientiert/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/JosefProlemObjektorientiert/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/JosefProlemObjektorientiert/nbproject/build-impl.xml b/Java/JosefProlemObjektorientiert/nbproject/build-impl.xml new file mode 100644 index 0000000..dec2a7b --- /dev/null +++ b/Java/JosefProlemObjektorientiert/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/JosefProlemObjektorientiert/nbproject/genfiles.properties b/Java/JosefProlemObjektorientiert/nbproject/genfiles.properties new file mode 100644 index 0000000..6163bc8 --- /dev/null +++ b/Java/JosefProlemObjektorientiert/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=1c6e50b2 +build.xml.script.CRC32=7be94971 +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=1c6e50b2 +nbproject/build-impl.xml.script.CRC32=163ead6c +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/JosefProlemObjektorientiert/nbproject/private/private.properties b/Java/JosefProlemObjektorientiert/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/JosefProlemObjektorientiert/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/JosefProlemObjektorientiert/nbproject/private/private.xml b/Java/JosefProlemObjektorientiert/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/JosefProlemObjektorientiert/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/JosefProlemObjektorientiert/nbproject/project.properties b/Java/JosefProlemObjektorientiert/nbproject/project.properties new file mode 100644 index 0000000..b64fe6e --- /dev/null +++ b/Java/JosefProlemObjektorientiert/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/JosefProlemObjektorientiert.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=josefprolemobjektorientiert.JosefProlemObjektorientiert +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/JosefProlemObjektorientiert/nbproject/project.xml b/Java/JosefProlemObjektorientiert/nbproject/project.xml new file mode 100644 index 0000000..254bc65 --- /dev/null +++ b/Java/JosefProlemObjektorientiert/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + JosefProlemObjektorientiert + + + + + + + + + diff --git a/Java/JosefProlemObjektorientiert/src/josefprolemobjektorientiert/JosefProlemObjektorientiert.java b/Java/JosefProlemObjektorientiert/src/josefprolemobjektorientiert/JosefProlemObjektorientiert.java new file mode 100644 index 0000000..b4dd832 --- /dev/null +++ b/Java/JosefProlemObjektorientiert/src/josefprolemobjektorientiert/JosefProlemObjektorientiert.java @@ -0,0 +1,69 @@ +package josefprolemobjektorientiert; + +public class JosefProlemObjektorientiert { + + public static void main(String[] args) { + Person erster = new Person(1); + int personenCount = 41; + for (int i = personenCount; i > 1; i--) { + erster.addNext(new Person(i)); + } + Person current = erster; + int counter = 0; + Ausgabe(current); + counter = 0; + do { + counter ++; + if (counter % 3 == 0) { + current = current.remove(); + Ausgabe(current); + } else { + current = current.next; + } + } while (current != current.next); + + + } + + public static void Ausgabe(Person current) { + Person erster = current; + do { + System.out.print(current + " "); + current = current.next; + + } while (current != erster); + + System.out.println(); + } +} + +class Person { + + private int id = 0; + public Person next, previous; + + public Person(int nr) { + this.id = nr; + next = this; + previous = this; + } + + public void addNext(Person p) { + p.next = this.next; + p.previous = this; + + this.next.previous = p; + this.next = p; + } + + @Override + public String toString() { + return Integer.toString(id); + } + + public Person remove() { + this.next.previous = this.previous; + this.previous.next = this.next; + return this.next; + } +} diff --git a/Java/Kochkurve/Kochkurve.iml b/Java/Kochkurve/Kochkurve.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Kochkurve/Kochkurve.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Kochkurve/build.xml b/Java/Kochkurve/build.xml new file mode 100644 index 0000000..4dc948d --- /dev/null +++ b/Java/Kochkurve/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Kochkurve. + + + diff --git a/Java/Kochkurve/build/classes/.netbeans_automatic_build b/Java/Kochkurve/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Kochkurve/build/classes/.netbeans_update_resources b/Java/Kochkurve/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Kochkurve/build/classes/kochkurve/KKurve.class b/Java/Kochkurve/build/classes/kochkurve/KKurve.class new file mode 100644 index 0000000000000000000000000000000000000000..1de1b6d9d5e56638811588f940fb41b455e5f12f GIT binary patch literal 1814 zcma)7T~8cU7=F&~?94C>%d*|YMcPu^Vt2PK*e_&DZ9#DB3bYDs{U~aOWn6|`X2>uF z>Ww!VZDNQ?V`4OVVT@d8lbT4|c+tdo=dbb77-N0TS=tiAg(UCiIp_U&-glPY|M}$s zfD>4>um|T`up2L%s7U#WiE$|>EaWgLwF?&6MX9~258vc7{^`SJQ<1k`(}xc>Eq(ax zBli@h<=G|4E?c;Q*A2X(pZnw2sllVmu7xSQY2YmbR|U*PXKlh=aT@}nB9Le_^%l?f zBF~9}P#`_A;H)_P4acwbPe-BW*MU2TXx>|vXZ4^uuOjx3kITSJCs>~u1`#o5)<`!5Vr$39ZjkA#o?n+p zw@pV*wLa-Asm|3XW(>S7kW{F8Zs@AU1rFsa+p66{f5+YvTQjhlZI?ZXb88d8J~==e zy?DpQUi7f8vW;i3pO}^#myo+l#_Mykdix{I0Y%%rUA=35a;>Fnow@R!#lxsWEgz73Wj^`!f@kP()VDgnp zfx8)B3Ra~xHdY|K+oC<%iqBJ`VV)19hy6?l-gjtk^Nz(42WfRs10>(!9aU_AeBvJ+rP#8UCC_f!#(zTqH&)N5ptyfEC zPFH#-b?b0WThHn1IdeT{t>48{IkTkYtdhQg&YYb=SG8nspjD~0lKo*yY&`r(;u%*B zmx(3NMI4_ddfnuEIpiLk;kd8y!)fqCS>q5t;TS(9a-Z?lEkg1YvHga4e$Tr<5)KL2 z3|jbZfq0)(QExwllYN;Y1_|^>zaA76x#JC}v5UM6(NYqs+6BsDdq!0efjU<}*0e+P6 z4iGUc=DyCIbI;uQ{`vR`RwzzmhMoprJTP<8#{vZlq#?G5^hHU&9AFP7$J{3A{4X7Yn7L3 z2j@u9CK+^EYl03*qs*YlBG1UDPN!gRGdM$5H3LnUWX*X4Hjt%^bpBnwBr?@!ej@Qa pMN)f*w&YO%1+ z=p{*;Hc6AV>AmT_>BYUb&_s5_^W=H@wSS?1q@R+$vn$yvSLEr3-8p;a+~%D3%*_7l zgZJJC@Cn>YB7+$Xmy>A2vkC0QY?80%G+a^RRSnmY*n&^1kI!iMtQw6Zwqh=cB1#EJ zTvwlE4f9EuxS>84)XP$$i^{yMZ1d%yvIRGj7>ApL2VYTD#a_~|tl?G?&#Rf+_*?>? z#}^d!MGY@#cu~Vk8ordoAkvEhnpsbJD$N%vt1g7o4JD%^0q!zU$1mKX1}_ zSJZIbZc3RQa~3O(Ep4Ad9hULDQ}qS<3O9@;<5t#NHtllul)tA&fQKu?P~f$b4*=a!`FnkALE_#!PTgI6N+ z)4t0f0)uhWzV2xFs!FEgER5Qv2`Q~SnF5Cbl|~9K<C9F$74!jcN9#QO}peQj}atl`JRr~@G7CJM6#;l;*(D6(4dK+0C zCvZ~3uXOwxzhNItnu~K)#`asRX!xCu-{TKD{)iPFf5M*y_H9^gU28gyWJR@`hQDa| ztB$|nj)uEB{*HHayo*|svDTPq7HNqHfuU%IE`2l}xEpMW?%)v(t2);3k9sK@xIaDN z8jCFZLrv!I*9-#nPHU)tRNKVUdDYatp7h7%b)#zeW0vE|a~0_ZJ;4njoexAhDKh2C z>+EY;nl^7Uo?VeWVjVF-Pp8U~dz$TYN1HNiitbDghP|oKrDnJ%NSEChwXwlhF>Ro6 zozJa`QG}Zy5glAvZdnpFG9AwW+OJsxt7N zqALwwP8qI2G+2QcyLi)gA&jw6iq^)$)U=XmvPP#(2#6YM5@hcfrP3**B5;`1%m4rO zyP4i+9M`<9Dip3s!+QileR%`-UrrzqWL_au0?jeK%L7ByjOkG%34mjtWNa;N9huY zbkd-Qqk%LGhTYRbSM^W}yXr2$#ZBjCau;%qyF|8GU&&BC#$W`->RwxjgubJhjBqZ_ zyUwz@>IAj#2|`g#o?Bvzov%uD!PsirOU{BUuwS^=M#~2VFH~)NUAtdtHwqnvcR*u5 zuYwugH+kBtgN;<2G|xZ2KhCd0@D1$DtU_e&p>4LaV->M?5htVl4kg-fgzs+3fp^O| z66k`C9oU9P$E?0VtD8oF!fi7*d0nA@qbVH@Px>Mr#HIL7W(So_!Kn~ z7{$}1nMP4%%G=3%V-3B9q4!V5M*8=>jfaQ&A3YZD?(2)!@Ua?pzlD?{_pG6R1&Nnq zV&%hsuVAXsy|;#aYuJAm1A?&~Siy-FymSlR_W$AC!=c$#q}MQbCji3{mi$3Rb_CDh zU@%_AL%~>KZesy#CecIAQNAC?KISovW6Z@-&gH0ml5iOzm7|3xk>}cHNnhpauW|j0 zq$?Q1P1fxt&c4ptscMa&gZ6qkGr>3>LnlsAUr<6(c~aK`>NKgF0dHYM3w)+KS=NgbYr`dm8 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/Java/Kochkurve/manifest.mf b/Java/Kochkurve/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Kochkurve/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Kochkurve/nbproject/build-impl.xml b/Java/Kochkurve/nbproject/build-impl.xml new file mode 100644 index 0000000..28cba74 --- /dev/null +++ b/Java/Kochkurve/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Kochkurve/nbproject/genfiles.properties b/Java/Kochkurve/nbproject/genfiles.properties new file mode 100644 index 0000000..b92c471 --- /dev/null +++ b/Java/Kochkurve/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=d2f275d7 +build.xml.script.CRC32=10bc805b +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=d2f275d7 +nbproject/build-impl.xml.script.CRC32=b2883ddc +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Kochkurve/nbproject/private/private.properties b/Java/Kochkurve/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Kochkurve/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Kochkurve/nbproject/private/private.xml b/Java/Kochkurve/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Kochkurve/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Kochkurve/nbproject/project.properties b/Java/Kochkurve/nbproject/project.properties new file mode 100644 index 0000000..1d4b342 --- /dev/null +++ b/Java/Kochkurve/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Kochkurve.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=kochkurve.Kurve +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Kochkurve/nbproject/project.xml b/Java/Kochkurve/nbproject/project.xml new file mode 100644 index 0000000..0ec145a --- /dev/null +++ b/Java/Kochkurve/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Kochkurve + + + + + + + + + diff --git a/Java/Kochkurve/src/kochkurve/KKurve.java b/Java/Kochkurve/src/kochkurve/KKurve.java new file mode 100644 index 0000000..81d2e1f --- /dev/null +++ b/Java/Kochkurve/src/kochkurve/KKurve.java @@ -0,0 +1,62 @@ +package kochkurve; + +/* + * Klasse, die einen Text zur Kochkurve berechnet + * F steht für forwärts + * l steht für links drehen + * r steht für rechts drehen + */ + +public class KKurve { + private int maxLevel = 8; + private int level; + private String initiator = "F"; + private String generator ="FlFrrFlF"; + private String kkurve; + + public KKurve(int l) { + level = Math.min(maxLevel, l); + kkurve = generiereKurve(level,initiator); + // speichert den String, so muss er immer nur einmal berechnet werden + } + @Override public String toString() {return kkurve;} + + public void paint(java.awt.Graphics g) { + double länge = 800 / Math.pow(3,level), + x = 10.0, + y = 30.0, + x1, + y1, + winkel = 0.0; + for (char c: kkurve.toCharArray()) { + // Durchlaufe alle Buchstaben des Strings + switch (c) { + case 'F': + x1 = x + länge * Math.cos(winkel); + y1 = y + länge * Math.sin(winkel); + g.drawLine((int)x, (int)y, (int)x1, (int)y1); + x = x1; + y = y1; + break; + case 'l': + winkel += Math.PI/3; // 60° + break; + case 'r': + winkel -= Math.PI/3; + break; + } + } + } + /* + * generiereKurve liefert als Ergebnis einen String + * @param level: gibt an, die wievielte Generation ausgegeben werden soll + * @out: String, der den Verlauf der Kurve beschreibt + */ + private String generiereKurve(int level, String kurve){ + if (level == 0) { + return kurve.replaceAll(initiator, generator); + } else { + return generiereKurve(level - 1, kurve.replaceAll(initiator, generator)); + } + } +} diff --git a/Java/Kochkurve/src/kochkurve/Kurve.form b/Java/Kochkurve/src/kochkurve/Kurve.form new file mode 100644 index 0000000..e7b4aa4 --- /dev/null +++ b/Java/Kochkurve/src/kochkurve/Kurve.form @@ -0,0 +1,38 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/Java/Kochkurve/src/kochkurve/Kurve.java b/Java/Kochkurve/src/kochkurve/Kurve.java new file mode 100644 index 0000000..2ad0d2b --- /dev/null +++ b/Java/Kochkurve/src/kochkurve/Kurve.java @@ -0,0 +1,81 @@ +/* + * Stellt die Kochkurve dar + * 1. interpretiert den String (Turtle-Grafik) + */ +package kochkurve; +import java.awt.Graphics; + +public class Kurve extends javax.swing.JFrame { + private KKurve k = new KKurve(6); + + public Kurve() { + initComponents(); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + setPreferredSize(new java.awt.Dimension(800, 280)); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 400, Short.MAX_VALUE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 300, Short.MAX_VALUE) + ); + + pack(); + }// //GEN-END:initComponents + + @Override public void paint(Graphics g) { + super.paint(g); + k.paint(g); + } + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(Kurve.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(Kurve.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(Kurve.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(Kurve.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new Kurve().setVisible(true); + } + }); + } + // Variables declaration - do not modify//GEN-BEGIN:variables + // End of variables declaration//GEN-END:variables +} diff --git a/Java/Lotto/Lotto.iml b/Java/Lotto/Lotto.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Lotto/Lotto.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Lotto/build.xml b/Java/Lotto/build.xml new file mode 100644 index 0000000..7bb31d7 --- /dev/null +++ b/Java/Lotto/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Lotto. + + + diff --git a/Java/Lotto/build/classes/.netbeans_automatic_build b/Java/Lotto/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Lotto/build/classes/.netbeans_update_resources b/Java/Lotto/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Lotto/build/classes/lotto/Kugel.class b/Java/Lotto/build/classes/lotto/Kugel.class new file mode 100644 index 0000000000000000000000000000000000000000..186b6a929382295c0d6c37a80eb70a40cf8ad7bd GIT binary patch literal 1289 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Lotto/nbproject/genfiles.properties b/Java/Lotto/nbproject/genfiles.properties new file mode 100644 index 0000000..be411d2 --- /dev/null +++ b/Java/Lotto/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=dc281c34 +build.xml.script.CRC32=fe2fd2e0 +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=dc281c34 +nbproject/build-impl.xml.script.CRC32=545d393f +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Lotto/nbproject/private/private.properties b/Java/Lotto/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Lotto/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Lotto/nbproject/private/private.xml b/Java/Lotto/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Lotto/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Lotto/nbproject/project.properties b/Java/Lotto/nbproject/project.properties new file mode 100644 index 0000000..65c5ac2 --- /dev/null +++ b/Java/Lotto/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Lotto.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=lotto.Lotto +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Lotto/nbproject/project.xml b/Java/Lotto/nbproject/project.xml new file mode 100644 index 0000000..0b1741d --- /dev/null +++ b/Java/Lotto/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Lotto + + + + + + + + + diff --git a/Java/Lotto/src/lotto/Lotto.java b/Java/Lotto/src/lotto/Lotto.java new file mode 100644 index 0000000..c01933c --- /dev/null +++ b/Java/Lotto/src/lotto/Lotto.java @@ -0,0 +1,125 @@ +package lotto; + +import java.util.Random; + +public class Lotto { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + Ziehung ziehung = new Ziehung((byte)6,(byte)49); + ziehung.zieheAlle(); + ziehung.ausgabeAlle(); + } +} + +class Kugel { + private byte nummer; + private Kugel nächste = null; + + // Konstuktor + public Kugel(byte nr) { + nummer = nr; + } + + // anfügen einer weiteren Kugel (hinten) + public void append(Kugel k) { + // erst das Ende der Liste suchen + Kugel aktuelleKugel = this; + while (aktuelleKugel.nächste != null) aktuelleKugel = aktuelleKugel.nächste; + // am Ende der Kette die neue Kugel anhängen + aktuelleKugel.nächste = k; + } + + // bestimmen der Länge von dieser Kugel aus gesehen + public int length() { + int i = 0; + Kugel k = this; + while (k.nächste != null) { + i++; + k = k.nächste; + } + return i; + } + + // Ausgabe, die eine Kugel macht + @Override public String toString() { return Integer.toString(nummer); } + + // getter und setter + public byte getNummer() { return nummer; } + public Kugel getNächste() { return nächste; } + public void setLetzte() { nächste = null; } + public void entferneNächste() { // setter für nächste + if (nächste != null) nächste = nächste.nächste; + } +} + +class Ziehung { + private Kugel topf; + private Kugel gezogene; + private byte anzahlAlle; + private byte anzahlGezogene; + + // Konstruktor + public Ziehung(byte aG, byte aA) { + anzahlGezogene = aG; + anzahlAlle = aA; + topf = new Kugel( (byte)1 ); + for (byte b = 2; b <= anzahlAlle ; b++) { topf.append(new Kugel(b)); } + gezogene = null; + } + + // zufälliges Entnehmen einer Kugel + public void ziehe() { + // Zufallszahl finden (von 0 bis length()-1) + int stelle = (new Random()).nextInt(topf.length()); + + // Kugel ausbinden + Kugel entnommene; + if (stelle == 0) { + // der Einstiegspunkt muss besonders behandelt werden + entnommene = topf; + topf = topf.getNächste(); + // nächste muss null werden (sonst ist die entnommene Kugel noch erste Kugel einer Kette) + entnommene.setLetzte(); + + if (gezogene == null) + gezogene = entnommene; + else + gezogene.append(entnommene); + + } else { + /* zu so und so vielten Kugel gehen + * vorherige Kugel auswählen, damit diese auch noch bearbeitet werden kann + */ + Kugel vorherigeKugel = topf; + for (int i = 0; i < stelle - 1; i++) { vorherigeKugel = vorherigeKugel.getNächste(); } + + entnommene = vorherigeKugel.getNächste(); // merken, welche Kugel aus der Kette entnommen wird + vorherigeKugel.entferneNächste(); // die Kette ohne die Entnommene + entnommene.setLetzte(); // der Zeiger auf die weiteren Kugeln muss null werden + if (gezogene == null) + gezogene = entnommene; + else + gezogene.append(entnommene); + } + } + + public void zieheAlle() { + for (int i = 0; i < anzahlGezogene; i++) ziehe(); + } + + // Ausgabe + private void ausgabe(Kugel k) { + while (k != null) { + System.out.print(k+" "); + k = k.getNächste(); + } + System.out.println(); + } + public void ausgabeAlle() { + ausgabe(gezogene); + ausgabe(topf); + } +} \ No newline at end of file diff --git a/Java/Matrizen/Matrizen.iml b/Java/Matrizen/Matrizen.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Matrizen/Matrizen.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Matrizen/build.xml b/Java/Matrizen/build.xml new file mode 100644 index 0000000..5915768 --- /dev/null +++ b/Java/Matrizen/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Matrizen. + + + diff --git a/Java/Matrizen/build/classes/.netbeans_automatic_build b/Java/Matrizen/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Matrizen/build/classes/.netbeans_update_resources b/Java/Matrizen/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Matrizen/build/classes/matrizen/Matrix.class b/Java/Matrizen/build/classes/matrizen/Matrix.class new file mode 100644 index 0000000000000000000000000000000000000000..045571ed3267581eee77fc6c01ff63a7a052c05f GIT binary patch literal 1303 zcmaJYeXN; zdJ*@b9|;`;J~SXI&7c=axu26}NFEP+F{0zVjtc_Xl9gK&Q0M0-1scZeg6&+P6JZ>^ z!{f=~q9x!@*#&F1l3%dObLK*hnLw(THFI~&vMu9!Qgc@9HG#HN-gL_LL#vROk;?7wcTpTsGG#$8ho`0Y%QzoOaCY{TZ|5V(aK)|Fz26vbn&1 zHR5(}2>8;)N;zvy*>b3++I9V_<^$6}0H+MJqD{v|1DC)dj9V2aTwDrI7Z$B`9b*PA zgKUq;`b5qwEGN<&x3D}>v2%-7*}zqdbFi>T)S|&Gm8=3^ zG8CDN{#8;ZMEv-_`u|h!b&54j1P(|31}37%oef?5gnoWXKA#kwo=QJ}L$rq(O);-< z_r=~o#QI)C*=D4mowkLwKqEBxXq(W%sH0YmBRI;4eK!?Y(ouPWJ!*$$TQ}7w|&{G&Mp$4=nJlnD+n4EPtX+p`gyT#pY=YwZf9nsn~ znIq2~%CZ$*3L;IN!%Z4(Wnt1W!lO(CSBuCIpzXbyn4sAC7ZO{kaml#5cP_h`8L2D&Q>NmtBsn%eIy^l6~y@?q9mWd90pyIVGiSGEJ@10a+Bn1 c)G~Ftl29wOT_|D~2Kn@VC91#~<`qPK0#vF1cmMzZ literal 0 HcmV?d00001 diff --git a/Java/Matrizen/build/classes/matrizen/Matrizen.class b/Java/Matrizen/build/classes/matrizen/Matrizen.class new file mode 100644 index 0000000000000000000000000000000000000000..cfe57d65917745edaeb788e6151c65e96ebe91f5 GIT binary patch literal 1744 zcma)*ZExFD6vzLLA8z8f)JxZHz{)xpTl%nOg)yKVg;5wpN?}r#N>*PvnMoZQr%D_Y z_(Dj$V=r2X0Uv;mz;~hWKen?bRhbqk$M>Fx-#Pc(d;U88?N0#jqiVxNSz)<=6|CCG zVNKzV!nzF;6%lvEvXRGoHr?-u#|L@b7t4nVA1QpS!FmuzVZ5zDFE8(DFm`%R0}Zpa zFbcjIcAG)}iQhb=rc~>-{KGxJAId&c8u39m&@fl)`f)$}DTpe&*Rt{+Ak7Rvjz zj{k#SIrO7;rB1)7y(Ou%kpC+G9s2tHwty~hrE$>m37ShW!#F&w)TxPrKC|SyzJ^QZ z3K-EaQ;+@D_q+a4QY*W}-e|DvyGnnVvNgc3&E8G=u6|YmnVEq^FOnz@a zN6vc&{RBqsIZV$j{sGI=-Qw>im=aXg7J30Hf3?cnrGiXQ|ys?Yxklf>L2x+Cs4a<$H+fJp=2MU zxOxm{TQ)P<=DxAEIBy)|wV(g}o8zNH#_JXb2OOay7ILR3>p86GHdggntm#*9M_2Gt!-w{2ue{!b^Hx=IH L#NMJRhui-F@62N< literal 0 HcmV?d00001 diff --git a/Java/Matrizen/manifest.mf b/Java/Matrizen/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Matrizen/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Matrizen/nbproject/build-impl.xml b/Java/Matrizen/nbproject/build-impl.xml new file mode 100644 index 0000000..9bbbb72 --- /dev/null +++ b/Java/Matrizen/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Matrizen/nbproject/genfiles.properties b/Java/Matrizen/nbproject/genfiles.properties new file mode 100644 index 0000000..f389014 --- /dev/null +++ b/Java/Matrizen/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=1584dac0 +build.xml.script.CRC32=6c01ba52 +build.xml.stylesheet.CRC32=8064a381@1.75.2.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=1584dac0 +nbproject/build-impl.xml.script.CRC32=427cac4f +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Matrizen/nbproject/private/private.properties b/Java/Matrizen/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Matrizen/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Matrizen/nbproject/private/private.xml b/Java/Matrizen/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Matrizen/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Matrizen/nbproject/project.properties b/Java/Matrizen/nbproject/project.properties new file mode 100644 index 0000000..3a5136f --- /dev/null +++ b/Java/Matrizen/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Matrizen.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=matrizen.Matrizen +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Matrizen/nbproject/project.xml b/Java/Matrizen/nbproject/project.xml new file mode 100644 index 0000000..e197da0 --- /dev/null +++ b/Java/Matrizen/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Matrizen + + + + + + + + + diff --git a/Java/Matrizen/src/matrizen/Matrix.java b/Java/Matrizen/src/matrizen/Matrix.java new file mode 100644 index 0000000..af1fd13 --- /dev/null +++ b/Java/Matrizen/src/matrizen/Matrix.java @@ -0,0 +1,50 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package matrizen; +public class Matrix { + private char[][] feld; + public Matrix(char[][] f) + { + feld = f; + } + public void Tausche(int i, int j) + { + if(i >= feld.length || i >= feld[0].length || + j >= feld.length || j >= feld[0].length || + i <= 0 || j <= 0) + { + System.out.println("Out of Index"); + return; + } + //Tauschen der Spalte + //Tempörär speichern + char[] tmp = feld[i]; + //Feld I überschreiben + feld[i] = feld[j]; + //Feld J überschreiben + feld[j] = tmp; + + tmp = new char[feld.length]; + //Tauschen der Zeile + for (int x = 0; x < feld.length; x++) { + //Tempörär speichern + + tmp[x] = feld[x][i]; + feld[x][i] = feld[x][j]; + feld[x][j] = tmp[x]; + } + } + public void Ausgabe() + { + for (int y = 0; y < feld[0].length; y++) { + for (int x = 0; x < feld.length; x++) { + System.out.print(feld[x][y] + " "); + } + System.out.print("\n"); + } + System.out.print("\n"); + + } +} diff --git a/Java/Matrizen/src/matrizen/Matrizen.java b/Java/Matrizen/src/matrizen/Matrizen.java new file mode 100644 index 0000000..5d5f7a9 --- /dev/null +++ b/Java/Matrizen/src/matrizen/Matrizen.java @@ -0,0 +1,49 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package matrizen; + +import java.util.Scanner; + +/** + * + * @author Hannes + */ +public class Matrizen { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + Scanner scan = new Scanner(System.in); + + // TODO code application logic here + Matrix ma = new Matrix( + new char[][]{ + {' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'}, + {'a', 'x', '1', '1', '1', '0', '1', '0', '1', '1', '0'}, + {'b', '1', 'x', '1', '0', '0', '0', '0', '0', '0', '0'}, + {'c', '1', '1', 'x', '1', '1', '0', '1', '0', '0', '0'}, + {'d', '1', '0', '1', 'x', '0', '0', '0', '0', '0', '0'}, + {'e', '0', '0', '1', '0', 'x', '0', '0', '0', '0', '1'}, + {'f', '1', '0', '0', '0', '0', 'x', '0', '0', '0', '0'}, + {'g', '0', '0', '1', '0', '0', '0', 'x', '0', '0', '0'}, + {'h', '1', '0', '0', '0', '0', '0', '0', 'x', '0', '0'}, + {'i', '1', '0', '0', '0', '0', '0', '0', '0', 'x', '0'}, + {'j', '0', '0', '0', '0', '1', '0', '0', '0', '0', 'x'} + }); + + + while(true) + { + ma.Ausgabe(); + //Eingabe + System.out.print("Tausche: "); + int i = scan.nextInt(); + System.out.print("mit: "); + int j = scan.nextInt(); + ma.Tausche(i, j); + } + } +} diff --git a/Java/Multiplikation/Multiplikation_0/Multiplikation_0.iml b/Java/Multiplikation/Multiplikation_0/Multiplikation_0.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Multiplikation/Multiplikation_0/Multiplikation_0.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Multiplikation/Multiplikation_0/build.xml b/Java/Multiplikation/Multiplikation_0/build.xml new file mode 100644 index 0000000..4615ab5 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_0/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project Multiplikation_0. + + + diff --git a/Java/Multiplikation/Multiplikation_0/build/classes/.netbeans_automatic_build b/Java/Multiplikation/Multiplikation_0/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Multiplikation/Multiplikation_0/build/classes/.netbeans_update_resources b/Java/Multiplikation/Multiplikation_0/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Multiplikation/Multiplikation_0/build/classes/multiplikation_0/Multiplikation_0.class b/Java/Multiplikation/Multiplikation_0/build/classes/multiplikation_0/Multiplikation_0.class new file mode 100644 index 0000000000000000000000000000000000000000..aca90a2d4e2a43f47f3334ae21e5395f3dfbb0b0 GIT binary patch literal 653 zcmah`%T60H6g|#sl3{>68s2Ruz#?SPsftupg0caz3J)n2i?TqT)J&YrBXT^g+P{KD zD^*oD-SJVV*8@@nLc)uCeb2Se^*O$|{rwlfHa2ZoXjZU*#WI#`EMujNRSRntUNV$+ zWi0g`L%zLr#!%Q#z6gf-u8hTT8u>zf;(ka-y_@uTc*d19^*vb7136*X=tgO%89V2#b8kgRLApK=Z@l<0@e%7GaZDB4tclo{n>=NH&j)}EnQ%D@~P+BdQ82kkc}g^gd`4HM=~bFLC9I)_I`v2r#T;Jz2Ts12 A9{>OV literal 0 HcmV?d00001 diff --git a/Java/Multiplikation/Multiplikation_0/manifest.mf b/Java/Multiplikation/Multiplikation_0/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_0/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Multiplikation/Multiplikation_0/nbproject/build-impl.xml b/Java/Multiplikation/Multiplikation_0/nbproject/build-impl.xml new file mode 100644 index 0000000..842412b --- /dev/null +++ b/Java/Multiplikation/Multiplikation_0/nbproject/build-impl.xml @@ -0,0 +1,1400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Multiplikation/Multiplikation_0/nbproject/genfiles.properties b/Java/Multiplikation/Multiplikation_0/nbproject/genfiles.properties new file mode 100644 index 0000000..eb3be9c --- /dev/null +++ b/Java/Multiplikation/Multiplikation_0/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=05dc93c4 +build.xml.script.CRC32=86912646 +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=05dc93c4 +nbproject/build-impl.xml.script.CRC32=e7aa2bee +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/Multiplikation/Multiplikation_0/nbproject/private/private.properties b/Java/Multiplikation/Multiplikation_0/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_0/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/Multiplikation/Multiplikation_0/nbproject/private/private.xml b/Java/Multiplikation/Multiplikation_0/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_0/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Java/Multiplikation/Multiplikation_0/nbproject/project.properties b/Java/Multiplikation/Multiplikation_0/nbproject/project.properties new file mode 100644 index 0000000..dd9e6dc --- /dev/null +++ b/Java/Multiplikation/Multiplikation_0/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Multiplikation_0.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=multiplikation_0.Multiplikation_0 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Multiplikation/Multiplikation_0/nbproject/project.xml b/Java/Multiplikation/Multiplikation_0/nbproject/project.xml new file mode 100644 index 0000000..ebb3cf7 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_0/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Multiplikation_0 + + + + + + + + + diff --git a/Java/Multiplikation/Multiplikation_0/src/multiplikation_0/Multiplikation_0.java b/Java/Multiplikation/Multiplikation_0/src/multiplikation_0/Multiplikation_0.java new file mode 100644 index 0000000..59fbfc0 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_0/src/multiplikation_0/Multiplikation_0.java @@ -0,0 +1,9 @@ +package multiplikation_0; +public class Multiplikation_0 +{ + public static void main(String[] args) + { + System.out.println("Diese programm führt eine Subtraktion zweier Zahlen aus"); + System.out.println("3*2=" +(3*2) ); + } +} diff --git a/Java/Multiplikation/Multiplikation_1/Multiplikation_1.iml b/Java/Multiplikation/Multiplikation_1/Multiplikation_1.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Multiplikation/Multiplikation_1/Multiplikation_1.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Multiplikation/Multiplikation_1/build.xml b/Java/Multiplikation/Multiplikation_1/build.xml new file mode 100644 index 0000000..9afd564 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_1/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project Multiplikation_1. + + + diff --git a/Java/Multiplikation/Multiplikation_1/build/classes/.netbeans_automatic_build b/Java/Multiplikation/Multiplikation_1/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Multiplikation/Multiplikation_1/build/classes/.netbeans_update_resources b/Java/Multiplikation/Multiplikation_1/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Multiplikation/Multiplikation_1/build/classes/multiplikation_1/Multiplikation_1.class b/Java/Multiplikation/Multiplikation_1/build/classes/multiplikation_1/Multiplikation_1.class new file mode 100644 index 0000000000000000000000000000000000000000..5d6259d3111481fcb62fe1d4ef4abd7d986b8ba4 GIT binary patch literal 979 zcmah{TTfF#5dOBe)0U%PxhWJqh?i1@BdDO<9@LnS)JuXPQ6J1gmv-S?n$vSM`ZxR~ z`cM)zzWC;kGJe|Fd zxSmJF=;=JFM&B?IH!aLqm=(ya=s?G70_n>1ra~ZR`VQCT{Asz*NmoyjZt9y(eQG25;uvC&wJir1qr_1V$>aYrFETbUhg~+>JQW zL1VdFT1E|$4W4o>VC~4gIE>~5#QGm=o~RXt^<*y=C~kyFw5=X%)9vu_`m?5_jeZPR zaBbWInN}ZZ)m9D}8j`@Y;+{vCnQ z+ z!@a5M(0$I4#vH7YKF2=T5MozX`DyR#TE9=uILJl5C_L$ z!`_z*3{_4NlaW8l&b)x@e1>~%P72&e3{ak<@J7$mlP0T{wC ztpY|cN{>nYh%_?Pi@BBT>Ug=i_8F;Cx`Pb$S7cxABRAfGRmyizC>u~Dm>}q&uLJwA z+!zZ27JJK+us~U4hkaOJannMzR|e;CfmVteFotn9k>SpiiA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Multiplikation/Multiplikation_1/nbproject/genfiles.properties b/Java/Multiplikation/Multiplikation_1/nbproject/genfiles.properties new file mode 100644 index 0000000..c910622 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_1/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=0dcf1fe2 +build.xml.script.CRC32=2666c9ab +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=0dcf1fe2 +nbproject/build-impl.xml.script.CRC32=35cb632a +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/Multiplikation/Multiplikation_1/nbproject/private/private.properties b/Java/Multiplikation/Multiplikation_1/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_1/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/Multiplikation/Multiplikation_1/nbproject/private/private.xml b/Java/Multiplikation/Multiplikation_1/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_1/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Java/Multiplikation/Multiplikation_1/nbproject/project.properties b/Java/Multiplikation/Multiplikation_1/nbproject/project.properties new file mode 100644 index 0000000..f5a6529 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_1/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Multiplikation_1.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=multiplikation_1.Multiplikation_1 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Multiplikation/Multiplikation_1/nbproject/project.xml b/Java/Multiplikation/Multiplikation_1/nbproject/project.xml new file mode 100644 index 0000000..d994122 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_1/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Multiplikation_1 + + + + + + + + + diff --git a/Java/Multiplikation/Multiplikation_1/src/multiplikation_1/Multiplikation_1.java b/Java/Multiplikation/Multiplikation_1/src/multiplikation_1/Multiplikation_1.java new file mode 100644 index 0000000..06e82a7 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_1/src/multiplikation_1/Multiplikation_1.java @@ -0,0 +1,13 @@ +package multiplikation_1; +public class Multiplikation_1 +{ + public static void main(String[] args) + { + int faktor1, faktor2, produkt; + faktor1=3; + faktor2=2; + produkt=faktor1*faktor2; + System.out.print("Diese programm führt eine Multiplikation zweier Zahlen aus: "); + System.out.println(faktor1+"*"+faktor2+"="+produkt); + } +} diff --git a/Java/Multiplikation/Multiplikation_2/Multiplikation_2.iml b/Java/Multiplikation/Multiplikation_2/Multiplikation_2.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Multiplikation/Multiplikation_2/Multiplikation_2.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Multiplikation/Multiplikation_2/build.xml b/Java/Multiplikation/Multiplikation_2/build.xml new file mode 100644 index 0000000..b4a25e3 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_2/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project Multiplikation_2. + + + diff --git a/Java/Multiplikation/Multiplikation_2/build/classes/.netbeans_automatic_build b/Java/Multiplikation/Multiplikation_2/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Multiplikation/Multiplikation_2/build/classes/.netbeans_update_resources b/Java/Multiplikation/Multiplikation_2/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Multiplikation/Multiplikation_2/build/classes/multiplikation_2/Multiplikation_2.class b/Java/Multiplikation/Multiplikation_2/build/classes/multiplikation_2/Multiplikation_2.class new file mode 100644 index 0000000000000000000000000000000000000000..d45c5dd0205e74efc7042b72d0e0a74313f1d9d8 GIT binary patch literal 1340 zcma)5*-{fh6g`~@ObEjkRuOa%m9Rz@QFa6YqX8^KQH4HeLz>VqnMqB0+`h*jkcUtu zmM^^d1OAQW?Sv8pN}Y$k`?+Us-~Rsd%Qpa{Sc{?waTC2&=tF-LAq;43FoK~d61b;5 z!x4-`Fskh_6ZfOA5ZA|e1P`=)7{P>=lP0E2OfytYOINB{1|#0P$q-)jGJ>HlC0(%= zR#2kj-6wpgez=fhB)i zBc$bhFB2RnhG^Og{2j3@^{+HvBsZk_SZGEILqmz%`35FtEX-m~C(K)TgawAV6|pT` zJ1vFn2CkhUUHAn>V!1@c7SbKE;|rpoPChA_r9gplb5hw$t`fe9MGKFyWMLUA4D*-a zKE4z3|M3`R9!pUWHvMtd=eeA{d-8S9SDJ^g|NLKDLkr)2$@d)M#e>46ZQ%))7+No0 z%t9cYjPNZa@sy_9rq4iYkWE_B0P8%?qBjF$}7JFhNk#s;3;&WksiPPLLk~` zp|h2&1W87+qVEXob1B?LXJyH0;2P;xIRWjsPF58<&`BO$`~wCmNb+NZwhmz&A)GR1 zj9Ftme29uzWf5k75s?{fRGk{L9i4mSaI}bOiX6k*IzmlH5w)?pBI-M}(m+acn6x5d zRCq?L4^e7pq8bszh)g@#H_7TDnggi8FlsS@I=n%BiTqfZAZ}0=C~p%s&4N+p25zC7 Yrcs9%xJ{Ztc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Multiplikation/Multiplikation_2/nbproject/genfiles.properties b/Java/Multiplikation/Multiplikation_2/nbproject/genfiles.properties new file mode 100644 index 0000000..4209c73 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_2/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=15fb8b88 +build.xml.script.CRC32=1c0fffdd +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=15fb8b88 +nbproject/build-impl.xml.script.CRC32=9819bc27 +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/Multiplikation/Multiplikation_2/nbproject/private/private.properties b/Java/Multiplikation/Multiplikation_2/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_2/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/Multiplikation/Multiplikation_2/nbproject/private/private.xml b/Java/Multiplikation/Multiplikation_2/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_2/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Java/Multiplikation/Multiplikation_2/nbproject/project.properties b/Java/Multiplikation/Multiplikation_2/nbproject/project.properties new file mode 100644 index 0000000..e6e53a8 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_2/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Multiplikation_2.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=multiplikation_2.Multiplikation_2 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Multiplikation/Multiplikation_2/nbproject/project.xml b/Java/Multiplikation/Multiplikation_2/nbproject/project.xml new file mode 100644 index 0000000..b3c7eb4 --- /dev/null +++ b/Java/Multiplikation/Multiplikation_2/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Multiplikation_2 + + + + + + + + + diff --git a/Java/Multiplikation/Multiplikation_2/src/multiplikation_2/Multiplikation_2.java b/Java/Multiplikation/Multiplikation_2/src/multiplikation_2/Multiplikation_2.java new file mode 100644 index 0000000..b3c771a --- /dev/null +++ b/Java/Multiplikation/Multiplikation_2/src/multiplikation_2/Multiplikation_2.java @@ -0,0 +1,17 @@ +package multiplikation_2; +import java.util.Scanner; +public class Multiplikation_2 +{ + public static void main(String[] args) + { + Scanner scan = new Scanner( System.in ); + int faktor1=0, faktor2=0, produkt=0; + System.out.println("Geben Sie nun den ersten Faktor ein. (Bestätigen sie mit Enter"); + faktor1=scan.nextInt(); + System.out.println("Geben Sie nun den zweiten Faktor ein. (Bestätigen sie mit Enter"); + faktor2=scan.nextInt(); + produkt=faktor1*faktor2; + System.out.print("Diese programm führt eine Multiplikation zweier Zahlen aus: "); + System.out.println(faktor1+"*"+faktor2+"="+produkt); + } +} diff --git a/Java/NST/NST.iml b/Java/NST/NST.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/NST/NST.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/NST/build.xml b/Java/NST/build.xml new file mode 100644 index 0000000..6e1b484 --- /dev/null +++ b/Java/NST/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project NST. + + + diff --git a/Java/NST/build/classes/.netbeans_automatic_build b/Java/NST/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/NST/build/classes/.netbeans_update_resources b/Java/NST/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/NST/build/classes/nst/NST.class b/Java/NST/build/classes/nst/NST.class new file mode 100644 index 0000000000000000000000000000000000000000..a3ddf2af8c648bbbe252525a82ba9e7225f7c98a GIT binary patch literal 1098 zcmaJ=TTc^F5dKbY+m@w3TWD3pf@oV5%FPQGwL%4if|?Q%;?q(#WpR6<-HJT>4}9=K zeD_%&3em*)>|Zh=ey42!fw-G9bIv#4%$b>;{eATPCx9_5deMovD;egAkL%ZPUBi`Z zXm~MzTOQoTpc_M8BrvRC#0wR1H%6r%lVV(oJCb|Xje832E0_>)O&bNndMIFz#n%KJ zv&Btape=0_^p$FULocst8zvEdx|r3>HLYyOa}#t}TSi5|lP*-O#7bs$iUIPPQ4r{g zy-aUwueF4!6>^D;RW=H_DS3flERiBlE9dAMxPV4NiED>zQ=m0tY1voHTB&)bH&d*Z zv-+GNvvTv&A$gCAE`$_Js+hvGf(I%d;*mhdlFmXRD^=61Sh{KIy$X^l9%DuzbT+@4 zs$p*GW#;x~WHO>+7AYy7sF=gNiUmBCrqRiWfYK~jp#3DuvyE*%YYF&Hpk>Y4Vrxsq zT>)n-m5Q_SQy!T;W|b$QSfyWQqhm%f@tp0l*fd?sv!#K0ynkV)P?98*z3z-%+-jFr zD(MBbaPT6+IiF_vys$f#ivP##wu+4pDiDmFC(0qH?37uMgK<*mMUe9=9~(Fr2vN#W zPEZSK=fDBP*Sh%dbq`t)M=OTWh8OT-9RcjINuOwyRgc3- zEQxD~(2F&)g?-cxyvKE79DBS&KX-O|yu}UfoVZDb3i}b_cDp_L2lM1biP;eQ3)>^& AJ^%m! literal 0 HcmV?d00001 diff --git a/Java/NST/manifest.mf b/Java/NST/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/NST/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/NST/nbproject/build-impl.xml b/Java/NST/nbproject/build-impl.xml new file mode 100644 index 0000000..219d7e7 --- /dev/null +++ b/Java/NST/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/NST/nbproject/genfiles.properties b/Java/NST/nbproject/genfiles.properties new file mode 100644 index 0000000..fb5395c --- /dev/null +++ b/Java/NST/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=e5d83726 +build.xml.script.CRC32=65ed9e01 +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=e5d83726 +nbproject/build-impl.xml.script.CRC32=14c6e2d9 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/NST/nbproject/private/private.properties b/Java/NST/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/NST/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/NST/nbproject/private/private.xml b/Java/NST/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/NST/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/NST/nbproject/project.properties b/Java/NST/nbproject/project.properties new file mode 100644 index 0000000..8a36625 --- /dev/null +++ b/Java/NST/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/NST.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=nst.NST +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/NST/nbproject/project.xml b/Java/NST/nbproject/project.xml new file mode 100644 index 0000000..80b98f2 --- /dev/null +++ b/Java/NST/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + NST + + + + + + + + + diff --git a/Java/NST/src/nst/NST.java b/Java/NST/src/nst/NST.java new file mode 100644 index 0000000..df582d3 --- /dev/null +++ b/Java/NST/src/nst/NST.java @@ -0,0 +1,24 @@ +package nst; +public class NST { + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + double p = 6, q = -16; + double d = Math.pow(p/2, 2) - q; + if(d < 0) + { + System.out.println("Keine Nullstelle!"); + } + else if(d == 0) + { + System.out.println("x1: " + (-p/2 )); + }else + { + double e = (-p/2); + System.out.println("x1: " + (e + Math.sqrt(d))); + System.out.println("x2: " + (e - Math.sqrt(d))); + } + + } +} diff --git a/Java/Permutation/Permutation.iml b/Java/Permutation/Permutation.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Permutation/Permutation.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Permutation/build.xml b/Java/Permutation/build.xml new file mode 100644 index 0000000..b830bb3 --- /dev/null +++ b/Java/Permutation/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Permutation. + + + diff --git a/Java/Permutation/build/classes/.netbeans_automatic_build b/Java/Permutation/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Permutation/build/classes/.netbeans_update_resources b/Java/Permutation/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Permutation/build/classes/permutation/Permutation.class b/Java/Permutation/build/classes/permutation/Permutation.class new file mode 100644 index 0000000000000000000000000000000000000000..14808b61482d7bcf3d88feb4c3a81e5171d9ced9 GIT binary patch literal 1377 zcmZ`&>rN9v7(K&oyX~@EEH}A`;spx=6+z`D3Mg7F1uelC6XUjQ+QqV4wp*faV|)WJ zDMk|?!1wW|#xre|YHQled~@czobPZP$ryo!ZQ=$}53rw6S=+5t0;?L)YV4aG6=enZYqLIc|if1p@NKy)EUNnKv6| zp+ZH&3O)8s+Y#uEzHFXYHN7lzb~U*c2rXsuH6`?vTkSv$_y{uA#q8+d?qfxdsWT`k%9UCT4@5RVMR@mRwX0|{&xNMcjMTLzxunOsr^hHy>*2D;GA zPRw*>mpT6AW^4;GYx}%Mb^ysQI@OMQ4tsv{?ImDi375O-V znVjjZkh2<%kF5y|Mb{ehpArcdOX*_esmpf}k2m^~OAk{uG_!~ienk;}l59s#g_cU2 z!{^$^Q;a)DhQRm<#1V}aoaGvoSaL+=4o(^sArHMo<>`fYxzo z5|Koe3ei!7X@~d=;{wTzknSAX@Eq-Ug%0G{e}SFLMrNyIFvik$Zb+h$3 z%;O?0h4BNpL`%hG-WzBc`GKT{EBv$4D6ZBdn4_=Ephw!3V|3KGRYla95mY)%u}+25 i5ycqs5XS#ZVYrfmvPU{UqC<8k>c$Y@=^C*XO#A|Nt0Sra literal 0 HcmV?d00001 diff --git a/Java/Permutation/manifest.mf b/Java/Permutation/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Permutation/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Permutation/nbproject/build-impl.xml b/Java/Permutation/nbproject/build-impl.xml new file mode 100644 index 0000000..6d946a4 --- /dev/null +++ b/Java/Permutation/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Permutation/nbproject/genfiles.properties b/Java/Permutation/nbproject/genfiles.properties new file mode 100644 index 0000000..a42f7f4 --- /dev/null +++ b/Java/Permutation/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=b907ccc6 +build.xml.script.CRC32=af089939 +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=b907ccc6 +nbproject/build-impl.xml.script.CRC32=5a686b07 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Permutation/nbproject/private/private.properties b/Java/Permutation/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Permutation/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Permutation/nbproject/private/private.xml b/Java/Permutation/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Permutation/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Permutation/nbproject/project.properties b/Java/Permutation/nbproject/project.properties new file mode 100644 index 0000000..649f1dc --- /dev/null +++ b/Java/Permutation/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Permutation.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=permutation.Permutation +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Permutation/nbproject/project.xml b/Java/Permutation/nbproject/project.xml new file mode 100644 index 0000000..be39ef3 --- /dev/null +++ b/Java/Permutation/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Permutation + + + + + + + + + diff --git a/Java/Permutation/src/permutation/Permutation.java b/Java/Permutation/src/permutation/Permutation.java new file mode 100644 index 0000000..350d468 --- /dev/null +++ b/Java/Permutation/src/permutation/Permutation.java @@ -0,0 +1,24 @@ +package permutation; + +public class Permutation { + + static String text = "abcd"; + + private static void perm(String vor, int pos, String nach) { + if (nach.length() == 1) { + System.out.println(vor + nach); + return; + } + String vor1 = vor + nach.charAt(pos); + String nach1 = nach.substring(0, pos) + nach.substring(pos +1); + perm(vor1, 0, nach1); + if(pos + 1 < nach.length()) + { + perm(vor, pos + 1, nach); + } + } + + public static void main(String[] args) { + perm("", 0, text); + } +} diff --git a/Java/Polynomdivision/Polynomdivision.iml b/Java/Polynomdivision/Polynomdivision.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Polynomdivision/Polynomdivision.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Polynomdivision/build.xml b/Java/Polynomdivision/build.xml new file mode 100644 index 0000000..0db03c5 --- /dev/null +++ b/Java/Polynomdivision/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Polynomdivision. + + + diff --git a/Java/Polynomdivision/build/classes/.netbeans_automatic_build b/Java/Polynomdivision/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Polynomdivision/build/classes/.netbeans_update_resources b/Java/Polynomdivision/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Polynomdivision/build/classes/polynomdivision/Polynomdivision.class b/Java/Polynomdivision/build/classes/polynomdivision/Polynomdivision.class new file mode 100644 index 0000000000000000000000000000000000000000..6de93a8d73564b4390f1098875f0eaa71695e7fd GIT binary patch literal 2034 zcma)6O>Y}j6g}ga@r>O`;ySULl$NF?El&JJT@u>C=Zz<6+C+e4-}l~~d(XM=+&lB* z-(PJ4IECv$L@=&lAc!8E73Q2U69JsZi()q!#06Z`a4CoY#&t}I^(A303zHR(U)C|L zBd23V$E=3DhB*oTal2|e=OoCn!7CD!3$>CZp(|%st=VQ}*=j7B%Vm1Px!Q_ZzG60P zarT^wbHiSja5Pu1m2XvRm6E+-uiLe1dhYS_7=bIMU6l}x6>~Su4KrOftE=gP)3B?n zV}e*(<3Gzdv$0CZ?mfa-quFTC7K;qj1zE|embkSVtJZQ=l%hG6`l8jSNbrdurD3f* z1hyq~6dZG9ZN{v-wQD%0Atu3a7`#|(7vh$e9o$_YfkYgsYfZw1cSmTL_rNZC8nCQb zFwBNv0yeiB! z1FxZI;B}D)%15DmZ@t0IpoAm;(Q65zM@;$Uo7M^y+u_=hdZ+8wx?@q@NLyFCmY(BW zIE=K+3TLO=1$^91E$bqPS+U*i5EJD$>veZLl6wX0%JJkN-J#eXGw|rK?re`sPi)U& z(cH?)RUGA;8Q}{I_$eb>Mcd0$T8PS39l8tY3vPVq^MU{w2e~)e0eA|BcnaV!o^B^g ze?Wy!-*2Iy`W<|}TqxkKGv0Yty&oJ^GOENyM5a%<2X$2GQ{luLb)qa& zSqlSr6UXr`v);qA_z;8m7(@7k2%oYsEj)*Bxc-0)e&vfLda*#x&$v56Hccqc#vbFU z;}<+bJkB?MCguS9*o&WtJiw|C<9p)ApfKxOvh=fW7TzXTKgS`?{Nqp`(xqugXz*?Q zl9B}ch4bnI_@qBswk}@ecJuKLfqhIJ4u^6>a_W5~J>}vQF1(+HUdk5^i>=~rySb&D zx%lTyY^xb&Rlo~8ou-y&sNAS~(`Xx<8pPb#3_m0pQj2PJNDpvIW2`PdI9@>|-b&`v zgPgjVgiQ9hoGNpONFG;GrF=rLw&%OedY0T1?AUo~HR-bUw-GSnvJ#7x#fY!4cPF^> zk&$1we`CC{&A7Ciaf(Qn$(SYM^#5k$r_^Iy^6nVjc}Lz%+;KNso^11ETi^sP?qG{< S-!Hm-zp!^diTVqb#{L0Ox_*lQ literal 0 HcmV?d00001 diff --git a/Java/Polynomdivision/manifest.mf b/Java/Polynomdivision/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Polynomdivision/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Polynomdivision/nbproject/build-impl.xml b/Java/Polynomdivision/nbproject/build-impl.xml new file mode 100644 index 0000000..523809f --- /dev/null +++ b/Java/Polynomdivision/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Polynomdivision/nbproject/genfiles.properties b/Java/Polynomdivision/nbproject/genfiles.properties new file mode 100644 index 0000000..9cf8410 --- /dev/null +++ b/Java/Polynomdivision/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=cab0dd04 +build.xml.script.CRC32=ecdb7d37 +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=cab0dd04 +nbproject/build-impl.xml.script.CRC32=a63fc6dc +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Polynomdivision/nbproject/private/private.properties b/Java/Polynomdivision/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Polynomdivision/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Polynomdivision/nbproject/private/private.xml b/Java/Polynomdivision/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Polynomdivision/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Polynomdivision/nbproject/project.properties b/Java/Polynomdivision/nbproject/project.properties new file mode 100644 index 0000000..5c49727 --- /dev/null +++ b/Java/Polynomdivision/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Polynomdivision.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=polynomdivision.Polynomdivision +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Polynomdivision/nbproject/project.xml b/Java/Polynomdivision/nbproject/project.xml new file mode 100644 index 0000000..773dadd --- /dev/null +++ b/Java/Polynomdivision/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Polynomdivision + + + + + + + + + diff --git a/Java/Polynomdivision/src/polynomdivision/Polynomdivision.java b/Java/Polynomdivision/src/polynomdivision/Polynomdivision.java new file mode 100644 index 0000000..2c6efad --- /dev/null +++ b/Java/Polynomdivision/src/polynomdivision/Polynomdivision.java @@ -0,0 +1,86 @@ +package polynomdivision; + +public class Polynomdivision { + + public static void main(String[] args) { + //arr[X][0 = Koeffizient || 1 = Exponent] + int[][] arr = new int[10][2]; + int[][] dividend = new int[9][2]; + int[][] ergebnis = new int[10][2]; + int[] tmpTerm = new int[2]; + int rest = 0; + + arr[0][0] = 2; + arr[0][1] = 2; + arr[1][0] = 7; + arr[1][1] = 3; + arr[2][0] = 3; + arr[2][1] = 0; + + dividend[0][0] = 1; + dividend[0][1] = 1; + dividend[1][0] = 3; + dividend[1][1] = 0; + + tmpTerm = arr[0]; + int i = 0; + while (true) { + //ergebnis[0] = termDivision(arr[0], dividend[0]); + //tmpTerm = termMultiplikation(ergebnis[0], dividend[1]); + //tmpTerm = termSutraction(arr[1], tmpTerm); + + //ergebnis[1] = termDivision(tmpTerm, dividend[0]); + //tmpTerm = termMultiplikation(ergebnis[1], dividend[1]); + //tmpTerm = termSutraction(arr[2], tmpTerm); + + ergebnis[ergebnis.length - (i+1)] = termDivision(tmpTerm, dividend[i]); + tmpTerm = termMultiplikation(ergebnis[ergebnis.length - (i+1)], dividend[i]); + tmpTerm = termSutraction(arr[i+1], tmpTerm); + if(tmpTerm[1] == 0) + { + rest = tmpTerm[0]; + break; + } + i++; + } + + for (int k = 0; k < ergebnis.length; k++) { + System.out.print(termToString(ergebnis[k])); + } + System.out.println("\nRest: " + rest); + + } + static String termToString(int[] term) + { + String out = ""; + if(term[0] != 0) + out += "(" + term[0] + "x^" + term[1] + ")"; + return out; + } + static int[] termDivision(int[] term1, int[] term2) { + int[] ergebnis = new int[2]; + + ergebnis[0] = term1[0] / term2[0]; + ergebnis[1] = term1[1] - term2[1]; + + return ergebnis; + } + + static int[] termMultiplikation(int[] term1, int[] term2) { + int[] ergebnis = new int[2]; + + ergebnis[0] = term1[0] * term2[0]; + ergebnis[1] = term1[1] + term2[1]; + + return ergebnis; + } + + static int[] termSutraction(int[] term1, int[] term2) { + int[] ergebnis = new int[2]; + + ergebnis[0] = term1[0] - term2[0]; + ergebnis[1] = term1[1]; + + return ergebnis; + } +} diff --git a/Java/Primzahlen/Primzahlen.iml b/Java/Primzahlen/Primzahlen.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Primzahlen/Primzahlen.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Primzahlen/build.xml b/Java/Primzahlen/build.xml new file mode 100644 index 0000000..1d7ba3d --- /dev/null +++ b/Java/Primzahlen/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Primzahlen. + + + diff --git a/Java/Primzahlen/build/classes/.netbeans_automatic_build b/Java/Primzahlen/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Primzahlen/build/classes/.netbeans_update_resources b/Java/Primzahlen/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Primzahlen/build/classes/primzahlen/Primzahl.class b/Java/Primzahlen/build/classes/primzahlen/Primzahl.class new file mode 100644 index 0000000000000000000000000000000000000000..c46f448ee68b0994a5430f6782e7c48f6fb7dd6c GIT binary patch literal 646 zcmZuvO-~b16g_vQ?LZkQpDliww4}lW}T{e~1km z5(o(kmoE4{E{$^DYjs6l=HC16JNKM3FYorx%?|)Ocv?mg>(eOUp$(4$JPz?#{+0_?+G&;yzN?eIHm&!Qa!*itotPwlLtNuvqsz2EJl29rJ2Cp*XwcKy2i5Dd zv)CTSs^3*vV)v6~AwNmJki?7z1D&x@X{rsCR~z^0Sp`W2K|IPbZRl(EC|B|4j!GRP z-P6KHx)k`04cads4M$n5-zL^W<)3kFUYx40DnuFe5L1{AQ9>YCy5}ba^A_9cEAy#! z*gMrRWl7#eoflT*EqYuWXC;=4*=JS83}eXMp+f+b=o%8q6})Ku3jT!~on>4k5wOYl zjN?tr;WVN0B`e~?id3D~ zEyA}+w?m3u_Fg)n`k3OsPz_7O@D*SM%dBjM&A;IVsLt`IhSiCK7PIiU7+u0YXW==$ Sl54(l{NWfd;TNnq)Pp-{Kxpv* literal 0 HcmV?d00001 diff --git a/Java/Primzahlen/build/classes/primzahlen/Primzahlen.class b/Java/Primzahlen/build/classes/primzahlen/Primzahlen.class new file mode 100644 index 0000000000000000000000000000000000000000..f04b0a15aca0ae7914ae47032c6d5b115622d52f GIT binary patch literal 1628 zcmZuy-%}e^6#j0q$tLSUAZY>wTCk!9Xp4$gg|rolRV0+!AQkGbO|pe;lMODLj@H+X z{S%yNeQ;2+?dqt@>v!30faa__n4+;h%%zH@H!%ill!3}6NY z0|S@|LVf+6ffQbq<+Ui6(@`YwdK7QqO@q>`fjMM#oH1ZvCW5oFpOfV+S?0yOVBkC! z4ZMvDI^GelcV$`9@t%%lg^=y-`nEzcx8pgLTh?~jcBe13#5sj<)^Q#GtU@p|v96$< zua9y89n z(u>(K6CYq*mMbPc#D+L->bPp+BYdpm6BD1}GZNFKc>-olJS}#&i`^#ieQf}%h3j^a zAbu)7jQmXjaiJArbYq30blH zZ6e+M+!IzZixZ0q{cUq=LRi&Jt6Z~JugMH;b|!1j&|s$93*dy~S-$E4K6-XshJ{jy zGN*{^2v5`8m1rmTpdL~P;3(H{Lm9v^%4YKdMlr@ylp&8(BhFv(c98o}Jdh2a85#Z_ zy(9YwUb!7m_n-d04^09F8v)Y{DY=8(4d{q*PcqmbPm*MemJs^z9L5=xA@Mw3Xn3da zB6SKGo(u&3LP)7U=pU6A&;s%;y~Qj02%%*yJNYBRPcZlh`eYrEI-;UjzO9JrH!2^) z*x17}akGw|;W~Qjh}F^8#(JDw0X@*rOO!E6{p2vtk`pXF$sfH`19OTwHU3skHh2x= zG^P$C4eL0ehKZC9wuST_Jp}1FBF&}m?4y5*5bu0*4@ak-U??r8ox6wx_Yr?EMcBFf zPk-gz$4G3X_i&_+q$VbYXcBvjWC~pxo0=lTQPMq5cqd5dEPEy73Q(qGv&Xq>EI=S1 qP#XLb8i9`LEc>N@DII5g`IwS9#LPb+BowKR`QSeYUZyU9SN;Koa!!K) literal 0 HcmV?d00001 diff --git a/Java/Primzahlen/manifest.mf b/Java/Primzahlen/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Primzahlen/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Primzahlen/nbproject/build-impl.xml b/Java/Primzahlen/nbproject/build-impl.xml new file mode 100644 index 0000000..22fafae --- /dev/null +++ b/Java/Primzahlen/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Primzahlen/nbproject/genfiles.properties b/Java/Primzahlen/nbproject/genfiles.properties new file mode 100644 index 0000000..ce657c1 --- /dev/null +++ b/Java/Primzahlen/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=adcc1086 +build.xml.script.CRC32=572b7f26 +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=adcc1086 +nbproject/build-impl.xml.script.CRC32=fbd738f3 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Primzahlen/nbproject/private/private.properties b/Java/Primzahlen/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Primzahlen/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Primzahlen/nbproject/private/private.xml b/Java/Primzahlen/nbproject/private/private.xml new file mode 100644 index 0000000..2eee429 --- /dev/null +++ b/Java/Primzahlen/nbproject/private/private.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/Java/Primzahlen/nbproject/private/profiler/configurations.xml b/Java/Primzahlen/nbproject/private/profiler/configurations.xml new file mode 100644 index 0000000..aacaed6 --- /dev/null +++ b/Java/Primzahlen/nbproject/private/profiler/configurations.xml @@ -0,0 +1,113 @@ + + + +1000 +false +profiler.simple.filter +false + +64 +true + +10 +true +0 +false +true +1 +false +false +false +profiler.simple.filter +32 +false +1 +true +1 +10 +1 +true +Analyze Memory +false +10 +1 +true +10 +0 +profiler.simple.filter +0 +false +true + +1 + +true + + +false +10 +false +true +false +false +32 +Quick filter... +0 +false +0 + +10 +0 +true +true + +true +10 + +1000 +0 +profiler.simple.filter +false +Analyze Performance + +1 +2 + +false +0 +profiler.simple.filter +Quick filter... +false +true +0 +true + +2 + +32 +0 +false +Profile only project classes +0 +0 +true +profiler.simple.filter +1 +10 +false +10 +false +false +true +false +false +0 +Quick filter... +false + +Monitor Application +128 +1000 +true +true + diff --git a/Java/Primzahlen/nbproject/project.properties b/Java/Primzahlen/nbproject/project.properties new file mode 100644 index 0000000..6862336 --- /dev/null +++ b/Java/Primzahlen/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Primzahlen.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=primzahlen.Primzahlen +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Primzahlen/nbproject/project.xml b/Java/Primzahlen/nbproject/project.xml new file mode 100644 index 0000000..21dbb6a --- /dev/null +++ b/Java/Primzahlen/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Primzahlen + + + + + + + + + diff --git a/Java/Primzahlen/src/primzahlen/Primzahlen.java b/Java/Primzahlen/src/primzahlen/Primzahlen.java new file mode 100644 index 0000000..e4bddfd --- /dev/null +++ b/Java/Primzahlen/src/primzahlen/Primzahlen.java @@ -0,0 +1,56 @@ +package primzahlen; +public class Primzahlen { + static Primzahl erste = new Primzahl(2); + public static void main(String[] args) { + int checkRange = 100000; + for (int i = 3; i < checkRange; i++) { + addIfPrime(i); + } + Ausgabe(); + } + static public void Ausgabe() + { + Primzahl current = erste; + int c = 1; + while(current.next != null) + { + System.out.println(current.Zahl()); + current = current.next; + c++; + } + System.out.println("Anzahl: " + c); + } + static public Boolean addIfPrime(int z) + { + Primzahl current = erste; + while(Math.sqrt(z) >= current.Zahl() && current != null) + { + if(z % current.Zahl() == 0) + return false; + current = current.next; + } + erste.append(new Primzahl(z)); + return true; + } +} +class Primzahl +{ + private int id; + public Primzahl next = null; + + + public Primzahl(int nummer) + { + this.id = nummer; + } + public void append(Primzahl p) + { + Primzahl current = this; + while(current.next != null) + { + current = current.next; + } + current.next = p; + } + public int Zahl() {return id;} +} diff --git a/Java/Reaktionstest/Reaktionstest.iml b/Java/Reaktionstest/Reaktionstest.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Reaktionstest/Reaktionstest.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Reaktionstest/build.xml b/Java/Reaktionstest/build.xml new file mode 100644 index 0000000..67e408e --- /dev/null +++ b/Java/Reaktionstest/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Reaktionstest. + + + diff --git a/Java/Reaktionstest/build/classes/.netbeans_automatic_build b/Java/Reaktionstest/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Reaktionstest/build/classes/.netbeans_update_resources b/Java/Reaktionstest/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Reaktionstest/build/classes/reaktionstest/fenster$1.class b/Java/Reaktionstest/build/classes/reaktionstest/fenster$1.class new file mode 100644 index 0000000000000000000000000000000000000000..e15b51f2fee31db3708f203c425c6d8e26ec7ac2 GIT binary patch literal 768 zcmaJ60S31-W_PH+i$tUG z!5`p{GM-r*^`WrI&fI%*=G=2Xe*XIY1He;khiG6e!W`~LxQF!s8vz~!*c7x=PF74PLRXJj$8 znal^W(B7X08$PW-{L&az^mAF3itg%c{`NjqG-c++y;a4DEyijju-Qq^hEVrdLr>~Sdv!ei8F&^Sk zi~#d7LT^1ro86n)y!O68tJ0WDbDF#vo~w+4HfG9BHT%tO2rSPe6Ik$b=-cr}Ygi%s zRqyyJBbjBYE zwaW?<^W-a@J>24X_YVpSXwf6SViQE%#^RLgXv!6KKST7sq5h95s-8cgfZhM-!oPGO c?qG>Dbu5#-#&j#Z8(iyEG^=#nMc({=17``ct^fc4 literal 0 HcmV?d00001 diff --git a/Java/Reaktionstest/build/classes/reaktionstest/fenster$2.class b/Java/Reaktionstest/build/classes/reaktionstest/fenster$2.class new file mode 100644 index 0000000000000000000000000000000000000000..25e4c7e8abbaa191154068986c486e4d87dc82ab GIT binary patch literal 768 zcmaJl%(>@&{QUL(2Y|Z2y?g{;TBc{tOd9eU|rynJJD6L zEwGf8O1^j6n#!rlrANvef4bLXlL4}S7+m)D&NUr!N@{p zb6E^zsl7i9wtQNF_=Pd5>=&}C6y4?7{K*bgv}Nway;0?nEyrpku-?s1g+bM3{()3P6WW+pu}d0{JUj$bNwVn+csV%){O z7y&NF2)%V53A;D5dC87Ir`A|VbDX{&o~oRJ)@I7iH2ckN2rSMd6PWjN=-crJYgi%s z)$IBzBbn!_s**?B9OLeJGrFh=n*(fcL*~F?Lv%X6IxbFwe~5_DE423M`$*K=`U27W zipHlJ6Z7ONo=BXovdjPg literal 0 HcmV?d00001 diff --git a/Java/Reaktionstest/build/classes/reaktionstest/fenster$3.class b/Java/Reaktionstest/build/classes/reaktionstest/fenster$3.class new file mode 100644 index 0000000000000000000000000000000000000000..a06f2d577d7f96f2b389dc38c1ee734e0895ec28 GIT binary patch literal 860 zcmZ`&T~E|N6g{(Bw@@l9U#@@(YSr$d+l76^kSM`~&0YflbI>#&oc3Y z_}~xVM-lIIo0yp0CY`zW_RP6w&P=awe*Xc`#>OOUEIXLMii5kj=iojbI9SD+NgvvH zWaBYIMV|`gwHRt$$-{Fk(nM*lba28=Ah!teQY1oeGc5aKF!dgTwUhQa!%SBs{B1Tk z=JGH+j;S)&O`|aGg;JQjC|ag1gS(d`T<*l7Qk>GI(fnSURFq|w(CC|9&Ow^Vh`$kr z-z}6j&%%q41neeJoGOug-sk!>?c4BNJi${JlW<&2VZp^S_%`Y;8d$gS+{FttT?8;L zj5NV(Gt3+MAk!ia4#mLiPMtF>j>Hqs+3QT}G}(9+8B5=Bd6LQj?=!6W-JB`B)B(TX zi4KO4T@!ERy9=X;E9GsrNKkXE=Q+)nKwZ*SgU+xW`IPJYuS||9u6sg>{6sAO$n>e^ zI^vL)AAF^=9x%*CnUti%>~LSiu{k5Myh8+qsCH|UVP%}CPQ8OQx_1+F1zELfET^bM z?-X1x+@@%oa#L{{>p#F6zfk&?W2R}W5C(XU85-{lQK({$GQ#Iwtm7IhPSRz`S6c;nt;GZl5s@DpYjGq5Kt=`l(9%ziN4low&)*O!YoA&p=_Gz F`3tpg#_#|D literal 0 HcmV?d00001 diff --git a/Java/Reaktionstest/build/classes/reaktionstest/fenster$4.class b/Java/Reaktionstest/build/classes/reaktionstest/fenster$4.class new file mode 100644 index 0000000000000000000000000000000000000000..4542d14c1448a0fbc51a4669392f91375ea80de7 GIT binary patch literal 540 zcmZuu%T59@6g?dVM~C_r6rURw=t4|nCB_ZW#AMV&4T-ucP_a68l1}j>jDCz8Ni^{T z{3zos5^>?8_jPX1J-z+>diwydjkORX$OkBd@Q`%QW99>V^Hw|v8ojSuagr+CIg<7!X>%-LnPU`V4EcYF zIaaXBF#j)DsxnMD=1MGdr*hJ~l`Tup8J14FTK~M!zZZ(s70Or95I(bpwA9>k!c^LZ zN>zU$e))2}fh}Zdy9@!X+M`1KAa=#nt?}fvizq3KknvyP4>{Z)0#C@{`40~t@MJJesD~NMlJ_Z^!vsYkF=ok=$ZvUnZ4v+g literal 0 HcmV?d00001 diff --git a/Java/Reaktionstest/build/classes/reaktionstest/fenster.class b/Java/Reaktionstest/build/classes/reaktionstest/fenster.class new file mode 100644 index 0000000000000000000000000000000000000000..4ee119ce226e96ba21eb37b28e77eab411fd4c41 GIT binary patch literal 6497 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 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/Java/Reaktionstest/manifest.mf b/Java/Reaktionstest/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Reaktionstest/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Reaktionstest/nbproject/build-impl.xml b/Java/Reaktionstest/nbproject/build-impl.xml new file mode 100644 index 0000000..813f7fa --- /dev/null +++ b/Java/Reaktionstest/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Reaktionstest/nbproject/genfiles.properties b/Java/Reaktionstest/nbproject/genfiles.properties new file mode 100644 index 0000000..854cc35 --- /dev/null +++ b/Java/Reaktionstest/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=5c347750 +build.xml.script.CRC32=1250508f +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=5c347750 +nbproject/build-impl.xml.script.CRC32=1b3d63c0 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Reaktionstest/nbproject/private/private.properties b/Java/Reaktionstest/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Reaktionstest/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Reaktionstest/nbproject/private/private.xml b/Java/Reaktionstest/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Reaktionstest/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Reaktionstest/nbproject/project.properties b/Java/Reaktionstest/nbproject/project.properties new file mode 100644 index 0000000..c665240 --- /dev/null +++ b/Java/Reaktionstest/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Reaktionstest.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=reaktionstest.fenster +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Reaktionstest/nbproject/project.xml b/Java/Reaktionstest/nbproject/project.xml new file mode 100644 index 0000000..29f6b2c --- /dev/null +++ b/Java/Reaktionstest/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Reaktionstest + + + + + + + + + diff --git a/Java/Reaktionstest/src/reaktionstest/fenster.form b/Java/Reaktionstest/src/reaktionstest/fenster.form new file mode 100644 index 0000000..83eaa12 --- /dev/null +++ b/Java/Reaktionstest/src/reaktionstest/fenster.form @@ -0,0 +1,73 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/Java/Reaktionstest/src/reaktionstest/fenster.java b/Java/Reaktionstest/src/reaktionstest/fenster.java new file mode 100644 index 0000000..7347079 --- /dev/null +++ b/Java/Reaktionstest/src/reaktionstest/fenster.java @@ -0,0 +1,149 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package reaktionstest; + +import java.util.Timer; +import java.util.TimerTask; +import javax.swing.JButton; + +/** + * + * @author Hannes + */ +public class fenster extends javax.swing.JFrame { + + private long starttime = 0, endtime = 0; + + /** + * Creates new form fenster + */ + public fenster() { + initComponents(); + jButton2.setVisible(false); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + jButton1 = new javax.swing.JButton(); + ergebnisLaber = new javax.swing.JLabel(); + jButton2 = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + + jButton1.setText("StarteTest"); + jButton1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton1ActionPerformed(evt); + } + }); + + ergebnisLaber.setText("Ergebnis"); + + jButton2.setText("Drückmich"); + jButton2.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton2ActionPerformed(evt); + } + }); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(ergebnisLaber) + .addGap(101, 101, 101) + .addComponent(jButton1) + .addContainerGap(165, Short.MAX_VALUE)) + .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jButton1) + .addComponent(ergebnisLaber)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 268, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); + + pack(); + }// //GEN-END:initComponents + + private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed + jButton1.setVisible(false); + + new Timer().schedule(new TimerTask() { + public void run() { + jButton2.setVisible(true); + starttime = System.currentTimeMillis(); + } + }, (int) (Math.random() * 3000)); + + }//GEN-LAST:event_jButton1ActionPerformed + + private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed + // TODO add your handling code here: + ende(); + }//GEN-LAST:event_jButton2ActionPerformed +private void ende() +{ + if (jButton2.isVisible()) { + endtime = System.currentTimeMillis(); + ergebnisLaber.setText("Zeit: " + (endtime - starttime) + "ms"); + + jButton2.setVisible(false); + jButton1.setVisible(true); + } +} + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(fenster.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(fenster.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(fenster.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(fenster.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new fenster().setVisible(true); + } + }); + } + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JLabel ergebnisLaber; + private javax.swing.JButton jButton1; + private javax.swing.JButton jButton2; + // End of variables declaration//GEN-END:variables +} diff --git a/Java/Rekursion/build.xml b/Java/Rekursion/build.xml new file mode 100644 index 0000000..ce923f9 --- /dev/null +++ b/Java/Rekursion/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Rekursion. + + + diff --git a/Java/Rekursion/build/classes/.netbeans_automatic_build b/Java/Rekursion/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Rekursion/build/classes/.netbeans_update_resources b/Java/Rekursion/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Rekursion/build/classes/fakultätrekursiv/FakultätRekursiv.class b/Java/Rekursion/build/classes/fakultätrekursiv/FakultätRekursiv.class new file mode 100644 index 0000000000000000000000000000000000000000..32c7cb2ca1843c23bbcb90579326e5eacbb61030 GIT binary patch literal 2604 zcmah~+jA3D9R4=h&2B>4rY-3u7aKup!X**Vs=aY5)s)g!T8gxwY?5uWG)-c3&z|$UeZTXa?`(eg=f|G` z9LFa<#4zc_6y8yB!3Q@cHB5{5j1N7yC}y)_xa7mTxU6ALnCCTI@tpXT75Ec|t0Lq* z4eyJ^H4VCWXEbERJ13lm8~7~D;m!-fwxD5AL*54y*HtX3C`j-OnnlwZmf(&jW+ljH zN;yM9%eYxICaTLBqcWps3beG1m$G_cRG>%e1818zN)7RdT}u|ZB@+T;(!gVR~A{WeHXU`iA}iX(`=Mr ztQAiu#%N_diN>aBOV2Ky*UPoe6b7X&`b<8IYsyrr+5D+o&a})DbF_Gxzl5mgT06?2 zD2BCTV#dL}xX5IeA&dssQiTs&qkTq#!sG-qr81uqt>qGqeG`(qNjtxndd1JkU~= zj-aDbvy_^mL@f%{(3dG=k6tbt#hipA@m+Mh!&EyRCPw08iRZXAtK?h;347x^16iQm z?tXhi64bJ2uRv7?cWa2ZIuak*S+B9L^z+=!b+m%=_tc#J-JDHy?nSe*fxtRicjUJH=WgH4y;qd(-av4-(jCIt z9Pn?Ta~)ky=~l_r*4Q{z2R(H@d}R8cg&8JR95Ckp;mc?m1R1DzLTNh=$B~jiQYC( z-g0l=+x)YqUcG~LfljvC#jSL+^)6zBZIl?1WwhW`qKF=XH9Qw14&yZf31lB!e?yj~ zztGGE_%(1EkTm8BvgX23^4}+igL0uyiHgw^4tnx~Ar1r4ppqYsa2Qe^`});x)g6jl zo9tHQFb8*%lcdPjxVVxGY6aointaRZj&A#j4GLYQz?-PicB;0Egh#2_eLMg`y&(TM zsegmJIm^x`xVpq$2(4dnI<NRAK~ik~WRC`L%Rd!7`Z?cPAVQ-+>ak9}4rhUkHW2f*QI9In2%8r@Qg! z2M938f zfu)CxZ^S#pt&K2tv;i-`4ZbblD8w}JTw9{^5Q2XvHHc4{>S0i4%b47!1eM5LG$neM z#%?Lnz0E%obtFf2W2|$Iw`QCoJ4d=EY{Y{sq7X;O&JpJpc4rOS#n{8_$6Xho;-&yw z*bM)$YRycsjyS?#NOA6#*e(}h)ay6ExnI+Snjy)vb_>q8FUZEW-7kp;E+jYcFIDX1 A=Kufz literal 0 HcmV?d00001 diff --git a/Java/Rekursion/manifest.mf b/Java/Rekursion/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Rekursion/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Rekursion/nbproject/build-impl.xml b/Java/Rekursion/nbproject/build-impl.xml new file mode 100644 index 0000000..49ada7b --- /dev/null +++ b/Java/Rekursion/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Rekursion/nbproject/genfiles.properties b/Java/Rekursion/nbproject/genfiles.properties new file mode 100644 index 0000000..2c24988 --- /dev/null +++ b/Java/Rekursion/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=efc70bc4 +build.xml.script.CRC32=1877807d +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=efc70bc4 +nbproject/build-impl.xml.script.CRC32=720560dc +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Rekursion/nbproject/private/private.properties b/Java/Rekursion/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Rekursion/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Rekursion/nbproject/private/private.xml b/Java/Rekursion/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Rekursion/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Rekursion/nbproject/private/profiler/configurations.xml b/Java/Rekursion/nbproject/private/profiler/configurations.xml new file mode 100644 index 0000000..aacaed6 --- /dev/null +++ b/Java/Rekursion/nbproject/private/profiler/configurations.xml @@ -0,0 +1,113 @@ + + + +1000 +false +profiler.simple.filter +false + +64 +true + +10 +true +0 +false +true +1 +false +false +false +profiler.simple.filter +32 +false +1 +true +1 +10 +1 +true +Analyze Memory +false +10 +1 +true +10 +0 +profiler.simple.filter +0 +false +true + +1 + +true + + +false +10 +false +true +false +false +32 +Quick filter... +0 +false +0 + +10 +0 +true +true + +true +10 + +1000 +0 +profiler.simple.filter +false +Analyze Performance + +1 +2 + +false +0 +profiler.simple.filter +Quick filter... +false +true +0 +true + +2 + +32 +0 +false +Profile only project classes +0 +0 +true +profiler.simple.filter +1 +10 +false +10 +false +false +true +false +false +0 +Quick filter... +false + +Monitor Application +128 +1000 +true +true + diff --git a/Java/Rekursion/nbproject/project.properties b/Java/Rekursion/nbproject/project.properties new file mode 100644 index 0000000..8fd2a77 --- /dev/null +++ b/Java/Rekursion/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Rekursion.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=fakult\u00e4trekursiv.Fakult\u00e4tRekursiv +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Rekursion/nbproject/project.xml b/Java/Rekursion/nbproject/project.xml new file mode 100644 index 0000000..89aeb0f --- /dev/null +++ b/Java/Rekursion/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Rekursion + + + + + + + + + diff --git a/Java/Rekursion/src/Rekursion.iml b/Java/Rekursion/src/Rekursion.iml new file mode 100644 index 0000000..b826b8e --- /dev/null +++ b/Java/Rekursion/src/Rekursion.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Rekursion/src/fakultätrekursiv/FakultätRekursiv.java b/Java/Rekursion/src/fakultätrekursiv/FakultätRekursiv.java new file mode 100644 index 0000000..bf385d3 --- /dev/null +++ b/Java/Rekursion/src/fakultätrekursiv/FakultätRekursiv.java @@ -0,0 +1,88 @@ +package fakultätrekursiv; +public class FakultätRekursiv { + public static void main(String[] args) { + // TODO code application logic here + System.out.println("Fakultät (Rekursiv): " + fak(9)); + System.out.println("Fakultät (Iterativ): " + fakIt(9)); + System.out.println("Potenz (Rekursiv): " + pot(0.5 , 2)); + System.out.println("Potenz (Iterativ): " + potIt(0.5 , 2)); + System.out.println("Fibonacci (Rekursiv [ineffektiv]): " + fibonacci(25)); + System.out.println("ggT (Rekursiv): " + ggT(14,12)); + int[] e = bruchAddition(258, 36891, 30123, 40990); + System.out.println("Brüche addieren: " + e[0] + "/" + e[1]); + } + //Fakultät + public static long fak(int n) { + if (n <= 1) + return 1; + else + return n * fak(n-1); + } + public static long fakIt(int n) + { + long e = 1; + for (int i = n; i > 0; i--) { + e *= i; + } + return e; + } + //Additon von Brüchen + public static int[] bruchAddition(int z1, int n1, int z2, int n2) + { + int ggt = ggT(n1, n2); + + int e1 = n1 / ggt; + int e2 = n2 / ggt; + + //Brücjhe erweitern + n1 *= e2; + z1 *= e2; + + n2 *= e1; + z2 *= e1; + + int[] r = new int[2]; + r[0] = z1 + z2; + r[1] = n1; + + //Kürzen + int s = ggT(r[0], r[1]); + r[0] /= s; + r[1] /= s; + + return r; + + } + //Größter gemeinsamer Teiler + public static int ggT(int p, int o) + { + if(p == o) + return p; + return ggT(Math.abs(p - o), //Dake abs() of p - o + (p < o)? p : o); //Take smaller one either o or p + } + //Potenzrechnung + public static double pot(double a , int exponent) + { + if(exponent == 0) + return 1; + else + return a * pot(a , exponent - 1); + } + public static double potIt(double a, int exponent) + { + double e = 1; + for (int i = 1; i <= exponent; i++) { + e *= a; + } + return e; + } + //Fibonacci number + public static long fibonacci(int runs) + { + if(runs <= 2) + return 1; + else + return fibonacci(runs - 1) + fibonacci(runs -2); + } +} diff --git a/Java/Sternchen 2/Sternchen 2.iml b/Java/Sternchen 2/Sternchen 2.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Sternchen 2/Sternchen 2.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Sternchen 2/build.xml b/Java/Sternchen 2/build.xml new file mode 100644 index 0000000..375fbaf --- /dev/null +++ b/Java/Sternchen 2/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Sternchen 2. + + + diff --git a/Java/Sternchen 2/build/classes/.netbeans_automatic_build b/Java/Sternchen 2/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Sternchen 2/build/classes/.netbeans_update_resources b/Java/Sternchen 2/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Sternchen 2/build/classes/sternchen/pkg2/Sternchen2.class b/Java/Sternchen 2/build/classes/sternchen/pkg2/Sternchen2.class new file mode 100644 index 0000000000000000000000000000000000000000..9097685240975e6d268357b8e18c4393cdad5e6f GIT binary patch literal 526 zcmZut!A`x z#g@LfUd%@#yyc@ARcdzN@|nX!sqk-6k0&x>XxmXNLf@STzxVv)^?SoV*dLJOoJ*g< z>O9(0{=$1R?t9b`O5YnKmOS)Gr2Y@hz?KZnP5C?NkAo#io5Nrcy5dr*4J)bZi83m| zK%SwovDmw7 aG}}njtn~z{*d{JdPBmiH5<7%7G=2bo)oY~y literal 0 HcmV?d00001 diff --git a/Java/Sternchen 2/build/classes/sternchen/pkg2/Window$1.class b/Java/Sternchen 2/build/classes/sternchen/pkg2/Window$1.class new file mode 100644 index 0000000000000000000000000000000000000000..33f3b2ac009543329ecd896c9e480aab2e30e2f2 GIT binary patch literal 767 zcmaJSC67!uN8VzPcDn)*E5j_u%fhU_locbRB3 zKJWwlQN}Y%qdpWi*_nH9&YXMh$FJW%F91BlQy(>~2Ux&^0Qa%sVbjAy4_g8^im}d{ z9f8$2FH~ldu`ajNJ&Dmt2vJY~Q zGO`@oM5cY2Y3I*^HJ4T(d}WNvda2BFMR#pJf3r&!b(s{}ns+MuWV4AH3T(CF6FHTU zJTD?ORi=oJO31OZ51gi|nic{Z*TDpW_x3DH)JyHeE?!o>=ZKl}*d(dVwHduu#n=u# zY=?M+$00o24B_E(7AAE^GL3d-jl3h4ev g=l`YiaR+xvQ^g9&D@?b_yT+|vL%mGLRpia@5A)ToYXATM literal 0 HcmV?d00001 diff --git a/Java/Sternchen 2/build/classes/sternchen/pkg2/Window$2.class b/Java/Sternchen 2/build/classes/sternchen/pkg2/Window$2.class new file mode 100644 index 0000000000000000000000000000000000000000..7ae672f0fead019d4e71ec27db09cf09ca50e39c GIT binary patch literal 767 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 kzjiE;70V~^A3GMvDoXMb%7 literal 0 HcmV?d00001 diff --git a/Java/Sternchen 2/build/classes/sternchen/pkg2/Window.form b/Java/Sternchen 2/build/classes/sternchen/pkg2/Window.form new file mode 100644 index 0000000..5ace598 --- /dev/null +++ b/Java/Sternchen 2/build/classes/sternchen/pkg2/Window.form @@ -0,0 +1,137 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Sternchen 2/manifest.mf b/Java/Sternchen 2/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Sternchen 2/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Sternchen 2/nbproject/build-impl.xml b/Java/Sternchen 2/nbproject/build-impl.xml new file mode 100644 index 0000000..1cb312f --- /dev/null +++ b/Java/Sternchen 2/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Sternchen 2/nbproject/genfiles.properties b/Java/Sternchen 2/nbproject/genfiles.properties new file mode 100644 index 0000000..efdd7d5 --- /dev/null +++ b/Java/Sternchen 2/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=3be31da3 +build.xml.script.CRC32=923fe70a +build.xml.stylesheet.CRC32=8064a381@1.75.2.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=3be31da3 +nbproject/build-impl.xml.script.CRC32=f2891309 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Sternchen 2/nbproject/private/private.properties b/Java/Sternchen 2/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Sternchen 2/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Sternchen 2/nbproject/private/private.xml b/Java/Sternchen 2/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Sternchen 2/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Sternchen 2/nbproject/project.properties b/Java/Sternchen 2/nbproject/project.properties new file mode 100644 index 0000000..c30f266 --- /dev/null +++ b/Java/Sternchen 2/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Sternchen_2.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=sternchen.pkg2.Sternchen2 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Sternchen 2/nbproject/project.xml b/Java/Sternchen 2/nbproject/project.xml new file mode 100644 index 0000000..db7ab79 --- /dev/null +++ b/Java/Sternchen 2/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Sternchen 2 + + + + + + + + + diff --git a/Java/Sternchen 2/src/sternchen/pkg2/Sternchen2.java b/Java/Sternchen 2/src/sternchen/pkg2/Sternchen2.java new file mode 100644 index 0000000..a54b98d --- /dev/null +++ b/Java/Sternchen 2/src/sternchen/pkg2/Sternchen2.java @@ -0,0 +1,22 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package sternchen.pkg2; + +/** + * + * @author kuchelmeister.hannes + */ +public class Sternchen2 { + + /** + * @param args the command line arguments + */ + + public static void main(String[] args) { + Window w = new Window(); + w.setVisible(true); + // TODO code application logic here + } +} diff --git a/Java/Sternchen 2/src/sternchen/pkg2/Window.form b/Java/Sternchen 2/src/sternchen/pkg2/Window.form new file mode 100644 index 0000000..5ace598 --- /dev/null +++ b/Java/Sternchen 2/src/sternchen/pkg2/Window.form @@ -0,0 +1,137 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Sternchen 2/src/sternchen/pkg2/Window.java b/Java/Sternchen 2/src/sternchen/pkg2/Window.java new file mode 100644 index 0000000..436ce6c --- /dev/null +++ b/Java/Sternchen 2/src/sternchen/pkg2/Window.java @@ -0,0 +1,274 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package sternchen.pkg2; + +/** + * + * @author kuchelmeister.hannes + */ +public class Window extends javax.swing.JFrame { + + /** + * Creates new form Window + */ + public Window() { + initComponents(); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + jScrollPane1 = new javax.swing.JScrollPane(); + TextArea = new javax.swing.JTextArea(); + jButton1 = new javax.swing.JButton(); + jButton2 = new javax.swing.JButton(); + jButton3 = new javax.swing.JButton(); + jButton4 = new javax.swing.JButton(); + jLabel1 = new javax.swing.JLabel(); + jSpinner1 = new javax.swing.JSpinner(); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + + TextArea.setColumns(20); + TextArea.setFont(new java.awt.Font("Courier New", 0, 13)); // NOI18N + TextArea.setRows(5); + jScrollPane1.setViewportView(TextArea); + + jButton1.setText("Muster 1"); + jButton1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton1ActionPerformed(evt); + } + }); + + jButton2.setText("Muster 2"); + jButton2.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton2ActionPerformed(evt); + } + }); + + jButton3.setText("Muster 3"); + jButton3.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton3ActionPerformed(evt); + } + }); + + jButton4.setText("Muster 4"); + jButton4.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton4ActionPerformed(evt); + } + }); + + jLabel1.setText("Anzahl"); + + jSpinner1.setValue(0); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() + .addComponent(jButton1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jButton2) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jButton3) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jButton4) + .addGap(0, 0, Short.MAX_VALUE)) + .addGroup(layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jLabel1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jSpinner1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(240, 240, 240))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 214, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(16, 16, 16) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel1) + .addComponent(jSpinner1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jButton1) + .addComponent(jButton2) + .addComponent(jButton3) + .addComponent(jButton4)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + pack(); + }// //GEN-END:initComponents + + private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed + int a; + String str = ""; + + a = (Integer)this.jSpinner1.getValue(); + for(int i = 0; i < a; i++) + { + for(int b = 0; b < a; b++) + { + if(b == a - 1) + { + str += "*\n"; + } + else if(i == 0 || b == 0 || i == a - 1 ) + { + str += "*"; + } + else + { + str += " "; + } + } + } + this.TextArea.setText(str); + }//GEN-LAST:event_jButton1ActionPerformed + + private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed + int a; + String str = ""; + + a = (Integer)this.jSpinner1.getValue(); + for(int i = 0; i < a; i++) + { + for(int b = 0; b <= i; b++) + { + if(b == i) + { + str += "*\n"; + } + else if(b == 0 || i == a - 1 ) + { + str += "*"; + } + else + { + str += " "; + } + } + } + this.TextArea.setText(str); + }//GEN-LAST:event_jButton2ActionPerformed + + private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed + int a; + String str = ""; + + a = (Integer)this.jSpinner1.getValue(); + str = " "; + for (int b = 2; b + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(Window.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new Window().setVisible(true); + } + }); + } + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JTextArea TextArea; + private javax.swing.JButton jButton1; + private javax.swing.JButton jButton2; + private javax.swing.JButton jButton3; + private javax.swing.JButton jButton4; + private javax.swing.JLabel jLabel1; + private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JSpinner jSpinner1; + // End of variables declaration//GEN-END:variables +} diff --git a/Java/Subtraktion/Subtraktion_0/Subtraktion_0.iml b/Java/Subtraktion/Subtraktion_0/Subtraktion_0.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Subtraktion/Subtraktion_0/Subtraktion_0.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Subtraktion/Subtraktion_0/build.xml b/Java/Subtraktion/Subtraktion_0/build.xml new file mode 100644 index 0000000..eee03f9 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_0/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project Subtraktion_0. + + + diff --git a/Java/Subtraktion/Subtraktion_0/build/classes/.netbeans_automatic_build b/Java/Subtraktion/Subtraktion_0/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Subtraktion/Subtraktion_0/build/classes/.netbeans_update_resources b/Java/Subtraktion/Subtraktion_0/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Subtraktion/Subtraktion_0/build/classes/subtraktion_0/Subtraktion_0.class b/Java/Subtraktion/Subtraktion_0/build/classes/subtraktion_0/Subtraktion_0.class new file mode 100644 index 0000000000000000000000000000000000000000..405d3d3cba5bd0244f7021f753f99471ca03961c GIT binary patch literal 638 zcmaKpIZwkt5QX37auN(VAl!#Jihu;>XplG>5LE<7K@?D+O<0lzA85S>!M}n6B!p<_ z_)&J*{2x8*V$?YuR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Subtraktion/Subtraktion_0/nbproject/genfiles.properties b/Java/Subtraktion/Subtraktion_0/nbproject/genfiles.properties new file mode 100644 index 0000000..d021bc2 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_0/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=6433b6f5 +build.xml.script.CRC32=029b7173 +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=6433b6f5 +nbproject/build-impl.xml.script.CRC32=2ae6bcc4 +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/Subtraktion/Subtraktion_0/nbproject/private/private.properties b/Java/Subtraktion/Subtraktion_0/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_0/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/Subtraktion/Subtraktion_0/nbproject/private/private.xml b/Java/Subtraktion/Subtraktion_0/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_0/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Java/Subtraktion/Subtraktion_0/nbproject/project.properties b/Java/Subtraktion/Subtraktion_0/nbproject/project.properties new file mode 100644 index 0000000..7b47001 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_0/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Subtraktion_0.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=subtraktion_0.Subtraktion_0 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Subtraktion/Subtraktion_0/nbproject/project.xml b/Java/Subtraktion/Subtraktion_0/nbproject/project.xml new file mode 100644 index 0000000..eb08b1a --- /dev/null +++ b/Java/Subtraktion/Subtraktion_0/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Subtraktion_0 + + + + + + + + + diff --git a/Java/Subtraktion/Subtraktion_0/src/subtraktion_0/Subtraktion_0.java b/Java/Subtraktion/Subtraktion_0/src/subtraktion_0/Subtraktion_0.java new file mode 100644 index 0000000..33f0f47 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_0/src/subtraktion_0/Subtraktion_0.java @@ -0,0 +1,9 @@ +package subtraktion_0; +public class Subtraktion_0 +{ + public static void main(String[] args) + { + System.out.println("Diese programm führt eine Subtraktion zweier Zahlen aus"); + System.out.println("3-2=" +(3-2) ); + } +} diff --git a/Java/Subtraktion/Subtraktion_1/Subtraktion_1.iml b/Java/Subtraktion/Subtraktion_1/Subtraktion_1.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Subtraktion/Subtraktion_1/Subtraktion_1.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Subtraktion/Subtraktion_1/build.xml b/Java/Subtraktion/Subtraktion_1/build.xml new file mode 100644 index 0000000..599a40f --- /dev/null +++ b/Java/Subtraktion/Subtraktion_1/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project Subtraktion_1. + + + diff --git a/Java/Subtraktion/Subtraktion_1/build/classes/.netbeans_automatic_build b/Java/Subtraktion/Subtraktion_1/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Subtraktion/Subtraktion_1/build/classes/.netbeans_update_resources b/Java/Subtraktion/Subtraktion_1/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Subtraktion/Subtraktion_1/build/classes/subtraktion_1/Subtraktion_1.class b/Java/Subtraktion/Subtraktion_1/build/classes/subtraktion_1/Subtraktion_1.class new file mode 100644 index 0000000000000000000000000000000000000000..c030dce7fccbc6f65a1b7ec21f1f1e6a2f1378c4 GIT binary patch literal 966 zcmaJ~} zfhKBv@y#D)Ja?u^izVKNv)!|NXZii-+fM-Z(9Gj3j2tfGN)}i1xQ6Q*Zsd`Mp~%fF zOvP(i)D^#_JZ@`fXjo;)Y)MxJI}Ay)w#Sfq;`Ic>d`r6GdFXV6|B82PvJ_ihm)m>X zmr6e}rh=gyGgMpSuoL+FeIPye-I~=tsWmC7!==lxWWH_f^AFszxjV4hfiK-bGb+mc z0i`L;_-4=?>4w7XF|b{Rd|YW58FD?@?+ahJ2lUbQLcc4X$q4Kef>l*i$2;~4#4KZbr_2x{9n5o{cM6jJ!c8$Ps!Yw&QqX=u2s)70-XEdSfh z<51c?;p=#Sb;8?F!UhT3Iv(PYj!hL+j$4>HEQZ2y&KI41(G8|d?N8%CIJ7J;q>sgT zoYJ#i(kug-sNfFGyA^vNvYM|HnTYc=4_o z7R=L$DWeu4vt7F2Gjz)8B|t}r0?~7%S;QIfbo~(QOY~hNnu&}Flt|WN2P|Nbv>cYO zOcoXV8A+swZ)CR8+vQ4c=PMG$ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Subtraktion/Subtraktion_1/nbproject/genfiles.properties b/Java/Subtraktion/Subtraktion_1/nbproject/genfiles.properties new file mode 100644 index 0000000..1e1ab49 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_1/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=6c203ad3 +build.xml.script.CRC32=25327c9f +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=6c203ad3 +nbproject/build-impl.xml.script.CRC32=5bde56fd +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/Subtraktion/Subtraktion_1/nbproject/private/private.properties b/Java/Subtraktion/Subtraktion_1/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_1/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/Subtraktion/Subtraktion_1/nbproject/private/private.xml b/Java/Subtraktion/Subtraktion_1/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_1/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Java/Subtraktion/Subtraktion_1/nbproject/project.properties b/Java/Subtraktion/Subtraktion_1/nbproject/project.properties new file mode 100644 index 0000000..e707fa5 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_1/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Subtraktion_1.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=subtraktion_1.Subtraktion_1 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Subtraktion/Subtraktion_1/nbproject/project.xml b/Java/Subtraktion/Subtraktion_1/nbproject/project.xml new file mode 100644 index 0000000..d43795d --- /dev/null +++ b/Java/Subtraktion/Subtraktion_1/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Subtraktion_1 + + + + + + + + + diff --git a/Java/Subtraktion/Subtraktion_1/src/subtraktion_1/Subtraktion_1.java b/Java/Subtraktion/Subtraktion_1/src/subtraktion_1/Subtraktion_1.java new file mode 100644 index 0000000..1b7789d --- /dev/null +++ b/Java/Subtraktion/Subtraktion_1/src/subtraktion_1/Subtraktion_1.java @@ -0,0 +1,13 @@ +package subtraktion_1; +public class Subtraktion_1 +{ + public static void main(String[] args) + { + int minuend, subtrahend, differenz; + minuend=3; + subtrahend=2; + differenz=minuend-subtrahend; + System.out.print("Diese programm führt eine Subtraktion zweier Zahlen aus: "); + System.out.println(minuend+"-"+subtrahend+"="+differenz ); + } +} diff --git a/Java/Subtraktion/Subtraktion_2/Subtraktion_2.iml b/Java/Subtraktion/Subtraktion_2/Subtraktion_2.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Subtraktion/Subtraktion_2/Subtraktion_2.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Subtraktion/Subtraktion_2/build.xml b/Java/Subtraktion/Subtraktion_2/build.xml new file mode 100644 index 0000000..8f44eea --- /dev/null +++ b/Java/Subtraktion/Subtraktion_2/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project Subtraktion_2. + + + diff --git a/Java/Subtraktion/Subtraktion_2/build/classes/.netbeans_automatic_build b/Java/Subtraktion/Subtraktion_2/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Subtraktion/Subtraktion_2/build/classes/.netbeans_update_resources b/Java/Subtraktion/Subtraktion_2/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Subtraktion/Subtraktion_2/build/classes/subtraktion_2/Subtraktion_2.class b/Java/Subtraktion/Subtraktion_2/build/classes/subtraktion_2/Subtraktion_2.class new file mode 100644 index 0000000000000000000000000000000000000000..d7ed48383834fc9da040852bc4440328d3593561 GIT binary patch literal 1317 zcmah|*-{fh6g{0um=Fd6VHJXoD`AZ+q7Xo3H5$M&6jkVhPDqn9CY{t|#)a?k2jn4C ziRBA#{(ygDd3%N`5Gb98?z^5oef!MM-`{=!n8Zc|9Z2XHY{U?TBM4wbS)*Z$MUcdO z6&Vj>B8*ApPw99Nfq{ftro(us_D5mNsC`yPO2-^S!<>-9Szyo-gWC+jrAnSNL^DG2 z4Y!=*_Lh|^Q6!eB>{_L5%NEK%4F;W}s4?_sYHrT4t@nd$U@3H)Upc%(|$#onrpijHMje%t|LmxEJY-@30W@->2jH8U}=Vk zPowAs8uMarkK0@xP$FA#?Onbqyqo+*Z%i>V(1|XFHjmx;BXrCgSioad@WjAVEHccj z@f??CR&Z0g(#(^+?z1qtkYi?Ik=LA)FODcsrbbm|;g~DZ;kJ$?1It)3u!=Q?xywL4 zHFbgiVKK}u3tr=9)vgq5t6VnsPQDjyNA+>@+!f7(k6duud~Fp=M96Y$v!;P(SYhbC z_!^6@DCN0rAdTlV(oto+AcKaG!8${qKj16hnW6OzZZo&fcb&gN+0QkHml*;|3Z4FI zib^sqtFA*@;8vO5vnO$7LWxAHxCD6C_>$yv*4XZyO?cjoC2420hlY;8zIy2%S{uBehHGRSegS&XM_wc1=%hxj_|y48c&^tcz@ncN9t&z%rT6eBQ(eBXo*GZXzf=<8yTHJvg(LY z;~B9bMCd>rO$Z}KWO~WJLEZq-96>Y2(SjL7@eZvX`6-_uu2U7LZW|`ef>GrbZs9gf XBZ^nJLzYH(o489>kn;DaI)H&cj;}yI literal 0 HcmV?d00001 diff --git a/Java/Subtraktion/Subtraktion_2/manifest.mf b/Java/Subtraktion/Subtraktion_2/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_2/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Subtraktion/Subtraktion_2/nbproject/build-impl.xml b/Java/Subtraktion/Subtraktion_2/nbproject/build-impl.xml new file mode 100644 index 0000000..13096c8 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_2/nbproject/build-impl.xml @@ -0,0 +1,1400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Subtraktion/Subtraktion_2/nbproject/genfiles.properties b/Java/Subtraktion/Subtraktion_2/nbproject/genfiles.properties new file mode 100644 index 0000000..567c566 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_2/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=7414aeb9 +build.xml.script.CRC32=4dc96aab +build.xml.stylesheet.CRC32=28e38971@1.53.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=7414aeb9 +nbproject/build-impl.xml.script.CRC32=c89768b6 +nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 diff --git a/Java/Subtraktion/Subtraktion_2/nbproject/private/private.properties b/Java/Subtraktion/Subtraktion_2/nbproject/private/private.properties new file mode 100644 index 0000000..5e9dd57 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_2/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\kuchelmeister.hannes\\AppData\\Roaming\\NetBeans\\7.2\\build.properties diff --git a/Java/Subtraktion/Subtraktion_2/nbproject/private/private.xml b/Java/Subtraktion/Subtraktion_2/nbproject/private/private.xml new file mode 100644 index 0000000..4750962 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_2/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Java/Subtraktion/Subtraktion_2/nbproject/project.properties b/Java/Subtraktion/Subtraktion_2/nbproject/project.properties new file mode 100644 index 0000000..8ff95a8 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_2/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Subtraktion_2.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=subtraktion_2.Subtraktion_2 +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Subtraktion/Subtraktion_2/nbproject/project.xml b/Java/Subtraktion/Subtraktion_2/nbproject/project.xml new file mode 100644 index 0000000..504f481 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_2/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Subtraktion_2 + + + + + + + + + diff --git a/Java/Subtraktion/Subtraktion_2/src/subtraktion_2/Subtraktion_2.java b/Java/Subtraktion/Subtraktion_2/src/subtraktion_2/Subtraktion_2.java new file mode 100644 index 0000000..0db3961 --- /dev/null +++ b/Java/Subtraktion/Subtraktion_2/src/subtraktion_2/Subtraktion_2.java @@ -0,0 +1,17 @@ +package subtraktion_2; +import java.util.Scanner; +public class Subtraktion_2 +{ + public static void main(String[] args) + { + Scanner scan = new Scanner( System.in ); + int minuend=0, subtrahend=0, differenz=0; + System.out.println("Geben Sie nun den Minuend ein. (Bestätigen sie mit Enter"); + minuend=scan.nextInt(); + System.out.println("Geben Sie nun den Subtrahend ein. (Bestätigen sie mit Enter"); + subtrahend=scan.nextInt(); + differenz=minuend-subtrahend; + System.out.print("Diese programm führt eine Subtraktion zweier Zahlen aus: "); + System.out.println(minuend+"-"+subtrahend+"="+differenz ); + } +} diff --git a/Java/Suchbaum/Suchbaum.iml b/Java/Suchbaum/Suchbaum.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Suchbaum/Suchbaum.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Suchbaum/build.xml b/Java/Suchbaum/build.xml new file mode 100644 index 0000000..43b8d30 --- /dev/null +++ b/Java/Suchbaum/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Suchbaum. + + + diff --git a/Java/Suchbaum/build/built-jar.properties b/Java/Suchbaum/build/built-jar.properties new file mode 100644 index 0000000..0d02f48 --- /dev/null +++ b/Java/Suchbaum/build/built-jar.properties @@ -0,0 +1,4 @@ +#Tue, 11 Feb 2014 10:06:19 +0100 + + +C\:\\Users\\Hannes\\Documents\\NetBeansProjects\\Suchbaum= diff --git a/Java/Suchbaum/build/classes/suchbaum/Baum.class b/Java/Suchbaum/build/classes/suchbaum/Baum.class new file mode 100644 index 0000000000000000000000000000000000000000..d18e1fae09820c1b13057b6d85edfafe5903e989 GIT binary patch literal 1995 zcma)6Yfl?T6g_KUE816&^0o;ts%NlFDniGtG27woBKuO-L;AiS5m9> zlI3h$o-OlmG3rQrYhA%NG^pYB)X8*$%Ijo3xsS-YwrM)z++o5U+dJ zcIEmDBddGX18c&u+{(n3@7Zo8H~Iz&$@}$1o)C6##1q}C`?m7brYco^(u~w5#Y~Br zj$=uK5k@fE8Uqr3J-AFrkDdhCQ&IksXB|`@*pD^nTlJ<_Qj4|-l$6vj3JnA2@Q#7A z7~&-chG81`2p=2x0?P)z6tg00t76u~tYewgDJ#zu5Yuk>rlXW+U;`I53?0v{(6k)} zYxt>bSA>mOF@Mm_z}?YJ)3e-K+4ju5nZ8>{bD>x%)t!24;bGPG)vRMzs(#UFD%oxL zj~tax@7j)|%CbPDvaMX7@;izsQ!|%z^V^(my6g^fr%|;IRK8gMek?c{92{$1kx#dv ziSQ`R69#VMj)4iuBclIkU|hW3|MZK7flh`S#XVK>*;DP1pl4VeY9AKr6svP=Uz&~q zuWOxbbo>PU@Sslje$#vTqEut~7~h`6ZMW{VM2%So2TGc1{KPKoPz`z|EJhCJ`GC*x zK{HXQJ-s-6wgTrU;D6RA`38u9D_8WH8H}9ImiVIm}}L*ZE#=U<)_#9cR0^)k-oG&~GPM z!AMIv6H6GS7a>}KXhW=ksM(M1MCvaL$C2ePEy9kq)#wS;aG6o;1T|uT8Zl9$yQM}# zJgO0YyBe=>Uef9Fry+2zYVnVR@OMOSCEpfI6^Gd^CajGLs~EB z?cmK6NxlS~R61`a6_ODByP)YT89zWF^fEOU=;7bdd+#~=QvHV*2*3yFrBXD9ICZ?m R_x^=H9O7%ZM4$*J{{gx(ePRFr literal 0 HcmV?d00001 diff --git a/Java/Suchbaum/build/classes/suchbaum/Knoten.class b/Java/Suchbaum/build/classes/suchbaum/Knoten.class new file mode 100644 index 0000000000000000000000000000000000000000..deedcb7cba7141e3df589adb03671a4b7ceb26ad GIT binary patch literal 2817 zcmaJ?TXPgu5dLOwvpX3`*j%_n3-L; zOP}<~7fOq=eB~8O36!E`6_!-_o51qxnaS?3S*%KW`}FDV^L2lH&iwQ5uYUkIimHaK z7)xOnE{YfzkrgqaQC!k6iOZs05ph*SPQ*14ABmXKa2+>9Ov`d6iCGmlHKZ{n;+7ac z7VUNtpCn@`9xD7ei zC@fAG%Rz?tyk*OQz0L5f%fbTO@&!gHh!j|3d#H#p+ck@(Gpu4kLDDVzH4B&nA+K5| zRLd?qbEZRI(${v|PFB6wC{jkkI1uen^t)5{rf5$AiIw~Mxt)B0| zh!>;vR&)$Yo_KGC3vM?wlrvvX6cGGc@->p9eKKIFLV0P~a741;%o~#(9syR8Y zpsQ~zJQ-{ALy|4qof0nv%*&XBvAk@`&%S!B7A$lq}=-@>-^nFpI+=Ef%~~K=ojJd*31(q8Ran|BBCN< znf}L!|Kx@CQEo$mGR^RIq|m`coz%Lp1)FhzJ6(PvWW3{;68$`okA+NAaNJ+PakKra zNM!iG3iSu{P)oi*TZYzDKNs3V42zBHmWMbTa(;lsL+s|B9{6tv{9D8({sK4(0elE8 zl-me&JE88Nwv*$(n_zl4@B4TG_TwTwuM+YMz3WBH){2;=y_?_%nMp;wM{8?WSrP9* zP|?qWl}u+dsbs`7Gn4?>de#`WW#E_!h)oqEp53 z)?|{KyqG}&gZx$K5SIc3MZ{}f!ZVI~C+NOIaDpONn-&?LKj|&wW2QG{rMADZ<2R(I zpP-#Jb%QRLY=X^S)?g~&_nQSt5>a>=(PsOA+XT)4cS-V*;ETc@L$+;l9Hdx~w@ z^ri{FzN0}IWVR!{JyCaKt+{DwB1_&OF@D(+#o4jra2rl?88mgeG6aVc4#Q>2i2!(Kjl^5i7z-hdxN3S5qX6y`@p{wYy!UmK`ZK0 z@e3l2Q!(FkD){vXf=7a>NXQEkslOnaH!Dks!wylDs7-Fdd%9#C`RQo_B-#kXZ3={+ ztY$!>jX*vlkk8)$MBYvTa=s~$SR;@xn*!mdv>A|CBap8NVp6P literal 0 HcmV?d00001 diff --git a/Java/Suchbaum/build/classes/suchbaum/Suchbaum.class b/Java/Suchbaum/build/classes/suchbaum/Suchbaum.class new file mode 100644 index 0000000000000000000000000000000000000000..5d0a653af2267ed70ae38095d68dfdfc1a821d6e GIT binary patch literal 1714 zcmaJ>-F6dI6#h=qbk0ntwoTKP@*_b()23}u1hK6kK|vvf(m+Z@)RW{iIc+kNH8WwU zYxx4cfG^++=ta7gMQ>nn!8>^24R=0*F89f_VM4o@i?iq3d!POD?LG7Szu*4^a1M@z zw{g+HM;2mQE^;hc7{Ic|A9GydxXkeh#}$q|$5oC`IX>gK#&MnFa}!_ShJl+FQn<)b z&~il|xAbw_!Yc0QNNXHLE$?d0J&uwF>-xBFV8g(d41>$cQNbmKcxI-=FmTnaN`{ew za^$Ucvn;*4qTC=&vfx%kqa-|~@t$%Zs4Jggyx_Mh^|EL;bH%-vB?{FP%3+wyJSc35 zM9~P($TnOIL}hzL zw7RtswZtleRdm~4MP5_7hvEI|7IZ;2PU8$I`;t)B9u7kjGiz>BJ3p}T6&@00dFeHD zYl&5&gIcieQE%zI2wab>1=p#%WaS0r`=YF0t##qosqdhx&wEcE`@U>2n1%LtvRQ6> zHKJ=>Npdx>H2pw&RncUyOCnI)!s&Kx;A~gpuM*6P#d-xhOT>}Rez*@SWH_s8jv=cy63STEBhQW zjJ~Ync6m!yXfP9*!)I+u47@-NTQ2<{$b@yGq3UIfg7%^uKl1RMI7%k(O)6)+tT$msO7|_ za`b0)=Fm!e)b@7S_S`^8PtsSoP5afy>VCmQ*-%Xe`}3kj-n+CWEA_y~DZEAh82!Y+ z^s3YO4xt=LMlvzG1NLjz{4Sk?UF8rm^lpa^n87R|6IslWhAy)g^pA>@ys(Sd#t!0z z>@Eg2l8GG*c3^~nM}ZjyRul|HfgJ_IQSe3-j6}g`6pTedG6cV2d>1Jyb0Rs}!Bn<` zBOOe4a5S4VJ2Q)8WK0j|Ixf*#c!cOY?jR5AWf9T90$2w-Ni7 SnFc;Ea6U`c3#5zT!~X%&1el8e literal 0 HcmV?d00001 diff --git a/Java/Suchbaum/manifest.mf b/Java/Suchbaum/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Suchbaum/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Suchbaum/nbproject/build-impl.xml b/Java/Suchbaum/nbproject/build-impl.xml new file mode 100644 index 0000000..25afff8 --- /dev/null +++ b/Java/Suchbaum/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Suchbaum/nbproject/genfiles.properties b/Java/Suchbaum/nbproject/genfiles.properties new file mode 100644 index 0000000..5837073 --- /dev/null +++ b/Java/Suchbaum/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=b6fc472a +build.xml.script.CRC32=206ab543 +build.xml.stylesheet.CRC32=8064a381@1.75.2.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=b6fc472a +nbproject/build-impl.xml.script.CRC32=9100a579 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Suchbaum/nbproject/private/private.properties b/Java/Suchbaum/nbproject/private/private.properties new file mode 100644 index 0000000..5cc4d5b --- /dev/null +++ b/Java/Suchbaum/nbproject/private/private.properties @@ -0,0 +1 @@ +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Suchbaum/nbproject/private/private.xml b/Java/Suchbaum/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Suchbaum/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Suchbaum/nbproject/project.properties b/Java/Suchbaum/nbproject/project.properties new file mode 100644 index 0000000..552d86c --- /dev/null +++ b/Java/Suchbaum/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Suchbaum.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=suchbaum.Suchbaum +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Suchbaum/nbproject/project.xml b/Java/Suchbaum/nbproject/project.xml new file mode 100644 index 0000000..ac808ad --- /dev/null +++ b/Java/Suchbaum/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Suchbaum + + + + + + + + + diff --git a/Java/Suchbaum/sb1.emf b/Java/Suchbaum/sb1.emf new file mode 100644 index 0000000000000000000000000000000000000000..397479b363c8510231eb5d820696bb19aa9b9f4f GIT binary patch literal 23848 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 z "Berlin" + "Berlin" [label="Berlin"] +"Berlin" -> "Amsterdam" + "Amsterdam" [label="Amsterdam"] +"Berlin" -> "Paris" + "Paris" [label="Paris"] +"Paris" -> "London" + "London" [label="London"] +"London" -> "Lissabon" + "Lissabon" [label="Lissabon"] +"Lissabon" -> "Brüssel" + "Brüssel" [label="Brüssel"] +"London" -> "Luxemburg" + "Luxemburg" [label="Luxemburg"] +"Rom" -> "Ulan Bator" + "Ulan Bator" [label="Ulan Bator"] +"Ulan Bator" -> "Washington" + "Washington" [label="Washington"] +"Washington" -> "Vatikanstadt" + "Vatikanstadt" [label="Vatikanstadt"] +"Washington" -> "Wien" + "Wien" [label="Wien"] + +} \ No newline at end of file diff --git a/Java/Suchbaum/sb2.emf b/Java/Suchbaum/sb2.emf new file mode 100644 index 0000000000000000000000000000000000000000..0418f9c5d0bab6a4a325b1d50d88a802d36ece96 GIT binary patch literal 23884 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 "Berlin" + "Berlin" [label="Berlin"] +"Berlin" -> "Amsterdam" + "Amsterdam" [label="Amsterdam"] +"Berlin" -> "London" + "London" [label="London"] +"London" -> "Lissabon" + "Lissabon" [label="Lissabon"] +"Lissabon" -> "Brüssel" + "Brüssel" [label="Brüssel"] +"London" -> "Paris" + "Paris" [label="Paris"] +"Paris" -> "Luxemburg" + "Luxemburg" [label="Luxemburg"] +"Rom" -> "Ulan Bator" + "Ulan Bator" [label="Ulan Bator"] +"Ulan Bator" -> "Washington" + "Washington" [label="Washington"] +"Washington" -> "Vatikanstadt" + "Vatikanstadt" [label="Vatikanstadt"] +"Washington" -> "Wien" + "Wien" [label="Wien"] + +} \ No newline at end of file diff --git a/Java/Suchbaum/src/suchbaum/Baum.java b/Java/Suchbaum/src/suchbaum/Baum.java new file mode 100644 index 0000000..9e03b22 --- /dev/null +++ b/Java/Suchbaum/src/suchbaum/Baum.java @@ -0,0 +1,117 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package suchbaum; + +/** + * + * @author frank.baethge + */ +public class Baum { + + private Knoten wurzel; + + public Baum() { + wurzel = null; + } + + public void einfügen(Knoten k) { + if (wurzel == null) { + wurzel = k; + } else { + wurzel.einfügen(k); + } + } + + /** + * Sucht nach dem String toFind in den Werten des Baumes und gibt den + * jeweiligen Knoten zurück wird toFind nicht gefunden wird null + * zurückgegeben + * + * @param toFind + */ + public Knoten finde(String toFind) { + return wurzel.finde(toFind); + } + + /** + * beim Rechtsrotieren wird der linke Verweis zur Wurzel + * + * @param k + * + * zur Erklärung die Struktur ist vorher k == 1, k.links == 2 und + * k.links.rechts == 3 nachher soll der Baum 2, 2.rechts == 1 und + * 2.rechts.links = 3 sein + * + */ + public void rotiereRechts(Knoten k1) { + if (k1.getLinks() == null) { + return; + } + if (k1 == wurzel) { + wurzel = wurzel.getLinks(); + } + Knoten k2 = k1.getLinks(); + Knoten k3 = k2.getRechts(); + k2.setRechts(k1); + k2.getRechts().setLinks(k3); + if (k3 != null) { + k3.setZurück(k1); + } + k2.setZurück(k1.getZurück()); + k1.setZurück(k2); + if (k2.getZurück().getRechts() == k1) { + k2.getZurück().setRechts(k2); + } else { + k2.getZurück().setLinks(k2); + } + } + + public void rotiereLinks(Knoten k1) { + if (k1.getRechts() == null) { + return; + } + if (k1 == wurzel) { + wurzel = wurzel.getRechts(); + } + Knoten k2 = k1.getRechts(); + Knoten k3 = k2.getLinks(); + k2.setLinks(k1); + k2.getLinks().setRechts(k3); + if (k3 != null) { + k3.setZurück(k1); + } + k2.setZurück(k1.getZurück()); + k1.setZurück(k2); + if (k2.getZurück() != null) { + if (k2.getZurück().getRechts() == k1) { + k2.getZurück().setRechts(k2); + } else { + k2.getZurück().setLinks(k2); + } + } + } + + @Override + public String toString() { + if (wurzel == null) { + return "der Baum ist leer"; + } else { + return wurzel.inorder(); + } + } + + protected String getGraphviz() { + return "digraph g {\n" + + " graph [\n" + + " rankdir = \"TB\"\n" + + " bgcolor = \"white:lightblue\"\n" + + " style=\"filled\"\n" + + " gradientangle = 270\n" + + " ];\n" + + " node [shape=box,style=filled,color=\"lightgray\"];\n" + + wurzel.getGraphviz() + + "\n}"; + } +} diff --git a/Java/Suchbaum/src/suchbaum/Knoten.java b/Java/Suchbaum/src/suchbaum/Knoten.java new file mode 100644 index 0000000..245b565 --- /dev/null +++ b/Java/Suchbaum/src/suchbaum/Knoten.java @@ -0,0 +1,154 @@ +package suchbaum; + +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +/** + * + * @author frank.baethge + */ +public class Knoten { + private Knoten links; + private Knoten rechts; + private Knoten zurück; + private String wert; + + protected Knoten(String w) { + links = null; + rechts = null; + zurück = null; + wert = w; + } + + protected void einfügen(Knoten k) { + if (k.getWert().compareTo(getWert()) < 0) { + if (getLinks() == null) { + setLinks(k); + k.setZurück(this); + } else { + getLinks().einfügen(k); + } + } else { + if (k.getWert().compareTo(getWert()) == 0) { + // mache nichts, denn der Wert ist schon vorhanden + } else { + // Wert ist größer + if (getRechts() == null) { + setRechts(k); + k.setZurück(this); + } else { + getRechts().einfügen(k); + } + } + } + } + + protected Knoten finde(String toFind) { + Integer ct = getWert().compareTo(toFind); + if (ct == 0) { // gefunden + return this; + } else { + if (ct > 0) { // das Suchergebnis befindet sich links + if (getLinks() == null) { + return null; + } else { + return getLinks().finde(toFind); + } + } else { // das Suchergebnis befindet sich rechts + if (getRechts() == null) { + return null; + } else { + return getRechts().finde(toFind); + } + } + } + } + + @Override + public String toString() { + return getWert(); + } + + public String inorder() { //LWR + String ergebnis = ""; + if (getLinks() != null) { + ergebnis += getLinks().inorder(); + } + ergebnis += " " + getWert() + " "; + if (getRechts() != null) { + ergebnis += getRechts().inorder(); + } + return ergebnis; + } + + protected String getGraphviz() { + String gv = String.format(" \"%s\" [label=\"%s\"]", this, this); + String linkedTo = ""; + if (getLinks() != null) { + linkedTo += String.format("\"%s\" -> \"%s\"\n%s", this, getLinks(), getLinks().getGraphviz()); + } + if (getRechts() != null) { + linkedTo += String.format("\"%s\" -> \"%s\"\n%s", this, getRechts(), getRechts().getGraphviz()); + } + return String.format("%s\n%s", gv, linkedTo); + } + + /** + * @return the links + */ + public Knoten getLinks() { + return links; + } + + /** + * @param links the links to set + */ + public void setLinks(Knoten links) { + this.links = links; + } + + /** + * @return the rechts + */ + public Knoten getRechts() { + return rechts; + } + + /** + * @param rechts the rechts to set + */ + public void setRechts(Knoten rechts) { + this.rechts = rechts; + } + + /** + * @return the zurück + */ + public Knoten getZurück() { + return zurück; + } + + /** + * @param zurück the zurück to set + */ + public void setZurück(Knoten zurück) { + this.zurück = zurück; + } + + /** + * @return the wert + */ + public String getWert() { + return wert; + } + + /** + * @param wert the wert to set + */ + public void setWert(String wert) { + this.wert = wert; + } + +} \ No newline at end of file diff --git a/Java/Suchbaum/src/suchbaum/Suchbaum.java b/Java/Suchbaum/src/suchbaum/Suchbaum.java new file mode 100644 index 0000000..1d3526c --- /dev/null +++ b/Java/Suchbaum/src/suchbaum/Suchbaum.java @@ -0,0 +1,49 @@ +/* + * Binärer Suchbaum + * implementiert nur die wichtigsten Prozeduren + */ +package suchbaum; + +/** + * + * @author frank.baethge + */ +public class Suchbaum { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + Baum b = new Baum(); + b.einfügen(new Knoten("Rom")); + b.einfügen(new Knoten("Berlin")); + b.einfügen(new Knoten("Paris")); + b.einfügen(new Knoten("Ulan Bator")); + b.einfügen(new Knoten("London")); + b.einfügen(new Knoten("Lissabon")); + b.einfügen(new Knoten("Washington")); + b.einfügen(new Knoten("Brüssel")); + b.einfügen(new Knoten("Luxemburg")); + b.einfügen(new Knoten("Wien")); + b.einfügen(new Knoten("Amsterdam")); + b.einfügen(new Knoten("Vatikanstadt")); + + System.out.println("Baum preorder: " + b); + //System.out.println("Graphviz: \n" + b.getGraphviz()); + + + Knoten stadt = b.finde("Paris"); + System.out.println("Stadt: " + stadt); + if (stadt != null) { + b.rotiereLinks(stadt); + System.out.println(b); + System.out.println("Graphviz: \n" + b.getGraphviz()); + } + stadt = b.finde("Paris"); + if (stadt != null) { + b.rotiereRechts(stadt); + System.out.println("Graphviz: \n" + b.getGraphviz()); + } + + } +} diff --git a/Java/TestProject/TestProject.iml b/Java/TestProject/TestProject.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/TestProject/TestProject.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/TestProject/build.xml b/Java/TestProject/build.xml new file mode 100644 index 0000000..36c4e5f --- /dev/null +++ b/Java/TestProject/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project TestProject. + + + diff --git a/Java/TestProject/build/classes/.netbeans_automatic_build b/Java/TestProject/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/TestProject/build/classes/.netbeans_update_resources b/Java/TestProject/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/TestProject/build/classes/testproject/TestProject.class b/Java/TestProject/build/classes/testproject/TestProject.class new file mode 100644 index 0000000000000000000000000000000000000000..7dc0d9c647fcd651ef6464222a5781bee397d544 GIT binary patch literal 400 zcmZ`!O-sW-5Pg&8!=}~NR1}Zis)9Lqtn^aw6jW&G#nUD(aZ8%WcI*H0BzW)#_@l(x ztzbc2n6EeU-pqb{zP$su#6gS}_9G+_288fR)yj+st>NjM;7^(dN$6#&mN)BVF7-_0 z6(dR36r!37t!(`b`sPus2*;U`EAynAg)B@u-e(K(EYeEUWjZxl z)#b=76uM-I!5?ixJZ;vxkk`sy(BBfiuv%UC2na|2EN8~g#@pQ9h7)-FdHX!@Z3x(h zT%{a|V{rBgdU5TDedxdrb~x{D2GB;#RT~|LSn@fWCI2EOTSUSx_S|5Py@&o65^Yeq literal 0 HcmV?d00001 diff --git a/Java/TestProject/manifest.mf b/Java/TestProject/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/TestProject/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/TestProject/nbproject/build-impl.xml b/Java/TestProject/nbproject/build-impl.xml new file mode 100644 index 0000000..0bd8846 --- /dev/null +++ b/Java/TestProject/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/TestProject/nbproject/genfiles.properties b/Java/TestProject/nbproject/genfiles.properties new file mode 100644 index 0000000..ce21544 --- /dev/null +++ b/Java/TestProject/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=f3280282 +build.xml.script.CRC32=ebaf3591 +build.xml.stylesheet.CRC32=8064a381@1.75.2.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=f3280282 +nbproject/build-impl.xml.script.CRC32=a37fdbae +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/TestProject/nbproject/private/private.properties b/Java/TestProject/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/TestProject/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/TestProject/nbproject/private/private.xml b/Java/TestProject/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/TestProject/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/TestProject/nbproject/project.properties b/Java/TestProject/nbproject/project.properties new file mode 100644 index 0000000..629e85c --- /dev/null +++ b/Java/TestProject/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/TestProject.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=testproject.TestProject +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/TestProject/nbproject/project.xml b/Java/TestProject/nbproject/project.xml new file mode 100644 index 0000000..a132bc1 --- /dev/null +++ b/Java/TestProject/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + TestProject + + + + + + + + + diff --git a/Java/TestProject/src/testproject/TestProject.java b/Java/TestProject/src/testproject/TestProject.java new file mode 100644 index 0000000..de7b704 --- /dev/null +++ b/Java/TestProject/src/testproject/TestProject.java @@ -0,0 +1,19 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package testproject; +import java.util.*; +/** + * + * @author Hannes + */ +public class TestProject { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + + } +} diff --git a/Java/TestSuite b/Java/TestSuite new file mode 160000 index 0000000..9bd321d --- /dev/null +++ b/Java/TestSuite @@ -0,0 +1 @@ +Subproject commit 9bd321d182f973289786f3c90ef6f0492e29b166 diff --git a/Java/TestSuite.config b/Java/TestSuite.config new file mode 100644 index 0000000..cb6c1d0 --- /dev/null +++ b/Java/TestSuite.config @@ -0,0 +1,4 @@ +#TestSuite runtime config +#Mon Mar 21 12:09:34 CET 2016 +TestSources=C\:\\Eclipse\\workspace\\Final02\\tests +TestClass=Main diff --git a/Java/TournamentSort/TournamentSort.iml b/Java/TournamentSort/TournamentSort.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/TournamentSort/TournamentSort.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/TournamentSort/build.xml b/Java/TournamentSort/build.xml new file mode 100644 index 0000000..ecfa394 --- /dev/null +++ b/Java/TournamentSort/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project TournamentSort. + + + diff --git a/Java/TournamentSort/build/classes/.netbeans_automatic_build b/Java/TournamentSort/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/TournamentSort/build/classes/.netbeans_update_resources b/Java/TournamentSort/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/TournamentSort/build/classes/tournamentsort/Element.class b/Java/TournamentSort/build/classes/tournamentsort/Element.class new file mode 100644 index 0000000000000000000000000000000000000000..de87ad87b1c8e2f4830ceb97a8c4f5dffb1a5130 GIT binary patch literal 1902 zcmZuy-%}e^6#g#RWJ6dA1j>&>ZLlp30g|dzG07-@p6@;0KDuVXW1l*%$hCx@KE!%?L8)?7bI705|&x1%$F^f8SO>S-1utI+zo?U zH*LoWzexs3sG1b^(bqlO$*r1hrMg3GG1GlwZab8aCB16VtJy-lCq3H4H8^FoW;s^z ztdg(8*|(Ul62EHHLmXKbb$p_5wOZTCx|Ua_UVGUhW!kU`*1qM;x^C4oJ-h0XTTj!4 z%llTXW>+j;nF!+V+oFvTikcNB2Cid7$EOB9!{-K47&h=Kt{S)|<`rBqFo6+;-j_GV zKn^z*I{z<#uSu}RqFiv88eKLq){jU+>3dm)iL3@rK zaSiBnQMv;RWR4Mkbc9wRbhh+qMIf{;Ax7H=9sMLUKs!hhL&#Fab85K|M3%8sxc?$A z<-CU={-iV!eklbY`o#@4keCq|{^9`B$7mxCV{z~YYAr~{J1Y&eAK?O_eXIU?*?CmX ze`MtVYnJkZJ=OUzJAIVb`8r3);|AWQogvD*lzxRmtr4H#Pciozk-mo4eK|{Ka+dg? zgUBhI3`B-ba7D-DU(`a$lVddJLv_$g?$9f|L)(J8{{q>ab+iBg literal 0 HcmV?d00001 diff --git a/Java/TournamentSort/build/classes/tournamentsort/TournamentSort.class b/Java/TournamentSort/build/classes/tournamentsort/TournamentSort.class new file mode 100644 index 0000000000000000000000000000000000000000..26f1176891f9598a94c785e6226ab4c9817d7624 GIT binary patch literal 997 zcmZuw+fEZv6kTUJ?R17I6lwu0P!TT$k*bKd5=}IiG^v-Q1Y>+U9Y#7hoi@YN1V6_Y zpM?aBCVqe);#U}TooNM1=)>99*=y}}PJjOS_5;8&Di$)BvtZ-0i7U8j(z|A%gn8vH zSg>$ig^S9&VPHwwIRj+_HwBVTQ?@z+leMVb4FlP7gJ`E6M&&i%RenVvC4-N$=?jP| zgHpqd)7DC;HBI(~l(t4?Ugeda07xj`OF3fjgPayF)sGjPksZ7kau#)yGCHdb)gMi!$s z?x~&?+_&)n56Sy%Ed{1e6$SwXvd7!LY;3zuG?1$A?nJKIs@-KF-;>5`mtRqri0Zhq zMeTC&jKQ>k(NRr4Ma`E^Xxc-GHBHOS&9#ObPzb$LRVthBJl{W&s$!NeD#KT&@d;4{ zdX^G^RtN7KIiBYjm1zZSa^Vo-3mpx4o~bygVVu6*Yrq618JReb0yFC4$Lv-gXTCz) zLt+p50g}f=;F;zS^Te + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/TournamentSort/nbproject/genfiles.properties b/Java/TournamentSort/nbproject/genfiles.properties new file mode 100644 index 0000000..1f4a253 --- /dev/null +++ b/Java/TournamentSort/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=37bfb76a +build.xml.script.CRC32=32da6daf +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=37bfb76a +nbproject/build-impl.xml.script.CRC32=70e6b3e6 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/TournamentSort/nbproject/private/private.properties b/Java/TournamentSort/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/TournamentSort/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/TournamentSort/nbproject/private/private.xml b/Java/TournamentSort/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/TournamentSort/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/TournamentSort/nbproject/project.properties b/Java/TournamentSort/nbproject/project.properties new file mode 100644 index 0000000..cb99db4 --- /dev/null +++ b/Java/TournamentSort/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/TournamentSort.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=tournamentsort.TournamentSort +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/TournamentSort/nbproject/project.xml b/Java/TournamentSort/nbproject/project.xml new file mode 100644 index 0000000..602b145 --- /dev/null +++ b/Java/TournamentSort/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + TournamentSort + + + + + + + + + diff --git a/Java/TournamentSort/src/tournamentsort/Element.java b/Java/TournamentSort/src/tournamentsort/Element.java new file mode 100644 index 0000000..afe7887 --- /dev/null +++ b/Java/TournamentSort/src/tournamentsort/Element.java @@ -0,0 +1,60 @@ +package tournamentsort; + +import java.util.Random; + +public class Element { + + private int füllung; + private Boolean gefüllt; + private Element mum, dad; + + public Element() { + gefüllt = false; + mum = null; + dad = null; + } + + public Element(int f) { + füllung = f; + gefüllt = true; + } + + public void addEbene() { + if (mum != null) { + mum.addEbene(); + dad.addEbene(); + } else { + mum = new Element(); + dad = new Element(); + } + } + + public int fillEbene(int anzahl) { + if (mum != null) { + anzahl = mum.fillEbene(anzahl); + anzahl = dad.fillEbene(anzahl); + } else { + Random r = new Random(); + if (anzahl > 0) { + mum = new Element(r.nextInt(100)); + anzahl--; + } + if (anzahl > 0) { + dad = new Element(r.nextInt(100)); + anzahl--; + } + } + return anzahl; + } + + @Override + public String toString() { + String eleS = "\n Element: " + this.hashCode(); + String füllS = (gefüllt) ? " Wert: " + füllung : " ungefüllt"; + + String mumS = (mum != null) ? mum.toString() : " mum: null"; + String dadS = (dad != null) ? dad.toString() : " dad: null"; + + return eleS + füllS + mumS + dadS + " z"; + } +} diff --git a/Java/TournamentSort/src/tournamentsort/TournamentSort.java b/Java/TournamentSort/src/tournamentsort/TournamentSort.java new file mode 100644 index 0000000..57ee0a5 --- /dev/null +++ b/Java/TournamentSort/src/tournamentsort/TournamentSort.java @@ -0,0 +1,23 @@ +package tournamentsort; +public class TournamentSort { + private static Element champ = new Element(); + private static int anzahl = 10; + + public static void main(String[] args) { + baueBaum(); + System.out.println(champ); + } + private static void baueBaum() + { + int anz = 1; + while(2 * anz < anzahl) + { + //fügt eine komplette ebene an + champ.addEbene(); + anz *= 2; + System.out.println(anz); + } + champ.fillEbene(anzahl); + } +} + diff --git a/Java/Verzeichnisgröße/build.xml b/Java/Verzeichnisgröße/build.xml new file mode 100644 index 0000000..0289144 --- /dev/null +++ b/Java/Verzeichnisgröße/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Verzeichnisgröße. + + + diff --git a/Java/Verzeichnisgröße/build/classes/.netbeans_automatic_build b/Java/Verzeichnisgröße/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Verzeichnisgröße/build/classes/.netbeans_update_resources b/Java/Verzeichnisgröße/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Verzeichnisgröße/build/classes/verzeichnisgröße/Verzeichnisgröße.class b/Java/Verzeichnisgröße/build/classes/verzeichnisgröße/Verzeichnisgröße.class new file mode 100644 index 0000000000000000000000000000000000000000..165d11c2233d607342796aa3d1ec4ecba2598f26 GIT binary patch literal 1594 zcma)6OK%fb7(F+hHv=I~oZyDG?jvBQ5Yy1QtwSLRG$pACG^QzmJ~Bxr&d~8g;|UUM zS|Rq`WWy>Fo2;s;ES#!Hs1m!X>Z0NopaP&iSr?d-}^m z04L#C=ta)Ndw5^R2L|#MVi>WIz$ptK;QMKa$IYTt1fY z^Kv&Smnj{e=qLzir@V?6o)(CuGqVE9+3J!j&{^;*?(}MT!3{1u3qCFJLUqycXPv;4 z=ax|kSG>Bw(ZUTkxaE3_D;2L^3LZ5ct-IOTHq!{xmmRMn(3`$ixbEC=vc6L(Ws70p zRZ1gKc_%0_VfPE%0>-lEyG8Go>?Yle_o~?m8b>BGQv$-{Z<0kMPT;^^2z|=}s=MG; z=v3-a9>Flhcilj~U|UCoFBiOeNIqH(ZPydnUkshaZ!S2shzcDSD36Y;fK{xn28*t2 zOQ5fvg&|qSMjsC8n6_~dmjvvnbSpU<9g_Y}ZM=>*bj;W&;<5mk?)etSS3Q5p4QzY{ zil=U^-A<)!e2yy=c57{IYwbH5bGT~b8osdcC9cR^O#GERevNs7f&V3)z`>o;7Z2sVU)J)6IJ5mN{3|RbmtWigAfzhs3*1nFEn%3HkgWbZ;}V3ofA7WU$W(Qqog$ zUNomxb1O>%$6u7EP0rzX_?dl*fq%6$Ji4nKf7w+Sn$G_Wsjb7^3IUfDo$ zkK@3$C!tu?tIMCf0Pz-h%|Td z^B5U=1?$PExA@fX2ae%5)tkX>3~>llRtJV*JcX&~cv~DvJc0U*of + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Verzeichnisgröße/nbproject/genfiles.properties b/Java/Verzeichnisgröße/nbproject/genfiles.properties new file mode 100644 index 0000000..e6250b7 --- /dev/null +++ b/Java/Verzeichnisgröße/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=712d7faf +build.xml.script.CRC32=3ce0fa0f +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=712d7faf +nbproject/build-impl.xml.script.CRC32=4b96c8dd +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Verzeichnisgröße/nbproject/private/private.properties b/Java/Verzeichnisgröße/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Verzeichnisgröße/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Verzeichnisgröße/nbproject/private/private.xml b/Java/Verzeichnisgröße/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Verzeichnisgröße/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Verzeichnisgröße/nbproject/project.properties b/Java/Verzeichnisgröße/nbproject/project.properties new file mode 100644 index 0000000..e980dd3 --- /dev/null +++ b/Java/Verzeichnisgröße/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Verzeichnisgr__e.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=verzeichnisgr\u00f6\u00dfe.Verzeichnisgr\u00f6\u00dfe +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Verzeichnisgröße/nbproject/project.xml b/Java/Verzeichnisgröße/nbproject/project.xml new file mode 100644 index 0000000..422ead4 --- /dev/null +++ b/Java/Verzeichnisgröße/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Verzeichnisgröße + + + + + + + + + diff --git a/Java/Verzeichnisgröße/src/Verzeichnisgröße.iml b/Java/Verzeichnisgröße/src/Verzeichnisgröße.iml new file mode 100644 index 0000000..c42166f --- /dev/null +++ b/Java/Verzeichnisgröße/src/Verzeichnisgröße.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Verzeichnisgröße/src/verzeichnisgröße/Verzeichnisgröße.java b/Java/Verzeichnisgröße/src/verzeichnisgröße/Verzeichnisgröße.java new file mode 100644 index 0000000..6572bf4 --- /dev/null +++ b/Java/Verzeichnisgröße/src/verzeichnisgröße/Verzeichnisgröße.java @@ -0,0 +1,44 @@ +package verzeichnisgröße; + +import java.io.File; +import java.util.Arrays; + +/** + * + * @author Hannes + */ +public class Verzeichnisgröße { + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + // TODO code application logic here + System.out.println(fileSize(new File("."), 1)); + } + + private static long fileSize(File f, int ebene) { + long size = 0; + String leer = ""; + for(int i = 0; i < ebene; i++) + { + if(i + 1 != ebene) + leer = leer + "\u2502 "; + else + leer = leer + "\u2514\u2500"; + } + + File[] fList = f.listFiles(); + for (File file : fList) { + if (file.isDirectory()) { + size += fileSize(file, ebene + 1); + System.out.println(leer + file.getName()); + } else if(file.isFile()) { + size += file.length(); + System.out.println(leer + file.getName()); + } + + } + return size; + } +} diff --git a/Java/Wettbewerb_CSV_Foto/Wettbewerb_CSV_Foto.iml b/Java/Wettbewerb_CSV_Foto/Wettbewerb_CSV_Foto.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Wettbewerb_CSV_Foto/Wettbewerb_CSV_Foto.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Wettbewerb_CSV_Foto/build.xml b/Java/Wettbewerb_CSV_Foto/build.xml new file mode 100644 index 0000000..49b11e7 --- /dev/null +++ b/Java/Wettbewerb_CSV_Foto/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Wettbewerb_CSV_Foto. + + + diff --git a/Java/Wettbewerb_CSV_Foto/build/built-jar.properties b/Java/Wettbewerb_CSV_Foto/build/built-jar.properties new file mode 100644 index 0000000..d15c599 --- /dev/null +++ b/Java/Wettbewerb_CSV_Foto/build/built-jar.properties @@ -0,0 +1,4 @@ +#Sun, 03 Nov 2013 16:55:50 +0100 + + +C\:\\Users\\Hannes\\Documents\\NetBeansProjects\\Wettbewerb_CSV_Foto= diff --git a/Java/Wettbewerb_CSV_Foto/build/classes/.netbeans_automatic_build b/Java/Wettbewerb_CSV_Foto/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Wettbewerb_CSV_Foto/build/classes/.netbeans_update_resources b/Java/Wettbewerb_CSV_Foto/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Wettbewerb_CSV_Foto/build/classes/wettbewerb_csv_foto/Camera.class b/Java/Wettbewerb_CSV_Foto/build/classes/wettbewerb_csv_foto/Camera.class new file mode 100644 index 0000000000000000000000000000000000000000..6a7787986ce1f80e92a576a05fbb769434e25a5c GIT binary patch literal 2707 zcma)7+jkR19R4PkW}9v)hSJgt7*HThFX5(O3utKts-YBvAfT2_vZM>SvDvhM7rdZ& z7e!R`#dCb{c;tA{BSG!a!?S;q59l|$Tbh_ueb|}VncwyMeZQGM?*95afUUS5#6}zn z;He-yIMj>{NXX%^9G(txI3f>@DtJcD$69b4C*<&K0M7;Rd=SfUNDk8qPRdzRkd$*O zh*qTKN|&os3Nk^=z))~n!I>bk$jN-%O#i3d|r%u;gYrfY|`%1UyDs zKuieu@>)(82*popvsx^xEGIQw6IKn~-Klc1sUCjl5y)7U+mf)JM>Fgz=3P z(zMI2XWq0cA9u zwxtPdq~4L8by2fs7@CzU((jaUPR}x{6Ac~Pr_4&xW;3qY)l6V%;AxklOgW?91EF&v z<+>VgYkcxwl?^5eWizGkHDs+?9O#E6$5d>>1%VYd-)g<77{H*42>Mh+(XS$o11es? z4gsim5ib!w6))qWidXQeK-ZEv3UvOH&wI*7Hm#c~Uc>9;e>f~xmsqC}6>nfz#hbV+ zx873mHZBV+%aRL2CB3MbnpH3Zct^#%c#jH0{03M|74PGNC8Ds4qT)kbQSlKzR&f=d zFzIl%pr!S6SPSR%xv*WW0IsR{6yqvB!{-9sjdF6}6Ii~O)WPIwJ!REwIep7sUW9hS zBI6mo&2rgICF26?p^)nCen(At7vxE&z>HR!)X&ic8|1jWDD0ow-f*IjjjR=mdY*U6 zU?WD?k=!i?6?-ES_06_;tXPGGw1TATXtHE!(hXx8m&)V+rrbgeYU|~4o^-DQFLAzP z={fR}0#jz8sGAo1a>M@$T|#5(#jKVhkmJ=VV>6nW(9f3jd`cgwO1WmgK3*F1#Yqc+ zzG`dkE$qtIHj0eFD%dx%KqPXa%9&e{z6N_ltx#q?-P_zK#HM)B+X!hnnsi#ScAJih zQYf3Jww7j)HCNVxx8qpL*KH#oK`&n!HZWHn*~9kCu7<#ny^f)Y>rL3qaSL~5sNv<@ z9lZ?^ormYxZFq0N7wx$Pe{|p$ntrhLwsP!%pJNa{G@}hIXy>ia#rJL-cf*bqJcNh& zM|*Y@yg0a$ad_x&J9fBUw{VtcO0wX#XdU*=V;M7Q>#txr#hN&U?sL}u3PQd7LM!-R zL3_MPw2SsuR?xB3S?3aGp;bSl%Qe^QJ9%~2H-F{&L*1dC3g5*3n~d0NXE{XlK>WN| z$viq(y-r@Xt5}ULTq0s$q6c507hhvFZeWd#MwGa(#YK!@Cs)kf#l?&7u!{)up~AP= zjYo;(V?1wz=Pp_U7!?8R`4iVDFotmlKpOViM)u94mH4ba;QbA2CI<-9{eu;R?_llZ zk67m-;sVD>VitP9Nw9(kW%ULsSbubpBi*bZunr2=lNlSB%SJ{Q!CtaJ@8zsm9li+p;NQ{FC(bOJ>QcRdaKD6*v8^J*T%OsdUhmp86Z( C#C2c* literal 0 HcmV?d00001 diff --git a/Java/Wettbewerb_CSV_Foto/build/classes/wettbewerb_csv_foto/Image.class b/Java/Wettbewerb_CSV_Foto/build/classes/wettbewerb_csv_foto/Image.class new file mode 100644 index 0000000000000000000000000000000000000000..6719b888fb887776ae676728da8289eeab455e9c GIT binary patch literal 4255 zcma)9TXz%J75+vu(nw-#1VqNh7f89uvcX(}8w}WBJH)2u5=5X*LSZBglE9XXE|^P8 zNeU%RLTI5kN?VgOExpi^q`_u|wYvJ$hrabkboHSx?NirESL=TJj4T^a-9G4?Gv}PW z_qV@&nb9Br{ps%jY{qYcScCBZR^zM;=Ym**^DnQ$GQ1(f z*JSUqT)85{*8{kUH)ZvWAl|~;Cf*S><0h^J5tjK~6W4>N$2Wsmif_ry8?w47t8WLX z@jD{$T@&9E1>cwLTXNwCvbt^JhbDfc!8@Kw7SkHEK@GmNlS!qE8caK0DB9U1xBE5t z3&p%sDrHl=u|1Q`6uUL(k=DZ+jJ{mb(XenRlXdo$M&nNYkR2c4&f=k5!X7zn=QHwL z-ZYBoOhH5A(7019#+`8|A3v5ToH=$PSIl(`j@l__n}$FklNz=AGX=tEi1ZJgw9nWb zrDA5JV^=gm(gG)OZh~)kVq3bl^SDvZOVqLYNiAc z);*5?+}Ml10Mj>-vrlFioqpf9qBX%~` z5i901+0?eys@4fI&tHr`W}p_=;3;rua4*l1?=59Ul1^SiPdnuRXP8?1UpSj^#)_F- zmS@J8E&0CqDRG|p6{{*gJaHPWcP~*#Z|TGdC+{Q=I<}Zl)$?Q4q$rBE0++qrpdrUBvW5GJRGtx+csxPdUE?{9D)>~MMh=o=e_8@0r0(Y1T)jEnYYM~GP zCf>8~K7L}M9c>o&VxNWmG8~X0Dto)}qJ`(M#l!~|eu|%2$fIE5u7#iD7aEpSX+s*8 zs@83it{{NP&r6l?%lp^I{h8{`g5J!Enska;uQNo#9~pLr#vYjX`>@&-JTgj{(f z57o>ZQZw_5b1gKoU2N-Q(qFf4vcHFdO_+ zFxRGLSEmwNjmtjm?)0b8dZVK0YVINY4-gQ11_a+4Wpfd9EXFhZq*%_egWn)KQOD$4 z%u=dH0u2iL08E}o(TUG<)q!Pro-04UMh3B!WcdVr*)v&nkuV`AiEY?U3pz_+2lotg zbJt};&U$#VlRM<E+zp_6dUR{3R=kG*=6_wLrGq zMfy0G7WXXKa~J93S4qI0*858PYZ*as@u2Ndso0T8Dk_RQg3&U(n}PD&`=y~6v(GVcSt z%htnDe7i`!I_DOFxFgy&h1w{+sNrJa#|T9yv1k&D1+lJjs!lP{#<88c*Aex4G*gr0 z{|Z-A1!GGYqnA0hhaSwuC})Dv&4mH3zJMVYlQu!VrCP2(!jj=BJhNBt*1C*G2=k$? z%limRhaaJSm=GJLu&j$UVoag&7WOqT5>2Xx!v5Q6 zXnzFXaC6ufHp8s4mPsr>a#?509^OSwmzM-Icqj2}w0#PnYyXfSYjA;-tsrTVVEgF4 z{CV)R)PpSc8m3VlgSD2syrUzepv{eTOFX13VaEVVb98w{zsIj{#bl?tFHHS9eK}%GUt692ed7-Ph(=hJo z_x6(Nb~3Hsqf*e7EhKrf>Y$QULiTzr;P?_rImrGJWA8e|*8Vbk)?pHNgtvz&^(t%n zHPU`mk=f1L8>um&>c>Z*Ns{NGd@G4|sJWAwCKQU*o(hFMiX^v!mP+T^tZCD9)T4Mg z3bJyHtn$50LGfOcii#C1n3XrSH-=VBO#h=X6quO)dt)d#G5y!ZP|d{jpBwM-j_Xb> zXNk6tT3V1%aO+$hd>ZDNk4^X_HM=l$&N#(wgNqfs$PW#UV*EO1=?<&g9%9uFy}LOS zOg9}5ZAf;zv1kfycn^W5(AE#8|I$2*z->NbjM{1DR{@Jqx8Cf)ajbUb;3 zY8b03%p`eS`1Pv7rz^tG(Ue#Y(y}hr(@$!+GDkzOVxFIplykAW8U%aI{U^-7Ge>w9 Td$Fo;;7Q?|RfS8+#F_s96{}L~ literal 0 HcmV?d00001 diff --git a/Java/Wettbewerb_CSV_Foto/build/classes/wettbewerb_csv_foto/Pixel.class b/Java/Wettbewerb_CSV_Foto/build/classes/wettbewerb_csv_foto/Pixel.class new file mode 100644 index 0000000000000000000000000000000000000000..fe7dc5148a9ee312a6d67502641d6e27ef845e29 GIT binary patch literal 453 zcmZ{g%}&BV6ot=}+Cr^>NL2*<*+Cbw(4EGGCK?i=#u~PyEhCm7O-cb@%LOrU;RE`2 zuIG8}zJPue52Zk<7ft2u{3VddqaRGTQ|ZN_Kk55Pr1HN_J$;U50`=ZfrfDFTG6@FZ zY%zF>)3|dVy~@d%fEEpTU6*>GZm3HE%ZukpD6b>MwzAUWvA^(btmD9jiM)-1G7EWu z+P{2(vTEy0{OPE37mQ_?3glYtK92ZugMX5vh@(Rhvz1V;oP@X8^bKZ9XzTzS_Z`A* ztf0Bg6>_elub{v2KtqwfofR3-301fvy~-&|JUjgbpo~psM4^H$;#E{-t(HX&BQ=ym NR-PPz9cCJKe*pPONKgO( literal 0 HcmV?d00001 diff --git a/Java/Wettbewerb_CSV_Foto/build/classes/wettbewerb_csv_foto/Wettbewerb_CSV_Foto.class b/Java/Wettbewerb_CSV_Foto/build/classes/wettbewerb_csv_foto/Wettbewerb_CSV_Foto.class new file mode 100644 index 0000000000000000000000000000000000000000..6f07ecaa2190b3ce66e46bc6333ed9551e696e68 GIT binary patch literal 4997 zcmbVPd3;n?75;8A$=pmH37rBBDYZivNP;BI3ML^fBp_)*Km(+-qx5Cwkqnu<8Q#1h z1+3bN+QkKT#HDmmP_VM-BsSXCr7m^XT9>-E`tyJP^jEFleQ#cv*F^0=n0xOz_nvdl zIrrRqzW40EpLh~LEB+S35RQbf4R2G;-4bt?c!wIkGl+X6?hPS`cU6!+s+xC8yeEVK zyte}P;eLq+LU<7GlX$;c_5q0xs>x##ACma6#787PD)BLik4t<);<&^oB~D0uO5)QJ zpON^i#6uD%B_5V|MB-72$0R-{@p*|;5~n4;An`?sGZJSdz7)jcA++GjsyU~c^Fdq) z;$jHva75xOs{g9u=hSFAgbvIE@wE_oFeCAV#B7LGe_hevPD~1zerfz2~L!fn`HQoP9dk-~~cPGq*-NTLQ>UYzq z-c+2rss|IMF_fJgHLRWbXp)@pU@E33ck5O{(RpUT9#3Qh>KEK(fb(Rq;fZ{+v6&F&iNHOD$?^klXL@qK0` zjd#pY2P3d0Z@k}>1&<-0N%cO}bGDZ=y_je;raP9*XF_N=m9=7q@=>5>fn#h`&S=<$ z-5PY&7+{!cdOM@LGKQ6jZq-fG$VB^$%!HjvM|p0ktewuGY(AUnqekyUYnQHDyMel!>V1G2$A2iRXC1{=YI6%jW1n z^QJ^H-mKIXE!A>aQmvOI)pl7@?XJ`^_fkdN&_|l{v3ku8w?qe8iVu?~Ra}@nsp7)q zNfj3+Pio;XwGromQ27`DV*XSrG>w5Q#)gV=AIba%V)tZ}3|Uzrza} zey^Hcs!W7E{i;a1#gxUyfjE7vo#UCvPx~1DGOT!=VN43?TH2fKV(U8SK79*wEHq1z$ZtD>{6;Zoscu|$ymsImt)nxI4 z=dd3i65}jXWfv&u0*fz&X8Y)VBWC+pEjL`jJsHm8;luhgS!4a@NuA5 z-X_9`M8<_TM7=a{k&6q5j478}uBX$6NsrbRdgN_1F9i8CqT$utm8YFbW^H4KgZ!4% z6&jFNLAYh7+%a)1Wp-Gpv|-tY1XjJK9l2FQ;lkc=-5NFyWDPTBbX|gab1*NENgO7a zqql^}W&4uZ3_)pGESbuXTkXWv!Oc4@J!W7fzhZ{?F;@bqpch9{p)UvwJKUZ8oDmBC zu^l0&iM?Q7)-Vlm-dS=R+j55~v4>;LU4Ywh2dN4~@fNCA!hP(OaMcV-W>6Xqgv(}7 zeo0Fh0X2(KR8!+(EW#B98msVD?B)EO`~|3|gSrVxIa0dsL7AhwZ5F{jrC~XZii-#Z zx@zU4sJ(zn#jXu&WaqGGoB0wph_TKp4Nb4YOPnp4tFSNTsod;y{G6*+{}URQE2no^p>lBW?2 zFLl^+KlwU8d96cMg(I%Yvb@Tb?kbPG z&QD(NCvWhRH#%fhc$KTNJg;)KyUHW${A9hKY{=_a0? zWL3DCD%IHw=j`uAgyR*w0M{`0uH|0@jl3Wma2*D5J+t`+p86_SSj}v!!!gw3AvEA| zW=IZe@eEf##|!cjZo)s%ECgCa1=>Un+Qn*ghz_h1o3UPOL#K$MOH80!9L5H5KYGM* z+$>Jw7N!tCncUkV?q-&k(W3LSXxY=SW*V*A=ycl&)Uj(nft9o9*fWcDd#15I{DvGl z$?js8L-#Z`JT;3RZ4t4<)(pwlp#{P}`Z9N4!#J>ML1KNSpIK$SxR+|`5pcf%N0X5i6 z{#L#{41{0uMMSw1A^_=KpZrH9uu#UoMIFTnM; zVH^qWahBA6OmM_-QR^goH8MHkCn-)*D$TH}3%d$sFQX%f1OLMMAS~Y8$Sb_}r9otz z{|6v~umiqlh9%lP6#7uYKcKRK0lig4tl=EV5+{Q~&eWaGyQIur<}P)NB#BB)(P&Yi jTH-G6$zX;#PlkG`26(1}7g2dBIo$`glER0a?GFD3vXN&j literal 0 HcmV?d00001 diff --git a/Java/Wettbewerb_CSV_Foto/manifest.mf b/Java/Wettbewerb_CSV_Foto/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Wettbewerb_CSV_Foto/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Wettbewerb_CSV_Foto/nbproject/build-impl.xml b/Java/Wettbewerb_CSV_Foto/nbproject/build-impl.xml new file mode 100644 index 0000000..bd0f65e --- /dev/null +++ b/Java/Wettbewerb_CSV_Foto/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Wettbewerb_CSV_Foto/nbproject/genfiles.properties b/Java/Wettbewerb_CSV_Foto/nbproject/genfiles.properties new file mode 100644 index 0000000..0c53541 --- /dev/null +++ b/Java/Wettbewerb_CSV_Foto/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=5b80c486 +build.xml.script.CRC32=e37daf22 +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=5b80c486 +nbproject/build-impl.xml.script.CRC32=25e1bfbe +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Wettbewerb_CSV_Foto/nbproject/private/private.properties b/Java/Wettbewerb_CSV_Foto/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Wettbewerb_CSV_Foto/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Wettbewerb_CSV_Foto/nbproject/private/private.xml b/Java/Wettbewerb_CSV_Foto/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Wettbewerb_CSV_Foto/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Wettbewerb_CSV_Foto/nbproject/project.properties b/Java/Wettbewerb_CSV_Foto/nbproject/project.properties new file mode 100644 index 0000000..c35c38a --- /dev/null +++ b/Java/Wettbewerb_CSV_Foto/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Wettbewerb_CSV_Foto.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=wettbewerb_csv_foto.Wettbewerb_CSV_Foto +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Wettbewerb_CSV_Foto/nbproject/project.xml b/Java/Wettbewerb_CSV_Foto/nbproject/project.xml new file mode 100644 index 0000000..5eeb775 --- /dev/null +++ b/Java/Wettbewerb_CSV_Foto/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Wettbewerb_CSV_Foto + + + + + + + + + diff --git a/Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Camera.java b/Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Camera.java new file mode 100644 index 0000000..1274367 --- /dev/null +++ b/Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Camera.java @@ -0,0 +1,57 @@ +package wettbewerb_csv_foto; + +import java.util.ArrayList; + +public class Camera { + + private int id; + private String name; + private ArrayList images = new ArrayList(); + public Camera(int id, String name) { + this.id = id; + this.name = name; + } + + public int countImages() { + return getImages().size(); + } + + public String writeLine() { + String s = ""; + short i = 0; + for (Image image : images) { + s = s + this.name + " " + this.id + i + ";"; + s = s + image.getAbstand() + ";"; + s = s + image.getStreuung() + ";"; + s = s + System.getProperty("line.separator"); + i++; + } + s = s.replace(".", ","); + return s; + } + + public void AddImage(String path) { + Image tmp = new Image(); + + + Pixel[] Pixel = new Pixel[0]; + Pixel = tmp.Load(path).toArray(Pixel); + System.out.println(this.name + this.id + " loaded a new Image"); + getImages().add(tmp); + + } + + private Image avgImage() { + if (getImages().size() == 0) { + return null; + } + Image avg = new Image(); + return avg; + } + /** + * @return the images + */ + public ArrayList getImages() { + return images; + } +} diff --git a/Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Image.java b/Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Image.java new file mode 100644 index 0000000..0dbaffa --- /dev/null +++ b/Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Image.java @@ -0,0 +1,149 @@ +package wettbewerb_csv_foto; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; + +public class Image { + + private int width = 0, height = 0; + private double abstand, streuung; + + //Streuung + private void sigmaDist(double durchschnitt, ArrayList pMap) { + double s = 0; + for (int i = 0; i < pMap.size() - width; i++) { + Pixel p = pMap.get(i); + Pixel q = pMap.get(i + width); + s = s + ((pixelDist(p, q) - durchschnitt) * + (pixelDist(p, q) - durchschnitt)); + } + streuung = Math.sqrt(s / (pMap.size() - width)); + } + + private double pixelDist(Pixel p, Pixel q) { + double d = Math.sqrt((p.r - q.r) * (p.r - q.r) + + (p.g - q.g) * (p.g - q.g) + + (p.b - q.b) * (p.b - q.b)); + return d; + } + + private void avgDist(ArrayList pMap) { + double d = 0; + for (int i = 0; i < pMap.size() - width; i++) { + d = d + pixelDist(pMap.get(i), pMap.get(i + width)); + } + abstand = d / (pMap.size() - width); + } + + private void compute(ArrayList pMap) { + int size = pMap.size(); + avgDist(pMap); + sigmaDist(abstand, pMap); + System.out.println(getAbstand()); + } + //Lädt Image und gibt Farbspektrum zurück (um speicherplatz zu sparen) + + public ArrayList Load(String path) { + ArrayList pixelMap = new ArrayList(); + int i = 0; + BufferedReader br = null; + try { + + StringBuilder sb = new StringBuilder(); + br = new BufferedReader(new FileReader(path)); + + if (readHeader(br)) { + while (br.ready()) { + short r = (short) readInt(br); + short g = (short) readInt(br); + short b = (short) readInt(br); + if (r >= 0 && g >= 0 && b >= 0) { + pixelMap.add(new Pixel(i, r, g, b)); + i++; + } + } + } + + } catch (IOException e) { + System.out.println(e); + } + + compute(pixelMap); + return pixelMap; + } + + private boolean readHeader(BufferedReader br) { + try { + char c1 = (char) br.read(); + char c2 = (char) br.read(); + if (c1 == 'P' && c2 == '3') { + width = readInt(br); + height = readInt(br); + int maxVal = readInt(br); + return true; + } else { + return false; + } + } catch (IOException e) { + System.out.println(e); + return false; + } + } + /// Utility routine to read the first non-whitespace character. + + private static char readNonwhiteChar(BufferedReader bf) throws IOException { + char c; + + do { + c = (char) bf.read(); + } while (c == ' ' || c == '\t' || c == '\n' || c == '\r'); + + return c; + } + + private int readInt(BufferedReader br) throws IOException { + char c; + int i; + + c = readNonwhiteChar(br); + i = 0; + do { + i = i * 10 + c - '0'; + c = (char) br.read(); + } while (c >= '0' && c <= '9'); + return i; + } + + public int getWidth() { + return width; + } + + /** + * @return the height + */ + public int getHeight() { + return height; + } + + public int getPixelCount() { + return height * width; + } + + /** + * @return the abstand + */ + public double getAbstand() { + return abstand; + } + + /** + * @return the streuung + */ + public double getStreuung() { + return streuung; + } +} diff --git a/Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Pixel.java b/Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Pixel.java new file mode 100644 index 0000000..6c2dd2e --- /dev/null +++ b/Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Pixel.java @@ -0,0 +1,11 @@ +package wettbewerb_csv_foto; + +public class Pixel { + short r,g,b; + public Pixel(int id,short R, short G, short B) + { + r = R; + g = G; + b = B; + } +} diff --git a/Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Wettbewerb_CSV_Foto.java b/Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Wettbewerb_CSV_Foto.java new file mode 100644 index 0000000..6c5df58 --- /dev/null +++ b/Java/Wettbewerb_CSV_Foto/src/wettbewerb_csv_foto/Wettbewerb_CSV_Foto.java @@ -0,0 +1,99 @@ +package wettbewerb_csv_foto; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; + +public class Wettbewerb_CSV_Foto { + + static Camera uCam; + static ArrayList cam = new ArrayList(); + + public static void main(String[] args) throws IOException { + LoadCameras(); + LoadImages(); + createCSV("C:\\Users\\Hannes\\Desktop\\", "output.csv"); + } + + public static void LoadCameras() { + uCam = new Camera(0, "Unbekannt"); + for (int i = 1; i <= 5; i++) { + cam.add(new Camera(i, "Kamera")); + } + System.out.println("Cameras added!"); + } + + public static void LoadImages() { + uCam.AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kanne.ppm"); + System.out.println("Unknown Image Loaded"); + + cam.get(0).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera1\\K1Bild1.ppm"); + cam.get(0).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera1\\K1Bild2.ppm"); + cam.get(0).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera1\\K1Bild3.ppm"); + cam.get(0).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera1\\K1Bild4.ppm"); + cam.get(0).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera1\\K1Bild5.ppm"); + System.out.println("Images Camera 1 Loaded"); + + cam.get(1).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera2\\K2Bild1.ppm"); + cam.get(1).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera2\\K2Bild2.ppm"); + cam.get(1).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera2\\K2Bild3.ppm"); + cam.get(1).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera2\\K2Bild4.ppm"); + cam.get(1).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera2\\K2Bild5.ppm"); + System.out.println("Images Camera 2 Loaded"); + + cam.get(2).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera3\\K3Bild1.ppm"); + cam.get(2).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera3\\K3Bild2.ppm"); + cam.get(2).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera3\\K3Bild3.ppm"); + cam.get(2).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera3\\K3Bild4.ppm"); + cam.get(2).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera3\\K3Bild5.ppm"); + System.out.println("Images Camera 3 Loaded"); + + cam.get(3).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera4\\K4Bild1.ppm"); + cam.get(3).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera4\\K4Bild2.ppm"); + cam.get(3).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera4\\K4Bild3.ppm"); + cam.get(3).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera4\\K4Bild4.ppm"); + System.out.println("Images Camera 4 Loaded"); + + cam.get(4).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera5\\K5Bild1.ppm"); + cam.get(4).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera5\\K5Bild2.ppm"); + cam.get(4).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera5\\K5Bild3.ppm"); + cam.get(4).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera5\\K5Bild4.ppm"); + cam.get(4).AddImage("C:\\Users\\Hannes\\Documents\\Fotos\\Kamera5\\K5Bild5.ppm"); + System.out.println("Images Camera 5 Loaded"); + } + + public static void createCSV(String path, String filename) throws IOException { + File file = new File(path, filename); + if (!file.isFile() && !file.createNewFile()) { + throw new IOException("Error creating new file: " + file.getAbsolutePath()); + } + try { + FileWriter writer = new FileWriter(path + filename); + + writer.append("Foto;Durchschnittlicher Abstand; Streuung" + System.getProperty("line.separator")); + + for (int i = 0; i < cam.size(); i++) { + writeLine(writer, cam.get(i)); + } + + writeLine(writer, uCam); + + + System.out.println("Written Data to File"); + + //generate whatever data you want + + writer.flush(); + writer.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + } + + public static FileWriter writeLine(FileWriter writer, Camera camera) throws IOException { + writer.append(camera.writeLine()); + return writer; + } +} diff --git a/Java/Wettbewerb_ForestFire/Wettbewerb_ForestFire.iml b/Java/Wettbewerb_ForestFire/Wettbewerb_ForestFire.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Wettbewerb_ForestFire/Wettbewerb_ForestFire.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Wettbewerb_ForestFire/manifest.mf b/Java/Wettbewerb_ForestFire/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Wettbewerb_ForestFire/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Wettbewerb_ForestFire/src/Main.java b/Java/Wettbewerb_ForestFire/src/Main.java new file mode 100644 index 0000000..9b44118 --- /dev/null +++ b/Java/Wettbewerb_ForestFire/src/Main.java @@ -0,0 +1,64 @@ + +import java.util.HashMap; +import processing.core.PApplet; + +/** + * + */ +public class Main extends PApplet { + + Map map = new Map(); + int recSize; + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + PApplet.main(new String[]{"Main"}); + } + + public void setup() { + recSize = 50; + map.load("C:\\Users\\Hannes\\Desktop\\map.txt");//scanner.next()); + size(map.getWidth() * recSize, map.getHeight() * recSize); + map.burnsIn(false); + } + // TODO: setup application + + + public void draw() { +//Drawing + Tile[][] tmpMap = map.getTileMap(); + for (int x = 0; x < tmpMap.length; x++) { + for (int y = 0; y < tmpMap[x].length; y++) { + switch (tmpMap[x][y].getType()) { + case 0: //Normaler Wald + fill(0, 255, 0); + break; + case 1: //Blockierter Wald + fill(120); + break; + case 2: //Feuer + fill(255, 0, 0); + break; + } + rect(x * recSize, y * recSize, recSize, recSize); + if (tmpMap[x][y].isExt()) { + fill(0, 0, 255); + line(x * recSize, y * recSize, (x + 1) * recSize, (y + 1) * recSize); + line((x + 1) * recSize, y * recSize, x * recSize, (y + 1) * recSize); + } + fill(0); + text(tmpMap[x][y].getScore(), recSize * x + 1, recSize * y + 11); + text((int) tmpMap[x][y].getRound(), recSize * x + 1, recSize * (y + 1) - 1); + } + } + } + + public void keyReleased() { + System.out.println("Key Released: " + keyCode); + if (keyCode == 39) { + map.next(); + } + } +} diff --git a/Java/Wettbewerb_ForestFire/src/Map.java b/Java/Wettbewerb_ForestFire/src/Map.java new file mode 100644 index 0000000..14db054 --- /dev/null +++ b/Java/Wettbewerb_ForestFire/src/Map.java @@ -0,0 +1,339 @@ + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; + +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +/** + * + * @author Hannes + */ +public class Map { + + private boolean burning = false; + private ArrayList closedList; + private int width; + private int height; + // private byte currentRound; + private Tile[][] tileMap; + + protected Map(int w, int h, ArrayList closed, Tile[][] map) { + closedList = closed; + tileMap = map; + + height = h; + width = w; + } + + public Map() { + closedList = new ArrayList(); + + width = 0; + height = 0; + tileMap = null; + } + + public void extinguish(int x, int y) { + tileMap[x][y].extinguish(); + closedList.remove(tileMap[x][y]); + // burnsIn(false); + } + + public void ext() { + int bestScore = Integer.MIN_VALUE; + Map _map = this.clone(); + _map.burnsIn(true); + int[] mainScore = _map.returnScoreArray(); + + int bestX = 0, bestY = 0; + for (int x = 0; x < tileMap.length; x++) { + for (int y = 0; y < tileMap[x].length; y++) { + if (!tileMap[x][y].isExt() && tileMap[x][y].getType() != 1) { + Map _tmpMap = this.clone(); + _tmpMap.extinguish(x, y); + _tmpMap.burnsIn(true); + + + int _score = _tmpMap.calcScore(mainScore, mainScore); + if (_score >= bestScore && (!burning || tileMap[x][y].getType() == 2)) { + bestScore = _score; + bestX = x; + bestY = y; + } + + tileMap[x][y].setScore(_score); + } + + } + } + System.out.println( + "[" + bestX + "|" + bestY + "|"+ bestScore + "]"); + + extinguish(bestX, bestY); + } + + public void next() { + nextRound(); + ext(); + } + + public void clearRoundList() { + for (int x = 0; x < tileMap.length; x++) { + for (int y = 0; y < tileMap[x].length; y++) { + if (closedList.contains(tileMap[x][y])) { + tileMap[x][y].setRound(0); + } else { + tileMap[x][y].setRound(-1); + } + } + } + } + + public void burnsIn(boolean ignite) { //Fehlder liegt vermutlich in dieser Methode + clearRoundList(); + ArrayList setThisRound = new ArrayList(); + ArrayList open = new ArrayList(); + for (Tile tile : closedList) { + if (tile.getType() == 2) { + open.add(tile); + } + } + int i = 0; + while (open.size() != 0) { + ArrayList _open = (ArrayList) open.clone(); + open.clear(); + for (Tile tile : _open) { + if (!contains(tile, setThisRound)) { + setThisRound.add(tile); + ArrayList _n = new ArrayList(); + _n.add(getNeighbour(tile, 1, 0)); + _n.add(getNeighbour(tile, 0, 1)); + _n.add(getNeighbour(tile, -1, 0)); + _n.add(getNeighbour(tile, 0, -1)); + for (Tile _t : _n) { + if (_t != null && !contains(_t, setThisRound)) { + tileMap[_t.getX()][_t.getY()].setRound(i); + open.add(tileMap[_t.getX()][_t.getY()]); + } + } + } + } + i++; + } + if (ignite) { + for (int x = 0; x < tileMap.length; x++) { + for (int y = 0; y < tileMap[x].length; y++) { + if (tileMap[x][y].getRound() == 0) { + tileMap[x][y].ignite(); + if (!contains(tileMap[x][y], closedList)) { + closedList.add(tileMap[x][y]); + } + } + + } + } + } + //System.out.println(open.size()); + + } + + public Tile getNeighbour(Tile t, int offsetX, int offsetY) { + if (t.isExt()) { + return null; + } + int _x = t.getX() + offsetX; + int _y = t.getY() + offsetY; + if (_x < 0 || _x >= tileMap.length || _y < 0 || _y >= tileMap[_x].length) { + return null; + } + if (tileMap[_x][_y].isExt() || tileMap[_x][_y].getType() == 1) { + return null; + } + + return tileMap[_x][_y]; + } + + private boolean contains(Tile t, ArrayList list) { + for (Tile tile : list) { + if (t.getX() == tile.getX() && t.getY() == tile.getY()) { + return true; + } + } + return false; + } + + public void nextRound() { + burnsIn(true); + //extinguish(5, 5); + //extinguish(4, 4); + //System.out.println("Score: " + calcScore(new int[]{5, 4, 3, 2, 1}, returnScoreArray())); + } + + public int[] returnScoreArray() { +// ArrayList list = new ArrayList(); +// for (int x = 0; x < tileMap.length; x++) { +// for (int y = 0; y < tileMap[x].length; y++) { +// int r = tileMap[x][y].getRound(); +// while (r >= list.size()) { +// list.add(0); +// } +// if (r >= 0) { +// list.set(r, list.get(r) + 1); +// } +// } +// } + //int[] i = new int[list.size()]; +// for (int l = 0; l < i.length; l++) { +// i[l] = list.get(l); +// } + int[] i = new int[10]; + for (int z = 0; z < i.length; z++) { + if (z == 0) { + //System.out.println(""); + } + for (int x = 0; x < tileMap.length; x++) { + if (z == 0) { + //System.out.println(""); + } + for (int y = 0; y < tileMap.length; y++) { + + if (z == 0) { + //System.out.print(tileMap[x][y].getRound() + ";"); + } + + if (tileMap[x][y].getRound() == z) { + i[z]++; + } + } + } + } + + return i; + } + + public int calcScore(int[] factor, int[] mainScore) { + //burnsIn(false); + int[] arr = returnScoreArray(); + int score = 0; + int length = (arr.length < factor.length) ? arr.length : factor.length; + for (int i = 0; i < length; i++) { + int mainS = (i < mainScore.length) ? mainScore[i] : 0; + score += (mainS - arr[i]) * factor[i]; + } + return score; + } + // + + public void load(String path) { + Tile[][] tmp = null; + BufferedReader br = null; + try { + StringBuilder stringB = new StringBuilder(); + br = new BufferedReader(new FileReader(path)); + width = readInt(br); + height = readInt(br); + tmp = new Tile[width][height]; + + for (int y = 0; y < width; y++) { + for (int x = 0; x < height; x++) { + switch ((char) br.read()) { + case '0': //Normaler Wald + tmp[x][y] = new Tile(x, y, (byte) 0); + break; + case '1': //Blockierter Wald + tmp[x][y] = new Tile(x, y, (byte) 1); + break; + case '2': //Feuer + tmp[x][y] = new Tile(x, y, (byte) 2); + closedList.add(tmp[x][y]); + break; + default: + x--; + break; + } + } + } + setTileMap(tmp); + + } catch (IOException e) { + System.out.println(e); + } + + } + + private int readInt(BufferedReader br) throws IOException { + char c; + int i; + + c = readNonwhiteChar(br); + i = 0; + do { + i = i * 10 + c - '0'; + c = (char) br.read(); + } while (c >= '0' && c <= '9'); + return i; + } + + private static char readNonwhiteChar(BufferedReader bf) throws IOException { + char c; + + do { + c = (char) bf.read(); + } while (c == ' ' || c == '\t' || c == '\n' || c == '\r'); + + return c; + } + // + + @Override + public Map clone() { + ArrayList _tmpClosed = new ArrayList(); + for (Tile tile : closedList) { + _tmpClosed.add(tile.clone()); + } + Tile[][] _tmpMap = new Tile[tileMap.length][tileMap[0].length]; + for (int x = 0; x < tileMap.length; x++) { + for (int y = 0; y < tileMap[x].length; y++) { + _tmpMap[x][y] = tileMap[x][y].clone(); + } + } + return new Map(width, height, _tmpClosed, _tmpMap); + } + + @Override + public String toString() { + String str = ""; + for (int y = 0; y < tileMap[0].length; y++) { + for (int x = 0; x < tileMap.length; x++) { + str = str + tileMap[x][y].getRound() + ";"; + } + str = str + "\n"; + } + return str; + } + // + + public int getWidth() { + return width; + } + + public int getHeight() { + return height; + } + + public Tile[][] getTileMap() { + return tileMap; + } + + /** + * @param tileMap the tileMap to set + */ + public void setTileMap(Tile[][] tileMap) { + this.tileMap = tileMap; + } + // +} diff --git a/Java/Wettbewerb_ForestFire/src/Tile.java b/Java/Wettbewerb_ForestFire/src/Tile.java new file mode 100644 index 0000000..d89efbe --- /dev/null +++ b/Java/Wettbewerb_ForestFire/src/Tile.java @@ -0,0 +1,100 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +/** + * + * @author Hannes + */ +public class Tile { + + private int x, y; + private byte type; + private int round; + private int score; + private boolean ext; + + public Tile(int myX, int myY, byte TileType) { + score = 0; + x = myX; + y = myY; + type = TileType; + if (type == 2) { + ignite(); + } else { + round = -1; + } + ext = false; + } + + protected Tile(int myX, int myY, byte TileType, int r, int s, boolean extinguished) { + score = s; + x = myX; + y = myY; + type = TileType; + round = r; + ext = extinguished; + } + + public void extinguish() { + ext = true; + } + + public int getType() { + return type; + } + + public void ignite() { + if (type == 0 && !isExt()) { + type = 2; + round = 0; + } + } + + public void setRound(int r) { + if (type != 2) { + round = r; + } + } + + public int getRound() { + return round; + } + + public boolean isExt() { + return ext; + } + + public int getX() { + return x; + } + + public int getY() { + return y; + } + + @Override + public Tile clone() { + return new Tile(x, y, type, round, getScore(),ext); + } + + /** + * @return the score + */ + public int getScore() { + return score; + } + + /** + * @param score the score to set + */ + public void setScore(int score) { + this.score = score; + } + + @Override + public String toString() { + return "[" + x + "|" + y + "]"; + } +} diff --git a/Java/Wettewerb_Foto/Wettewerb_Foto.iml b/Java/Wettewerb_Foto/Wettewerb_Foto.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Wettewerb_Foto/Wettewerb_Foto.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Wettewerb_Foto/build.xml b/Java/Wettewerb_Foto/build.xml new file mode 100644 index 0000000..73b018d --- /dev/null +++ b/Java/Wettewerb_Foto/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Wettewerb_Foto. + + + diff --git a/Java/Wettewerb_Foto/build/built-jar.properties b/Java/Wettewerb_Foto/build/built-jar.properties new file mode 100644 index 0000000..40b1508 --- /dev/null +++ b/Java/Wettewerb_Foto/build/built-jar.properties @@ -0,0 +1,4 @@ +#Sun, 06 Oct 2013 13:35:51 +0200 + + +C\:\\Users\\Hannes\\Documents\\NetBeansProjects\\Wettewerb_Foto= diff --git a/Java/Wettewerb_Foto/build/classes/.netbeans_automatic_build b/Java/Wettewerb_Foto/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Wettewerb_Foto/build/classes/.netbeans_update_resources b/Java/Wettewerb_Foto/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Wettewerb_Foto/build/classes/wettewerb_foto/Camera.class b/Java/Wettewerb_Foto/build/classes/wettewerb_foto/Camera.class new file mode 100644 index 0000000000000000000000000000000000000000..04a18b0707212dccc166aad3acbd785a6a116706 GIT binary patch literal 2478 zcma)7?{gDH7=A8En`?TZ7@(z4YXHGEZ4(4VXaOy)NHr~J5Cng~CRx&h=vvr6^8BaWaNgm{!fpI$lxz zt2$m&{izt@IITuPjq*AQF%%(noY7H=VHT#E=iWHZc5vmKj&ckYSSpUKqZ-BeC>#wT zv#3Fv(h#vkMQTW7&x$#bDGRHV$+?bcmBuu*n-x)#H4W?h)w*kzGvkgU7P4l|r9nr| zELp;>JM=KJlFi=iymVbTFP;3UGq!7Irj*CA{mS`X(=y%t8oCFjmIog^Mraduk&e5v zrX^?UmArJ0ihS7vYZpZMm~c$>A52EvS(8wEmPVXlevV+k&VpUHTn_;4!UKcMzGL1o zU8w?SSUWJd9EXNBj|9S8>ex?(EYh21^2=$6=Uh=ZH!Z3js3>YtxEl2FV$riElLO0R zc)3=EJ4;kv)4Htt1?lcd1Md)Xj2HItJdvTaAT2SCPmVc^GUCgQG8-9qTZO@wbClG=C!ZK>fKX#d&U_bA(Lw6TpLf(~?{ z6Ki<{d--PU;B3Gj2|#YhWX~;d+fzNGP$4YT?pMqJc=i^D4zNUU(#S42Ydo?m7!JHM{glc zejc12CPV$d;GuwofGc*2rbN=usew(ZV8ab;KE6~Io1s&Hah82M<+q1`7G*JdR~Dm~ z@Sy5kon#_P7QAoSD={AO{(=5h6p1a16=R_kjm=^iX%b6+5a}Rol$4%fuc=2Ph@fPz b1lFcBv((Y{CP!_7BmdMq%T3RDVYB}MW-~4y literal 0 HcmV?d00001 diff --git a/Java/Wettewerb_Foto/build/classes/wettewerb_foto/Image.class b/Java/Wettewerb_Foto/build/classes/wettewerb_foto/Image.class new file mode 100644 index 0000000000000000000000000000000000000000..e45535fd894af806c010f3d5fd51aef9248401f7 GIT binary patch literal 3816 zcmaJ@TXR#_750ZPEFGi+wj^}n z+EQrUkY3`nNpF-kkTfmr3^Sc{0%pQYr%!$8TYp5S4}EE$I+IT8erq3DHb&(^d+)RM zUTb~pTWjsDKmYfWKLF^(Z^LLqK7<`OFGC@W2#PY4Oq9cvTnOVLF3H~I5CXU&!&Mo+ zDzdN1k!v!1-Nbd#%bU0n#s-kBNx~Wn|gEpoika65}rli5Nr;8;!o1*xzhG4N&aLVOu znkNppS+_K(LGS21uE98zOF0_WO}JTSvOGKO6kf5XXDHb)kxSY$$L)eE-xZ-z%D6=h z4HFlgQpvgK6sBK4lPl%oW3zVJ*{>l~bkno;VYf&GO&y0P&e|93c)8@x#D@w6`|<=g z_KR07U&F{T_mVS1BiecXTn$#LTu5e$$qez*o{>LdQ!QH4C^ZzWCoo^mFX7%@OX?d`>ieQWcD;>(X=n5 zJ^jXxTEQq<_txBcCNeXbo6VO?jLRsxS7e&V+4L8!n3}P(>3E`4aI-r-l1{$l=Ca%~^0pN2hNslI7gUs~l>4UX zw9z|68^h%@XPknQdfBnXg=&KzvBOkT-C)OP2p70Fs`fQBS3-GOwewZ>!>oPjxIM#2 zl08IwNEXj&h=_&BT=rtdEjfoWHW56-j%ZDvp?Z?Os}ZsyO))c;W%)isn|&KjJEfte zj%8;u>uV??@s+j>CvxltXT+7>46Arg>>Y zg7A_j=*MOFxrMLbbql}1dlp=r719bCfiCH1?>Rero%!$qfNF$7OuBcB>i}ks7+0qeJ#YXXbL9VHe z!;-y?%SGpfs=CK7<#1U!VCk71V~IpU?g!mYt?s#sBPr392rm~)&MXyjWx-bMiDPU~ zRW0@`v3V&YV=KgTmzP5`*;UQGFYoJN_ zaoo+X0iM%1uZt}}i|G&GlR^JTDeU1G<^dTEScr3FdB?FAJ?ae0jVEYIvk*jxveepr zhTa#526jJ$5&Iav)CU;c9SuB$|Bndtn_Ptlqw`Abz78Lrk)v_?eUB6FHci!w`O-Xe4QCJ7kt z{GGDCoSznY+NxrV(FZ+LqZn4vN)*E?S`X79MxhfMZwxPc_!AisY@=((^gbhMbS)=u zS4XTXYIy15VnywRPoMh8Y2+Iz7@R7-T-;6^6nSjdn&w-@GLJEj>3DMc6HA60&yVLwScuT zMp4JbI>D){O4^{jcaeo|W^y;N#udJ8o^BOYeFc>t>xgyd6R2cQP7O?(^KB)B@kFkLt8~go_Q9tz<(J6vzSiq)!c7?Hk##@+dBKJ+VFroyT z-|Y)5EzG4wFdDdx9Z~Z(wnT%s(bWAIfvMJLAZkY0SIrO6a$-(rmLA=<0A4*U-xNrJ^Pox%`t3vU0-gk2>~21LNAo+TY6zyub*D$on{>Ot9{z z`Bi3hU1Bv|WxUtO{B<((Cf}&H_(aLAafX(Lm|?zJtcG#=;nPJv608TlU-Z=ghrN1? z>|f{C7xA*H#`!Ai^E~?su?F!5zQk_y(c+w{8J!4k;5beY|59Iir{r>z`e=iHk%j^$ zzHDO3#H*T#lO|pR{*9MDg>TrzsSwZdHS=b<6ukV*j==>MtbjJ zOH8V0vs{;zg|6m4!?>^CKSGAPNw9vOM#0j4p5*qbMr^GV+aBJ-V3+|0YB97%2DhDo z#TZBrL+Qm7wNA2SUnAY86p4d8-9w9~Rigwbvq`>>`klPurfIp41t!#q*Mn8+4k~iI zR@o$1RIjEjGEkr5<0Qz&DYD5Yn2ORbGK-0AF^T>_b7b3{#eX$NLU$Jb*&GSqS^Rr* zr0&k*Uz_jqjMqDBIm{%n-1^j1#8Zs(!ghmapT0 d5?)a*y$8Zyaj9XprgCVt^7Wd^S^DxJ_dmJx?*9M) literal 0 HcmV?d00001 diff --git a/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$1.class b/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$1.class new file mode 100644 index 0000000000000000000000000000000000000000..72c8b8dc43010df5da955418f1cd9ff4014ec8b9 GIT binary patch literal 880 zcmaKr-)<5?6vn>+WC2&f(pqaRR!bGA1&Nn7O-NIdCZHEJ_0kM5(rK32WOo4dnY>UF zYvP3u;6oX|0itMvyO}@d?3v%0^Uds!pWnU%c!K>b(zu(0hf)?>*v{b|?z?WsL)pWw zK-!+`xcpdPvprGPs)>rauiu0=Y;>eHue9lhlcx+j&_>%sfl}o^an&<{)KS=10{ON! z>iKBcRnbe?4d_{Ehdmjb$w)hU?o7G#0{)3HDmn^e94nez%X5^Q+>JL-_Ef(oG+C*h z2<(K>pl+1yDrw^SX*h~{s;$Nq)SDvESp5#|$i9H^l( zwq*s@Dks&&!0v_WS%wMC#$34>{+V_)<^PCOcW`=+O)m&zZ3Z1>&%?fl2R?Fm=p%!y zj|!?DYCiT*^zjJm)P1S!VTu$R)(m}OI-Q*4{Lv6Q<>kJ%HS3@$XTQ&aeKOU6L&bK_#2f_ M;4H_uG)F$a02H#fX8-^I literal 0 HcmV?d00001 diff --git a/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$2.class b/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$2.class new file mode 100644 index 0000000000000000000000000000000000000000..01355da786e059939187cacb97563f824890cdf0 GIT binary patch literal 832 zcma)5O>fgc5Ph4Z7#q`s@>xntfdEM=;i?>qDxpwNkqd{Sa6}ttX|{5Ak-bUyTSy=f z2YvuQ3h_2XluJr2d3I+s^JeDF?9X4{e*k!l`ypz$8DRk{5pLjCfYktN0d5PNb3U&RMCI;-a4D?OKsk2Gq96wx;@cGyB&eG)+v7No_6FV^q=2Wmzh!tMhX-w^&U)mib6^hteFXfk3;J9?7x% zn3NN34ihz2#wDpP-GRzg=Cn1t-n8w@tE#aRcyP7=f#|@FicCG%zJvM+C69bUT6RsA z+mc!Ll^fbYfb|%6a5qMP^D#nyyN4#(ol9WM+I`Zu)awf1m z7g}J^PpxZ@KUhNo$ZWOcNr+^Ysgh&g3)b3%O8@2#03PhvfyXWFn_=kvS zy};WJb#I9}8($zgUs3rq^@%ANMfn03DX;zU!Xg^f=s!gh^tgnj8P?MoR@nIrvGEPn r6R2n!zQ+Py{sR~Og$r>RR|r$ZRf1QT?mEvJpT#oj({$Wnp8S3Tn8VC7 literal 0 HcmV?d00001 diff --git a/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$3.class b/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$3.class new file mode 100644 index 0000000000000000000000000000000000000000..55796de1abdd419603b4d00be8a85429aec920aa GIT binary patch literal 795 zcmaJ%x3k=!LklmsET_zfh z5B>mul=05mh!3`#?99D4XU;wM^!j?(r~JL_ zXB=5fOe(XU%$4&e!J11i5Wdoy@@^)Jg4k_N&k=Q4Oy{IB{%6_&U$0?Shg1s2?Bx@LG~ zG#AV5tF~OhflN~>is;!MPxtw(vCZnqb`Kl8Jagb3fM_&arMy!W{(S@-z0KAE`z{i+ zcfLThzoPP~#DskED?U$fhtCIpP*^~NJ;s-8f)RJIIN>^+aQW@e5If&cy`c)q=WkiS kyMO5XzjQv9aF1!KxXSa1!Prmv44dOVwqyPW_ literal 0 HcmV?d00001 diff --git a/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$4.class b/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$4.class new file mode 100644 index 0000000000000000000000000000000000000000..ceeb196eeba380886b8b152a9a1d31a0024f65a2 GIT binary patch literal 795 zcmaJY9|2uta$hLP8o$OcpiKRHF}Oy1l@V?TpzS+TUd& z!T8`0@JA8utd00!yUEVndvoU8b3cAx{`>{tIiC8c;bDLoECpD=vWKRJ6%VTdH|&Wj zqAh`?WJK1|i1OZ-BV$c`D3$)8bl;427`CglvU>t6ttq(mu0XA0`Xo?Kl&05bgC6DY zWiR8%Tw+q0b!D!cKMvMhdV%nj)|7WLSro)>b8?Poo7L21YL(G%DL*p#fcgTft>jb= zWh_TFrXgt?@0XARXYV*&RT^4>JwF1;>HLpP9zkVb))H+ z!B?ZXSZ-gn3BW)=I;vd-@L*A literal 0 HcmV?d00001 diff --git a/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$5.class b/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$5.class new file mode 100644 index 0000000000000000000000000000000000000000..5e5e8b7de13c48ed41c927ef45dc2a5fc60fe1c0 GIT binary patch literal 795 zcmaJE(W_EKqOj|A2_GjKb7fkw{^NT8W0O>b_7DHR`N znsa0+F`3N!vQW;S1RE~BK=@i~DtfsrOJcV@Jx6rFYML^$%IJ4goSR}u1A+BUawSJH zmSY>!h_sE5E69nn51p<$jjX`xESNy>-rN)!y;4qa^R@%e9XUr%be5Y^>5EgcmuBE$ zBg8XohVU>S!gtmdB5vl?UPcE3tx9Sx^+o(Py`qeDwg0O=QKcnrjKK0#LV*Q0nw}Y6 z8_mUX`|2H6a3Hgc$}-yD><9!5hDfW|fZDlW+ch1N~aO+5i9m literal 0 HcmV?d00001 diff --git a/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$6.class b/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow$6.class new file mode 100644 index 0000000000000000000000000000000000000000..97e15fc07d3fb0da651f39c02b21dcbd6ceb336a GIT binary patch literal 555 zcmZ`$&r1S96#hn6x7IPs(lWCy9<)OSfrpGPQV?iChEW}2)k#OzS=gP;zpG0^L4QDh zRP~I41Hccl;hQ(kOIN5wwfFx4n z5zoKoQvwT{`6nU|6GV-77z>Q>OTjo2Ecp+I&vByIpw0-=*d%R`wS_gZEJBQtCX&BR C@NnP& literal 0 HcmV?d00001 diff --git a/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow.class b/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow.class new file mode 100644 index 0000000000000000000000000000000000000000..34223ab0e1831dad15a233f4247fc125cfb70a3b GIT binary patch literal 11382 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 literal 0 HcmV?d00001 diff --git a/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow.form b/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow.form new file mode 100644 index 0000000..029fd88 --- /dev/null +++ b/Java/Wettewerb_Foto/build/classes/wettewerb_foto/MainWindow.form @@ -0,0 +1,125 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/Java/Wettewerb_Foto/build/classes/wettewerb_foto/Pixel.class b/Java/Wettewerb_Foto/build/classes/wettewerb_foto/Pixel.class new file mode 100644 index 0000000000000000000000000000000000000000..bdd16ab4ad6fc3e828ec0515b4e92c7bd8db0292 GIT binary patch literal 443 zcmZvY%}&BV6ot=}+Cr^>NbwK+*+Cbw(4EGGCK?i=#u~P!g%O8Tn$#k`mJ4Fy!Uyo7 zjAyD#7w62qGxvUTXTH8aJ^>tJ&w+)_5|*%~ZChK@M$5*IfJmu;8dH&gb)u#!I~B0o zy&woW0|E0q8A*XkUrpuJ>?xAzT^PmOsr8d#7!Sf!>HKfg%pTRVK%+mGStjQ)jqV?k zEa~2;R~a7*7;40udekj-Nu3EeK{88+@lb0S$!k5s+GIm|qD7q+Vb5Inh|A!W+ z>W*$4PRHHrXd;K1K%w0kV4v@`_!9++Bsw%KU&-UjA$XBXUtu7hKbisT5a IGc&O90~;SiEC2ui literal 0 HcmV?d00001 diff --git a/Java/Wettewerb_Foto/dist/README.TXT b/Java/Wettewerb_Foto/dist/README.TXT new file mode 100644 index 0000000..ca6117f --- /dev/null +++ b/Java/Wettewerb_Foto/dist/README.TXT @@ -0,0 +1,32 @@ +======================== +BUILD OUTPUT DESCRIPTION +======================== + +When you build an Java application project that has a main class, the IDE +automatically copies all of the JAR +files on the projects classpath to your projects dist/lib folder. The IDE +also adds each of the JAR files to the Class-Path element in the application +JAR files manifest file (MANIFEST.MF). + +To run the project from the command line, go to the dist folder and +type the following: + +java -jar "Wettewerb_Foto.jar" + +To distribute this project, zip up the dist folder (including the lib folder) +and distribute the ZIP file. + +Notes: + +* If two JAR files on the project classpath have the same name, only the first +JAR file is copied to the lib folder. +* Only JAR files are copied to the lib folder. +If the classpath contains other types of files or folders, these files (folders) +are not copied. +* If a library on the projects classpath also has a Class-Path element +specified in the manifest,the content of the Class-Path element has to be on +the projects runtime path. +* To set a main class in a standard Java project, right-click the project node +in the Projects window and choose Properties. Then click Run and enter the +class name in the Main Class field. Alternatively, you can manually type the +class name in the manifest Main-Class element. diff --git a/Java/Wettewerb_Foto/dist/Wettewerb_Foto.jar b/Java/Wettewerb_Foto/dist/Wettewerb_Foto.jar new file mode 100644 index 0000000000000000000000000000000000000000..07eb1fff9b71963d103f124249f12f7bcfd9653c GIT binary patch literal 17315 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 literal 0 HcmV?d00001 diff --git a/Java/Wettewerb_Foto/manifest.mf b/Java/Wettewerb_Foto/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Wettewerb_Foto/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Wettewerb_Foto/nbproject/build-impl.xml b/Java/Wettewerb_Foto/nbproject/build-impl.xml new file mode 100644 index 0000000..219d9e6 --- /dev/null +++ b/Java/Wettewerb_Foto/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Wettewerb_Foto/nbproject/genfiles.properties b/Java/Wettewerb_Foto/nbproject/genfiles.properties new file mode 100644 index 0000000..e99c118 --- /dev/null +++ b/Java/Wettewerb_Foto/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=e926f622 +build.xml.script.CRC32=e6e43631 +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=e926f622 +nbproject/build-impl.xml.script.CRC32=352f8b06 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Wettewerb_Foto/nbproject/private/private.properties b/Java/Wettewerb_Foto/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Wettewerb_Foto/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Wettewerb_Foto/nbproject/private/private.xml b/Java/Wettewerb_Foto/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Wettewerb_Foto/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Wettewerb_Foto/nbproject/project.properties b/Java/Wettewerb_Foto/nbproject/project.properties new file mode 100644 index 0000000..f21f4dc --- /dev/null +++ b/Java/Wettewerb_Foto/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Wettewerb_Foto.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=wettewerb_foto.MainWindow +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Wettewerb_Foto/nbproject/project.xml b/Java/Wettewerb_Foto/nbproject/project.xml new file mode 100644 index 0000000..30f55d0 --- /dev/null +++ b/Java/Wettewerb_Foto/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Wettewerb_Foto + + + + + + + + + diff --git a/Java/Wettewerb_Foto/src/wettewerb_foto/Camera.java b/Java/Wettewerb_Foto/src/wettewerb_foto/Camera.java new file mode 100644 index 0000000..753dd5e --- /dev/null +++ b/Java/Wettewerb_Foto/src/wettewerb_foto/Camera.java @@ -0,0 +1,50 @@ +package wettewerb_foto; + +import java.util.ArrayList; + +public class Camera { + + private int id; + private String name; + private ArrayList images = new ArrayList(); + public Camera(int id, String name) { + this.id = id; + this.name = name; + } + + public int countImages() { + return getImages().size(); + } + + public String writeLine() { + String s = ""; + short i = 0; + for (Image image : images) { + s = s + this.name + " " + this.id + i + ";"; + s = s + image.getAbstand() + ";"; + s = s + image.getStreuung() + ";"; + s = s + System.getProperty("line.separator"); + i++; + } + s = s.replace(".", ","); + return s; + } + + public void AddImage(String path) { + Image tmp = new Image(); + + + tmp.Load(path); + System.out.println(this.name + this.id + " loaded a new Image"); + getImages().add(tmp); + + } + @Override + public String toString() + { + return name + " " + id; + } + public ArrayList getImages() { + return images; + } +} diff --git a/Java/Wettewerb_Foto/src/wettewerb_foto/Image.java b/Java/Wettewerb_Foto/src/wettewerb_foto/Image.java new file mode 100644 index 0000000..a242eda --- /dev/null +++ b/Java/Wettewerb_Foto/src/wettewerb_foto/Image.java @@ -0,0 +1,130 @@ +package wettewerb_foto; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; + +public class Image { + + private int width = 0, height = 0; + private double abstand, streuung; + + //Streuung + private void sigmaDist(double durchschnitt, ArrayList pMap) { + double s = 0; + for (int i = 0; i < pMap.size() - width; i++) { + Pixel p = pMap.get(i); + Pixel q = pMap.get(i + width); + s = s + ((pixelDist(p, q) - durchschnitt) * + (pixelDist(p, q) - durchschnitt)); + } + streuung = Math.sqrt(s / (pMap.size() - width)); + } + + private double pixelDist(Pixel p, Pixel q) { + double d = Math.sqrt((p.r - q.r) * (p.r - q.r) + + (p.g - q.g) * (p.g - q.g) + + (p.b - q.b) * (p.b - q.b)); + return d; + } + + private void avgDist(ArrayList pMap) { + double d = 0; + for (int i = 0; i < pMap.size() - width; i++) { + d = d + pixelDist(pMap.get(i), pMap.get(i + width)); + } + abstand = d / (pMap.size() - width); + } + + private void compute(ArrayList pMap) { + int size = pMap.size(); + avgDist(pMap); + sigmaDist(abstand, pMap); + //System.out.println(getAbstand()); + } + //Lädt Image und gibt Farbspektrum zurück (um speicherplatz zu sparen) + + public void Load(String path) { + ArrayList pixelMap = new ArrayList(); + int i = 0; + BufferedReader br = null; + try { + + StringBuilder sb = new StringBuilder(); + br = new BufferedReader(new FileReader(path)); + + if (readHeader(br)) { + while (br.ready()) { + short r = (short) readInt(br); + short g = (short) readInt(br); + short b = (short) readInt(br); + if (r >= 0 && g >= 0 && b >= 0) { + pixelMap.add(new Pixel(i, r, g, b)); + i++; + } + } + } + + } catch (IOException e) { + System.out.println(e); + } + + compute(pixelMap); + //return pixelMap; + } + + private boolean readHeader(BufferedReader br) { + try { + char c1 = (char) br.read(); + char c2 = (char) br.read(); + if (c1 == 'P' && c2 == '3') { + width = readInt(br); + height = readInt(br); + int maxVal = readInt(br); + return true; + } else { + return false; + } + } catch (IOException e) { + System.out.println(e); + return false; + } + } + private static char readNonwhiteChar(BufferedReader bf) throws IOException { + char c; + + do { + c = (char) bf.read(); + } while (c == ' ' || c == '\t' || c == '\n' || c == '\r'); + + return c; + } + + private int readInt(BufferedReader br) throws IOException { + char c; + int i; + + c = readNonwhiteChar(br); + i = 0; + do { + i = i * 10 + c - '0'; + c = (char) br.read(); + } while (c >= '0' && c <= '9'); + return i; + } + /** + * @return the abstand + */ + public double getAbstand() { + return abstand; + } + /** + * @return the streuung + */ + public double getStreuung() { + return streuung; + } +} diff --git a/Java/Wettewerb_Foto/src/wettewerb_foto/MainWindow.form b/Java/Wettewerb_Foto/src/wettewerb_foto/MainWindow.form new file mode 100644 index 0000000..029fd88 --- /dev/null +++ b/Java/Wettewerb_Foto/src/wettewerb_foto/MainWindow.form @@ -0,0 +1,125 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/Java/Wettewerb_Foto/src/wettewerb_foto/MainWindow.java b/Java/Wettewerb_Foto/src/wettewerb_foto/MainWindow.java new file mode 100644 index 0000000..8638567 --- /dev/null +++ b/Java/Wettewerb_Foto/src/wettewerb_foto/MainWindow.java @@ -0,0 +1,287 @@ +package wettewerb_foto; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.swing.AbstractListModel; +import javax.swing.JDialog; +import javax.swing.JFileChooser; +import javax.swing.JList; +import javax.swing.ListModel; +import javax.swing.ListSelectionModel; +import javax.swing.filechooser.FileNameExtensionFilter; + +/** + * + * @author Hannes + */ +public class MainWindow extends javax.swing.JFrame { + + static ArrayList cam = new ArrayList(); + Camera uCam; + + /** + * Creates new form MainWindow + */ + public MainWindow() { + initComponents(); + + + uCam = new Camera(0, "Unbekannt"); + for (int i = 1; i <= 5; i++) { + cam.add(new Camera(i, "Kamera")); + } + ListModel lm = new AbstractListModel() { + @Override + public int getSize() { + return cam.size(); + } + + @Override + public Object getElementAt(int i) { + return cam.get(i); + } + }; + jList1.setModel(lm); + jList1.setSelectedIndex(0); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + jScrollPane1 = new javax.swing.JScrollPane(); + jList1 = new javax.swing.JList(); + addImageButton = new javax.swing.JButton(); + jLabel1 = new javax.swing.JLabel(); + unknownImage = new javax.swing.JButton(); + export = new javax.swing.JButton(); + JaktuellLabel = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + + jList1.addListSelectionListener(new javax.swing.event.ListSelectionListener() { + public void valueChanged(javax.swing.event.ListSelectionEvent evt) { + jList1ValueChanged(evt); + } + }); + jScrollPane1.setViewportView(jList1); + + addImageButton.setText("Lade Bilder für Camera 1"); + addImageButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addImageButtonActionPerformed(evt); + } + }); + + jLabel1.setText("Unbekanntes Bild: "); + + unknownImage.setText("Lade unbekanntes Bild"); + unknownImage.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + unknownImageActionPerformed(evt); + } + }); + + export.setText("Ergebnis exportieren"); + export.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + exportActionPerformed(evt); + } + }); + + JaktuellLabel.setText("Anzahl der Bilder:"); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel1) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addComponent(export, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(unknownImage, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE) + .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)))) + .addGroup(layout.createSequentialGroup() + .addComponent(JaktuellLabel) + .addGap(0, 0, Short.MAX_VALUE)) + .addComponent(addImageButton, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE)) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(0, 11, Short.MAX_VALUE) + .addComponent(JaktuellLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 9, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(addImageButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 9, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(unknownImage) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(export, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap()) + ); + + pack(); + }// //GEN-END:initComponents + + private void addImageButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addImageButtonActionPerformed + final JFileChooser fc = new JFileChooser(); + + FileNameExtensionFilter ppmFileFilter = new FileNameExtensionFilter("multiple selection recommended (*.ppm)", "ppm"); + fc.setFileFilter(ppmFileFilter); + + //Allow Multiplefiles + fc.setMultiSelectionEnabled(true); + + int returnVal = fc.showOpenDialog(this); + + if (returnVal == JFileChooser.APPROVE_OPTION) { + File[] tmpFiles = fc.getSelectedFiles(); + for (int i = 0; i < tmpFiles.length; i++) { + cam.get(jList1.getSelectedIndex()).AddImage(tmpFiles[i].getAbsolutePath()); + } + + } + + changeInfo(); + }//GEN-LAST:event_addImageButtonActionPerformed + + private void unknownImageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_unknownImageActionPerformed + uCam = new Camera(0, "Unbekannt"); + final JFileChooser fc = new JFileChooser(); + FileNameExtensionFilter ppmFileFilter = new FileNameExtensionFilter("PPM Images (*.ppm)", "ppm"); + fc.setFileFilter(ppmFileFilter); + + + int returnVal = fc.showOpenDialog(this); + + if (returnVal == JFileChooser.APPROVE_OPTION) { + File tmpFile = fc.getSelectedFile(); + uCam.AddImage(tmpFile.getAbsolutePath()); + } + + jLabel1.setText("Unbekanntes Bild: " + uCam.countImages()); + }//GEN-LAST:event_unknownImageActionPerformed + + private void exportActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exportActionPerformed + //Open FileSaveDialo + final JFileChooser fc = new JFileChooser(); + FileNameExtensionFilter ppmFileFilter = new FileNameExtensionFilter("Save as csv (*.csv)", "csv"); + fc.setFileFilter(ppmFileFilter); + int returnVal = fc.showSaveDialog(this); + + if (returnVal == JFileChooser.APPROVE_OPTION) { + try { + //File Saving + File tmpFile = fc.getSelectedFile(); + createCSV(tmpFile.getParent(), tmpFile.getName() + ".csv"); + } catch (IOException ex) { + Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex); + } + } + + }//GEN-LAST:event_exportActionPerformed + + private void jList1ValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_jList1ValueChanged + changeInfo(); + }//GEN-LAST:event_jList1ValueChanged + public void createCSV(String path, String filename) throws IOException { + File file = new File(path, filename); + if (!file.isFile() && !file.createNewFile()) { + throw new IOException("Error creating new file: " + file.getAbsolutePath()); + } + try { + FileWriter writer = new FileWriter(path + "\\" + filename); + + writer.append("Foto;Durchschnittlicher Abstand; Streuung" + System.getProperty("line.separator")); + + for (int i = 0; i < cam.size(); i++) { + writeLine(writer, cam.get(i)); + } + + writeLine(writer, uCam); + + + System.out.println("Written Data to File"); + + //generate whatever data you want + + writer.flush(); + writer.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + } + + public static FileWriter writeLine(FileWriter writer, Camera camera) throws IOException { + writer.append(camera.writeLine()); + return writer; + } + + public static void main(String args[]) { + + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(MainWindow.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(MainWindow.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(MainWindow.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(MainWindow.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new MainWindow().setVisible(true); + } + }); + } + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JLabel JaktuellLabel; + private javax.swing.JButton addImageButton; + private javax.swing.JButton export; + private javax.swing.JLabel jLabel1; + private javax.swing.JList jList1; + private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JButton unknownImage; + // End of variables declaration//GEN-END:variables + + private void changeInfo() { + Camera c = cam.get(jList1.getSelectedIndex()); + JaktuellLabel.setText("Anzahl der Bilder: " + c.countImages()); + addImageButton.setText("Lade Bilder für " + c); + } +} diff --git a/Java/Wettewerb_Foto/src/wettewerb_foto/Pixel.java b/Java/Wettewerb_Foto/src/wettewerb_foto/Pixel.java new file mode 100644 index 0000000..6c4df88 --- /dev/null +++ b/Java/Wettewerb_Foto/src/wettewerb_foto/Pixel.java @@ -0,0 +1,11 @@ +package wettewerb_foto; + +public class Pixel { + short r,g,b; + public Pixel(int id,short R, short G, short B) + { + r = R; + g = G; + b = B; + } +} diff --git a/Java/Zahlenraten/Zahlenraten.iml b/Java/Zahlenraten/Zahlenraten.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/Zahlenraten/Zahlenraten.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/Zahlenraten/build.xml b/Java/Zahlenraten/build.xml new file mode 100644 index 0000000..3b41b5e --- /dev/null +++ b/Java/Zahlenraten/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Zahlenraten. + + + diff --git a/Java/Zahlenraten/build/built-jar.properties b/Java/Zahlenraten/build/built-jar.properties new file mode 100644 index 0000000..b335059 --- /dev/null +++ b/Java/Zahlenraten/build/built-jar.properties @@ -0,0 +1,4 @@ +#Wed, 30 Jan 2013 11:39:29 +0100 + + +C\:\\Users\\Hannes\\Documents\\NetBeansProjects\\Zahlenraten= diff --git a/Java/Zahlenraten/build/classes/.netbeans_automatic_build b/Java/Zahlenraten/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/Zahlenraten/build/classes/.netbeans_update_resources b/Java/Zahlenraten/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/Zahlenraten/build/classes/zahlenraten/Zahlenraten.class b/Java/Zahlenraten/build/classes/zahlenraten/Zahlenraten.class new file mode 100644 index 0000000000000000000000000000000000000000..089cefae190a5a56567efbdf7f386aa36d61c278 GIT binary patch literal 1182 zcmZuv+fEZv6kVq??UYjPmOEPSEw_RwD3_w5KoeA?h6Id>Lp!ts(3#M&6FBR4d z=as%@5oum1W^`*=cTBlI1ywh1ZVPlQe9-fjVLQ5O*ooC@On$YXo3=n}?DfKi{!UL= zx}8g;UB|R@6H-vi8D5!yNHJS?awKfIAeo0!g?XkxeL>&JmYhu9I{8#ur#*E$qf@4( zB2scqE0HE*8xB1PNBZ~Vy^|%~&K3(is7t$gX7ic8<@KYXhoj^G1w!c}*^OCKw%&NA zqe00MMiZI^nyQSaS{f$9m_kw}OtY|>P>~GdAs&VC7&8KqB~B}vHI1mGkH&@vhKJ(3 zlP6(3#jMPn69}%BqB*B{vRer^Ekh1dTQW0w*USmD$&p+z_`llTv|p@k7#a6JDE)rh zH3|YgNf)V%#w;dM_EyQ|PxF z31~$dcQt572N4#FMJUjS6_hC@85mWM;afR?as+kUe+>W15d!0ZjzDAR5SsdSswblE zVdkSE4iIdvIYg+#e~8-2?yg;2?(W({y~M-B_shRzSm%X5WmwO!srE~9zx+*_R3J?z z*%O`9LV$KObR&pcG}wiCZ8`BEA&$BviS&KsIH&?c0Q37;+}Z#AC~L*PXGV_ literal 0 HcmV?d00001 diff --git a/Java/Zahlenraten/manifest.mf b/Java/Zahlenraten/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/Zahlenraten/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/Zahlenraten/nbproject/build-impl.xml b/Java/Zahlenraten/nbproject/build-impl.xml new file mode 100644 index 0000000..d686a81 --- /dev/null +++ b/Java/Zahlenraten/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/Zahlenraten/nbproject/genfiles.properties b/Java/Zahlenraten/nbproject/genfiles.properties new file mode 100644 index 0000000..1601d24 --- /dev/null +++ b/Java/Zahlenraten/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=23ea1179 +build.xml.script.CRC32=07b26542 +build.xml.stylesheet.CRC32=8064a381@1.75.2.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=23ea1179 +nbproject/build-impl.xml.script.CRC32=458abcfa +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/Zahlenraten/nbproject/private/private.properties b/Java/Zahlenraten/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/Zahlenraten/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/Zahlenraten/nbproject/private/private.xml b/Java/Zahlenraten/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/Zahlenraten/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/Zahlenraten/nbproject/project.properties b/Java/Zahlenraten/nbproject/project.properties new file mode 100644 index 0000000..d8b8fb8 --- /dev/null +++ b/Java/Zahlenraten/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Zahlenraten.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=zahlenraten.Zahlenraten +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/Zahlenraten/nbproject/project.xml b/Java/Zahlenraten/nbproject/project.xml new file mode 100644 index 0000000..b448b0c --- /dev/null +++ b/Java/Zahlenraten/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Zahlenraten + + + + + + + + + diff --git a/Java/Zahlenraten/src/zahlenraten/Zahlenraten.java b/Java/Zahlenraten/src/zahlenraten/Zahlenraten.java new file mode 100644 index 0000000..6df6a43 --- /dev/null +++ b/Java/Zahlenraten/src/zahlenraten/Zahlenraten.java @@ -0,0 +1,30 @@ +package zahlenraten; +import java.util.*; +public class Zahlenraten { + public static void main(String[] args) { + int geraten, zahl = 0, i = 0, maxdurchläufe = 3; + Scanner scan = new Scanner(System.in); + Random r = new Random(); + zahl = r.nextInt(10) + 1; + while(i < maxdurchläufe) + { + i++; + System.out.println("Rate die Zahl (1-10):"); + geraten = scan.nextInt(); + if(zahl != geraten) + { + if(zahl < geraten) + { + System.out.println("Zu groß"); + }else + { + System.out.println("Zu klein"); + } + }else + { + System.out.println("Richtig"); + i = 3000; + } + } + } +} diff --git a/Java/baum/baum.iml b/Java/baum/baum.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/baum/baum.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/baum/build.xml b/Java/baum/build.xml new file mode 100644 index 0000000..2cda580 --- /dev/null +++ b/Java/baum/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Baum. + + + diff --git a/Java/baum/manifest.mf b/Java/baum/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/baum/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/baum/nbproject/build-impl.xml b/Java/baum/nbproject/build-impl.xml new file mode 100644 index 0000000..a32134a --- /dev/null +++ b/Java/baum/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/baum/nbproject/genfiles.properties b/Java/baum/nbproject/genfiles.properties new file mode 100644 index 0000000..a68c14e --- /dev/null +++ b/Java/baum/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=792c969d +build.xml.script.CRC32=5088a26e +build.xml.stylesheet.CRC32=8064a381@1.75.2.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=792c969d +nbproject/build-impl.xml.script.CRC32=8cce4791 +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/baum/nbproject/private/private.properties b/Java/baum/nbproject/private/private.properties new file mode 100644 index 0000000..5cc4d5b --- /dev/null +++ b/Java/baum/nbproject/private/private.properties @@ -0,0 +1 @@ +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/baum/nbproject/private/private.xml b/Java/baum/nbproject/private/private.xml new file mode 100644 index 0000000..6807a2b --- /dev/null +++ b/Java/baum/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Java/baum/nbproject/project.properties b/Java/baum/nbproject/project.properties new file mode 100644 index 0000000..7bc8b66 --- /dev/null +++ b/Java/baum/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Baum.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=baum.Baum +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/baum/nbproject/project.xml b/Java/baum/nbproject/project.xml new file mode 100644 index 0000000..809b471 --- /dev/null +++ b/Java/baum/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Baum + + + + + + + + + diff --git a/Java/baum/src/baum/Ast.java b/Java/baum/src/baum/Ast.java new file mode 100644 index 0000000..357905d --- /dev/null +++ b/Java/baum/src/baum/Ast.java @@ -0,0 +1,104 @@ +/* + * Astklasse + * nur in den Blättern des Baumes stehen unsere Informationen + * die Äste führen zu den Blättern + */ +package baum; + +/** + * + * @author frank.baethge + */ +public class Ast { + private Ast rechts; + private Ast links; + private int häufigkeit; + + public Ast() { + rechts = null; + links = null; + häufigkeit = 0; + } + + public Ast(Ast l, Ast r) { + rechts = r; + links = l; + häufigkeit = 0; + if (r != null) { + häufigkeit += r.häufigkeit; + } + if (l != null) { + häufigkeit += l.häufigkeit; + } + } + + + /** + * Traversierung des Baums + * es gibt mehrere Möglichkeiten einen Baum zu durchlaufen + * - pre-order => W-L-R + * - post-order => L-R-W + * - in-order => L-W-R (reverse in-order => R-W-L) + * - level-order => Breitensuche (jede Ebene nacheinander) + * hier wird am ehesten pre-order verwendet (Wuzel-Links-Rechts) + * @param kodierung + * @return + */ + public String ausgeben(String kodierung) { + //System.out.println(kodierung + " l:" + getLinks() + " r:" + getRechts()); + return " l: (" + getLinks().ausgeben(kodierung + '0') + ")" + + "r: (" + getRechts().ausgeben(kodierung+'1') + ")"; + } + /** + * Berechnet die Summe für alle Blätter über das Produkt aus ebene * häufigkeit und + * damit auch die Länge des komprimierten Textes + * @param ebene - die Ebene kodiert gleichzeitig die neue Länge des jeweiligen Buchstabens + * @return + */ + public Integer berechneBitlänge(int ebene) { + // Abstieg zu den Blättern und Rückgabe der berechneten Werte + return getLinks().berechneBitlänge(ebene + 1) + getRechts().berechneBitlänge(ebene + 1); + } + + /** + * @return the rechts + */ + public Ast getRechts() { + return rechts; + } + + /** + * @param rechts the rechts to set + */ + public void setRechts(Ast rechts) { + this.rechts = rechts; + } + + /** + * @return the links + */ + public Ast getLinks() { + return links; + } + + /** + * @param links the links to set + */ + public void setLinks(Ast links) { + this.links = links; + } + + /** + * @return the häufigkeit + */ + public int getHäufigkeit() { + return häufigkeit; + } + + /** + * @param häufigkeit the häufigkeit to set + */ + public void setHäufigkeit(int häufigkeit) { + this.häufigkeit = häufigkeit; + } +} diff --git a/Java/baum/src/baum/Baum.java b/Java/baum/src/baum/Baum.java new file mode 100644 index 0000000..abc1246 --- /dev/null +++ b/Java/baum/src/baum/Baum.java @@ -0,0 +1,123 @@ +/* + * binäre Bäume + * und wie man damit umgeht + * + * Thema: Komprimiere einen Text + * Beispiel: iQ1Bäume_131203 + * "Bäume sind auch in der Informatik ein wichtiges Thema. Viele Daten werden zunächst in Bäumen abgespeichert. Sie werden vor allem zur Suche und Sortierung verwendet." + * + */ +package baum; + +/** + * + * @author frank.baethge + */ +public class Baum { + private static Ast wurzel; + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + wurzel = new Ast(//164 + new Ast(//79 + new Ast(//56 + new Ast(//28 + new Blatt('n', 13), + new Ast(//15 + new Blatt('t', 7), + new Blatt('u', 8) + ) + ), + new Ast(//28 + new Ast(//16 + new Ast(//8 + new Blatt('s', 4), + new Blatt('w', 4)), + new Ast(//8 + new Blatt('m', 5), + new Blatt('.', 3) + ) + ), + new Ast(//12 + new Ast(//6 + new Blatt('g', 3), + new Blatt('S', 3) + ), + new Ast(//6 + new Blatt('o', 3), + new Blatt('l', 3) + ) + ) + ) + ), + new Ast(//23 + new Blatt('i', 11), + new Ast(//12 + new Blatt('d', 6), + new Blatt('a', 6) + ) + ) + ), + new Ast(//85 + new Blatt(' ', 24), + new Ast(//61 + new Ast(//32 + new Ast(//9 + new Ast(//5 + new Blatt('B', 2), + new Blatt('ä', 3) + ), + new Ast(//4 + new Blatt('z', 2), + new Blatt('v', 2) + ) + ), + new Blatt('e', 23) + ), + new Ast(//29 + new Ast(//8 + new Ast(//4 + new Ast(//2 + new Blatt('f', 1), + new Blatt('b', 1) + ), + new Ast(//2 + new Blatt('k', 1), + new Blatt('p', 1) + ) + ), + new Ast(//4 + new Ast(//2 + new Blatt('V', 1), + new Blatt('T', 1) + ), + new Ast(//2 + new Blatt('I', 1), + new Blatt('D', 1) + ) + ) + ), + new Ast(//21 + new Blatt('r', 10), + new Ast(//11 + new Blatt('h', 6), + new Blatt('c', 5) + ) + ) + ) + ) + ) + ); + //System.out.println("Bitlänge des komprimierten Textes: " + wurzel.berechneBitlänge(0)); + System.out.println("Wurzel: " + wurzel.ausgeben("")); + + // rotiere Wurzel links + Ast alteWurzel = wurzel; + wurzel = wurzel.getRechts(); + alteWurzel.setRechts(wurzel.getLinks()); + wurzel.setLinks(alteWurzel); + System.out.println("Bitlänge des komprimierten Textes nach der Rotation: " + wurzel.berechneBitlänge(0)); + + } +} diff --git a/Java/baum/src/baum/Blatt.java b/Java/baum/src/baum/Blatt.java new file mode 100644 index 0000000..5c5cbf2 --- /dev/null +++ b/Java/baum/src/baum/Blatt.java @@ -0,0 +1,27 @@ +/* + * Blattklasse + * zeigt den Buchstaben an, der über diesen Pfad kodiert werden soll + */ +package baum; + +/** + * + * @author frank.baethge + */ +public class Blatt extends Ast { + private char buchstabe; + + public Blatt(char c, int h) { + buchstabe = c; + setHäufigkeit(h); + } + + @Override + public String ausgeben(String kodierung) { + return "\"" + buchstabe + '"' + kodierung + ' '; + } + @Override + public Integer berechneBitlänge(int ebene) { + return ebene * getHäufigkeit(); + } +} \ No newline at end of file diff --git a/Java/pzz/build.xml b/Java/pzz/build.xml new file mode 100644 index 0000000..157d83b --- /dev/null +++ b/Java/pzz/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project pzz. + + + diff --git a/Java/pzz/build/classes/.netbeans_automatic_build b/Java/pzz/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/Java/pzz/build/classes/.netbeans_update_resources b/Java/pzz/build/classes/.netbeans_update_resources new file mode 100644 index 0000000..e69de29 diff --git a/Java/pzz/build/classes/pzz/Primzahl.class b/Java/pzz/build/classes/pzz/Primzahl.class new file mode 100644 index 0000000000000000000000000000000000000000..2664c2d045cad8ad2f3acbf4d9f381481d56e547 GIT binary patch literal 621 zcmY*WT}vB56g_u0$!fC3@1(7^jc;)k^WdXJkU~L7s$j{3ZKnc`QnS9 z2tL?CMOuGPA4}UalTa$d-h1cHx#ygjef)iU2VfH`MdYzGi5!+qc1Gt`_k&(Xryo?O%g$W0 zAF6I!rIFc>o4M>bIwMIu==F5ULM4fgDLGqzDrBf75qRMsO?6BsQwNy}Pg^RnRP;;j zLwXXp^;H@!9`pxksNY3KyhPVKNwRUGJ}DnX)O<`}(nkTF!2kbBf*Av9bXEMZvDZ1# zA+^ZZMvd>1=VLisoMR=1gxO_PM2XSoZqFis>EH$u$Tgf`=^E~(9i3vFBN1@Nc+2rG zDB~+Xpu$0paT!um%}|E-#w=$>o>yh zN%ugC@9h1sLbVaaKcOn-iQ&)2A{JPg43mGs@lYxAsETJ}2MuQ7aXz?$d%?o7dIj5j QwEX@EFy5AOG?|+!l8fVN#nr}@S}{g zK!OK1*?D>M-puTN|9pM{7~#Z)g`SH(4s9IS7zo;zI@8sapgBC73ap#_ITmySoyB*H zc^H?EDon}rf;>{`RF&HF8`7#?^sB%Lin{h6>UvCrxzd?nFnkJTYN`BGWr;tjN}VO+ zRe&lJO8Wnd1@0tYlu>-EO=5?J7skUw3vC<69z5&{>`jLr3S`VoD2;{?zkS zSaoF-DW)TRr1@>?SxvtcsjBPPcd8+q$GTADxhY}bz*@A^!|H-007B@4?~v5-c_!k~^;u|{9LspPjQ z_?N3nLk6)5DcA$EMLoc(-wb?@rrC3{ppBc-wpGNDZ*l0wU&H;UnT8zd8~_Q zS0GF#XJ;{YZ!+1Z|EV^*JP>HM7cX`O0*$^MDPAPns5htMp~^qVVMfndVpEw7WUie( zb2eN8!oM;`<^4<+g`&B#02=KvUsI-~w&tD6KiYh(Mgp7dHCgIT}?}Y^^3v;g7@|`Pt{B97%rdJ_s9V==b=e6TWE9iT9wCkBHqk>}KF+&%(&m#H1lcAlWq{R+|fhT7*UCZyym z%4fJjdE-0^D`?STe1#?$v5K`BR&R#ocfLS$zoR~f3aaPNN#Ml-oc|Zj$5mV-OdZz= VUSqnOJRAIzx6!Q9@q6*)`UAYPmVN*L literal 0 HcmV?d00001 diff --git a/Java/pzz/build/classes/pzz/pzzApp$3.class b/Java/pzz/build/classes/pzz/pzzApp$3.class new file mode 100644 index 0000000000000000000000000000000000000000..dd3db71c0d2b846fb7a03ade2d02ed8459f11630 GIT binary patch literal 506 zcmYjO%TB^T6g^W4)lxxG@U0sb;KG`)6JuhCCMH!AF-_D}DH9k{rlb!S{D{%Na3hH( zet;ikyai%i%zfW;&%N{g^YI0sfqfl0lr>azC@3dlUBiZkO$}QNxf3Bpbjpya)oli~ z<##zl(Grqh$HNW}?wpQCk&@-Rj%Pc8Nc?$Fjrt;FFfOI!LCbT(kds@mM&q$b?`$-x zHkt$-#F9a8`*Gm%3z5L(XX(R%^W@ODbLo11C}i)7M}5C*U>iFI7O+TdDVTv>?9sS1 zQf)9SCm5#Z$ewxA8E`iuvT5ixmU6a%I&=ilsMH>XmX6IfDbd_uXO pAfvuRO)-)m0$z~E>pvW0j+4O(WfhdLN?Ijr4F$4vLd=pTlD}AMUdaFe literal 0 HcmV?d00001 diff --git a/Java/pzz/build/classes/pzz/pzzApp.class b/Java/pzz/build/classes/pzz/pzzApp.class new file mode 100644 index 0000000000000000000000000000000000000000..16d06cef756fda3ba72e255044d5309fc34eb52f GIT binary patch literal 8132 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 literal 0 HcmV?d00001 diff --git a/Java/pzz/build/classes/pzz/pzzApp.form b/Java/pzz/build/classes/pzz/pzzApp.form new file mode 100644 index 0000000..c7d28d3 --- /dev/null +++ b/Java/pzz/build/classes/pzz/pzzApp.form @@ -0,0 +1,110 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/pzz/manifest.mf b/Java/pzz/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Java/pzz/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Java/pzz/nbproject/build-impl.xml b/Java/pzz/nbproject/build-impl.xml new file mode 100644 index 0000000..5a97f49 --- /dev/null +++ b/Java/pzz/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/pzz/nbproject/genfiles.properties b/Java/pzz/nbproject/genfiles.properties new file mode 100644 index 0000000..4f23064 --- /dev/null +++ b/Java/pzz/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=267c11e7 +build.xml.script.CRC32=d6d42c9a +build.xml.stylesheet.CRC32=8064a381@1.68.1.46 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=267c11e7 +nbproject/build-impl.xml.script.CRC32=d04ef97b +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/Java/pzz/nbproject/private/private.properties b/Java/pzz/nbproject/private/private.properties new file mode 100644 index 0000000..c5535e5 --- /dev/null +++ b/Java/pzz/nbproject/private/private.properties @@ -0,0 +1,2 @@ +compile.on.save=true +user.properties.file=C:\\Users\\Hannes\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Java/pzz/nbproject/private/private.xml b/Java/pzz/nbproject/private/private.xml new file mode 100644 index 0000000..2eee429 --- /dev/null +++ b/Java/pzz/nbproject/private/private.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/Java/pzz/nbproject/project.properties b/Java/pzz/nbproject/project.properties new file mode 100644 index 0000000..312a401 --- /dev/null +++ b/Java/pzz/nbproject/project.properties @@ -0,0 +1,71 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/pzz.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath= +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.7 +javac.target=1.7 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=pzz.Pzz +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Java/pzz/nbproject/project.xml b/Java/pzz/nbproject/project.xml new file mode 100644 index 0000000..25a569f --- /dev/null +++ b/Java/pzz/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + pzz + + + + + + + + + diff --git a/Java/pzz/pzz.iml b/Java/pzz/pzz.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/Java/pzz/pzz.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Java/pzz/src/pzz/Pzz.java b/Java/pzz/src/pzz/Pzz.java new file mode 100644 index 0000000..5cdf656 --- /dev/null +++ b/Java/pzz/src/pzz/Pzz.java @@ -0,0 +1,6 @@ +package pzz; +public class Pzz { + public static void main(String[] args) { + pzzApp.main(args); + } +} diff --git a/Java/pzz/src/pzz/pzzApp.form b/Java/pzz/src/pzz/pzzApp.form new file mode 100644 index 0000000..c7d28d3 --- /dev/null +++ b/Java/pzz/src/pzz/pzzApp.form @@ -0,0 +1,110 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Java/pzz/src/pzz/pzzApp.java b/Java/pzz/src/pzz/pzzApp.java new file mode 100644 index 0000000..42c412c --- /dev/null +++ b/Java/pzz/src/pzz/pzzApp.java @@ -0,0 +1,203 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package pzz; + +import javax.swing.JTextArea; + +/** + * + * @author Hannes + */ +public class pzzApp extends javax.swing.JFrame { + static Primzahl erste = new Primzahl(2); + /** + * Creates new form pzzApp + */ + public pzzApp() { + initComponents(); + } + + + + static public Boolean addIfPrime(int z) + { + Primzahl current = erste; + while(Math.sqrt(z) >= current.Zahl() && current != null) + { + if(z % current.Zahl() == 0) + return false; + current = current.next; + } + erste.append(new Primzahl(z)); + return true; + } + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + jLabel1 = new javax.swing.JLabel(); + textFeld = new javax.swing.JTextField(); + jButton1 = new javax.swing.JButton(); + jScrollPane2 = new javax.swing.JScrollPane(); + jTextArea2 = new javax.swing.JTextArea(); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + + jLabel1.setBackground(new java.awt.Color(102, 102, 255)); + jLabel1.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + jLabel1.setForeground(new java.awt.Color(255, 0, 0)); + jLabel1.setText("Primzahlen sollen hier angezeigt werden."); + jLabel1.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + pzzApp_Label_mouseClicked(evt); + } + }); + + textFeld.setText("1234"); + + jButton1.setText("jButton1"); + jButton1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton1ActionPerformed(evt); + } + }); + + jTextArea2.setColumns(20); + jTextArea2.setRows(5); + jScrollPane2.setViewportView(jTextArea2); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(textFeld) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jButton1))) + .addGap(4, 4, 4))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(textFeld, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jButton1)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + pack(); + }// //GEN-END:initComponents + + private void pzzApp_Label_mouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_pzzApp_Label_mouseClicked + System.out.println(textFeld.getText()); + }//GEN-LAST:event_pzzApp_Label_mouseClicked + + private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed + int startCount = 0; + int startZahl = Integer.parseInt(textFeld.getText()); + erste = new Primzahl(2); + + for (int i = 3; startCount <= 10; i++) { + if(addIfPrime(i) && i > startZahl) + startCount ++; + } + Ausgabe(startZahl); + }//GEN-LAST:event_jButton1ActionPerformed + + /** + * @param args the command line arguments + */ + + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(pzzApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(pzzApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(pzzApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(pzzApp.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new pzzApp().setVisible(true); + } + }); + } + public void Ausgabe(int bigger) + { + Primzahl current = erste; + int c = 1; + String outP = ""; + while(current.next != null) + { + + if(current.Zahl() > bigger) + outP = outP + current.Zahl() + "\n"; + current = current.next; + c++; + } + System.out.println("Anzahl: " + c); + jTextArea2.setText(outP); + outP = ""; + //System.out.println("Anzahl: " + c); + } + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton jButton1; + private javax.swing.JLabel jLabel1; + private javax.swing.JScrollPane jScrollPane2; + private javax.swing.JTextArea jTextArea2; + private javax.swing.JTextField textFeld; + // End of variables declaration//GEN-END:variables +} +class Primzahl +{ + private int id; + public Primzahl next = null; + + + public Primzahl(int nummer) + { + this.id = nummer; + } + public void append(Primzahl p) + { + Primzahl current = this; + while(current.next != null) + { + current = current.next; + } + current.next = p; + } + public int Zahl() {return id;} +} diff --git a/Processing.js/GameOfLife/index.gdoc b/Processing.js/GameOfLife/index.gdoc new file mode 100644 index 0000000..95d3bec --- /dev/null +++ b/Processing.js/GameOfLife/index.gdoc @@ -0,0 +1 @@ +{"url": "https://docs.google.com/open?id=1QkHcl81JN7TfjVc8k7t_bcg5ovx__Q8CeU1VwwTNy6o", "doc_id": "1QkHcl81JN7TfjVc8k7t_bcg5ovx__Q8CeU1VwwTNy6o", "email": "13hannes11@gmail.com", "resource_id": "document:1QkHcl81JN7TfjVc8k7t_bcg5ovx__Q8CeU1VwwTNy6o"} \ No newline at end of file diff --git a/Processing.js/GameOfLife/main.pds b/Processing.js/GameOfLife/main.pds new file mode 100644 index 0000000..cb130de --- /dev/null +++ b/Processing.js/GameOfLife/main.pds @@ -0,0 +1,178 @@ +int minToLive = 2; +int maxToLive = 3; +int countForBirth = 3; + +int sizeX = 20; +int sizeY = 20; +int fieldSize = 10; +boolean[][] board; +boolean paused = true; + +void reInit(int w, int h, int fS){ + noLoop(); + + sizeX = w; + sizeY = h; + fieldSize = fS; + + fill(255); + text("X: " + sizeX + " | Y: " + sizeY + " || FieldSize: " + fieldSize, 20, 20) + paused = true; + setup(); + +} +void setup(){ + board = new boolean[sizeX][sizeY]; + + frameRate(10); + size(sizeX * fieldSize , sizeY * fieldSize); + + loop(); +} +void draw(){ + background(255); + + for(int x = 0; x < sizeX; x++){ + for(int y = 0; y < sizeY; y++){ + noStroke(); + if(board[x][y]) + fill(150,0,0); + else + fill(100); + rect(x*fieldSize, y* fieldSize, fieldSize, fieldSize); + + /*fill(255); + text("" + countNeighbours(x, y) + "" ,x*fieldSize, y*fieldSize + fieldSize);*/ + } + } + update(); +} + +void mouseDragged(){ + if(mousePressed){ + int x = (int)(mouseX / fieldSize); + int y = (int)(mouseY / fieldSize); + + board[x][y] = true; + } +} + +void update(){ + if(!paused){ + boolean[][] _tmp = new boolean[sizeX][sizeY]; + //arrayCopy(board,_tmp); // _tmp = board.clone(); + + for(int x = 0; x < sizeX; x++){ + for(int y = 0; y < sizeY; y++){ + int c = countNeighbours(x,y); + if(c < minToLive || c > maxToLive) + _tmp[x][y] = false; + else if(c == countForBirth || (c >= minToLive && c <= maxToLive && board[x][y])) + _tmp[x][y] = true; + } + } + + arrayCopy(_tmp, board); //board = _tmp.clone(); + //paused = true; + } +} + +// 1 2 3 +// 4 5 +// 6 7 8 +int countNeighbours(int x, int y){ + int counter = 0; + + int _x = 0; + int _y = 0; + + //N1 + if(x == 0) + _x = sizeX -1; + else + _x = x -1; + + if(y == 0) + _y = sizeY -1; + else + _y = y -1; + + if(board[_x][_y]) + counter++; + + //N2 + _x = x; + if(y == 0) + _y = sizeY -1; + else + _y = y - 1; + if(board[_x][_y]) + counter++; + //N3 + if(x == sizeX -1) + _x = 0; + else + _x = x + 1; + if(y == 0) + _y = sizeY -1; + else + _y = y -1; + if(board[_x][_y]) + counter++; + //N4 + _y = y; + if(x == 0) + _x = sizeX -1; + else + _x = x -1; + if(board[_x][_y]) + counter++; + //N5 + _y = y; + if(x == sizeX -1) + _x = 0; + else + _x = x +1; + if(board[_x][_y]) + counter++; + //N6 + if(x == 0) + _x = sizeX -1; + else + _x = x -1; + if(y == sizeY -1) + _y = 0; + else + _y = y +1; + if(board[_x][_y]) + counter++; + //N7 + _x = x; + if(y == sizeY -1) + _y = 0; + else + _y = y +1; + if(board[_x][_y]) + counter++; + //N8 + if(x == sizeX -1) + _x = 0; + else + _x = x +1; + if(y == sizeY -1) + _y = 0; + else + _y = y +1; + if(board[_x][_y]) + counter++; + return counter; +} +void pause(){ + paused = !paused; +} +void keyPressed() { + if(keyCode == ENTER) + paused = !paused; + if(keyCode == DOWN) + reInit(20,20,10); +} diff --git a/Processing.js/Snake/index.gdoc b/Processing.js/Snake/index.gdoc new file mode 100644 index 0000000..26d51ae --- /dev/null +++ b/Processing.js/Snake/index.gdoc @@ -0,0 +1 @@ +{"url": "https://docs.google.com/open?id=1RieLIrJ4LaA-H_IU0cLJ1IX50utv-LYIDgeJX7ekAGA", "doc_id": "1RieLIrJ4LaA-H_IU0cLJ1IX50utv-LYIDgeJX7ekAGA", "email": "13hannes11@gmail.com", "resource_id": "document:1RieLIrJ4LaA-H_IU0cLJ1IX50utv-LYIDgeJX7ekAGA"} \ No newline at end of file diff --git a/Processing.js/Snake/main.pds b/Processing.js/Snake/main.pds new file mode 100644 index 0000000..9456c98 --- /dev/null +++ b/Processing.js/Snake/main.pds @@ -0,0 +1,157 @@ +boolean gameOver = false; +int SizeX = 600; +int SizeY = 600; +sn snake1 = new sn(); +apple a = new apple(); + +void setup(){ + frameRate(10); + size(SizeX, SizeY); +} +void draw(){ + if(focused){ + background(0); + if(gameOver){ + if(keyPressed){ + snake1 = new sn(); + a = new apple(); + gameOver = false; + } + textSize(64); + fill(255); + text("GAME OVER!!!", 100, 180); + + textSize(32); + fill(0,0,255); + text("Score: " + (snake1.Length - 20), 220, 250); + fill(255,0,0); + text("PRESS ANY KEY TO RESTART",100, 300); + } else { + textSize(12); + fill(255); + text("Speed (Pixel per Second): " + (round(frameRate * 10)), 0, 12); + text("Score: " + (snake1.Length - 20), 0, 28); + + if(snake1.Length < 10) + frameRate(10); + else + frameRate(snake1.Length); + + snake1.Draw(); + a.Draw(); + + if(a.Collision(snake1.parts[0].X, snake1.parts[0].Y, snake1.parts[0].size)) { + snake1.parts[snake1.Length] = new Part(snake1.parts[snake1.Length -1].X, snake1.parts[snake1.Length -1].Y); + snake1.Length ++; + a = new apple(); + } + } + gameOver = snake1.Lose(); + } +} +void keyPressed(){ + snake1.keyPressed(); +} + +class apple{ + int posX; + int posY; + int size = 10; + + public apple(){ + posX = (int)random(0, (SizeX - size) / 10) * 10; + posY = (int)random(0, (SizeY - size) / 10) * 10; + } + void Draw(){ + fill(255,0,0); + rect(posX, posY, size, size); + } + + public boolean Collision(int x, int y, int s){ + if(posX == x && posY == y) { + return true; + } else { + return false; + } + } +} + +class sn{ + public int Length = 20; + public String direction = "up"; + public Part[] parts = new Part[1000]; + + public sn(){ + int rx = (int)random(0,SizeX / 10) * 10; + int ry = (int)random(0,SizeY / 10) * 10; + for(int i = 0; i < Length; i++){ + parts[i] = new Part(rx, ry); + ry += 10; + } + } + boolean move(){ + for(int i = Length - 2; i >= 0; i--){ + parts[i + 1] = parts[i]; + } + + if(direction == "up") { + parts[0] = new Part(parts[0].X, parts[0].Y - parts[0].size); + } + if(direction == "down") { + parts[0] = new Part(parts[0].X, parts[0].Y + parts[0].size); + } + if(direction == "left") { + parts[0] = new Part(parts[0].X - parts[0].size, parts[0].Y); + } + if(direction == "right") { + parts[0] = new Part(parts[0].X + parts[0].size, parts[0].Y); + } + + return true; + } + + boolean Lose(){ + //Crossing Border + if(parts[0].X < 0 || parts[0].X + parts[0].size > SizeX || parts[0].Y < 0 || parts[0].Y + parts[0].size > SizeY ){ + return true; + } + + //Snake internal collision + for(int i = 1; i < Length; i++) + if(parts[i].X == parts[0].X && parts[i].Y == parts[0].Y){ + return true; + } + return false; + } + void Draw(){ + fill(255); + for (int i = Length - 1; i >= 0; i--) { + parts[i].Draw(); + println(i + " | " + parts[i].X + " | " + parts[i].Y); + } + move(); + } + void keyPressed(){ + if(keyCode == DOWN && direction != "up") + direction = "down"; + if(keyCode == UP && direction != "down") + direction = "up"; + if(keyCode == LEFT && direction != "right") + direction = "left"; + if(keyCode == RIGHT && direction != "left") + direction = "right"; + } +} +class Part{ + public int size = 10; + public int X; + public int Y; + + public Part(int x, int y){ + X = x; + Y = y; + } + void Draw(){ + rect(X, Y, size, size); + } +} \ No newline at end of file diff --git a/Processing.js/js/processing.js b/Processing.js/js/processing.js new file mode 100644 index 0000000..ea38cb9 --- /dev/null +++ b/Processing.js/js/processing.js @@ -0,0 +1,431 @@ +(function e$$0(x,Q,k){function h(a,b){if(!Q[a]){if(!x[a]){var d="function"==typeof require&&require;if(!b&&d)return d(a,!0);if(m)return m(a,!0);throw Error("Cannot find module '"+a+"'");}d=Q[a]={exports:{}};x[a][0].call(d.exports,function(f){var b=x[a][1][f];return h(b?b:f)},d,d.exports,e$$0,x,Q,k)}return Q[a].exports}for(var m="function"==typeof require&&require,n=0;nr.$methodArgsIndex?r.$overloads[r.$methodArgsIndex]:null)||r.$defaultOverload).apply(this,arguments)};r.$overloads=p;"$methodArgsIndex"in f&&(r.$methodArgsIndex= +f.$methodArgsIndex);r.$defaultOverload=l;r.name=d;a[d]=r}}else a[d]=f}function n(b,d){function f(f){a.defineProperty(b,f,{get:function(){return d[f]},set:function(c){d[f]=c},enumerable:!0})}var l=[],p;for(p in d)"function"===typeof d[p]?m(b,p,d[p]):"$"===p.charAt(0)||p in b||l.push(p);for(;0 +c.$methodArgsIndex?c.$overloads[c.$methodArgsIndex]:null)||c.$defaultOverload).apply(this,arguments)},h=[];p&&(h[p.length]=p);h[r]=f;c.$overloads=h;c.$defaultOverload=p||f;l&&(c.$methodArgsIndex=r);c.name=d;a[d]=c}}else a[d]=f};a.createJavaArray=function(b,d){var f=null,l=null;if("string"===typeof b)if("boolean"===b)l=!1;else{var p;p="string"!==typeof b?!1:-1!=="byte int char color float long double".split(" ").indexOf(b);p&&(l=0)}if("number"===typeof d[0])if(p=0|d[0],1>=d.length){f=[];f.length=p; +for(var r=0;r "+b);if(v===h)if(0===p.length)try{return new k(f,l.join("\n"))}catch(md){throw console.log("Processing.js: Unable to execute pjs sketch."),md;}else throw"Processing.js: Unable to load pjs sketch files: "+p.join("\n");}if("#"===a.charAt(0)){var ca=n.getElementById(a.substring(1));ca?m(ca.text||ca.textContent):m("","Unable to load pjs sketch: element with id '"+ +a.substring(1)+"' was not found")}else d(a,m)}for(var l=[],p=[],h=c.length,v=0,ga=0;gaa||a>b.length)throw"Index out of bounds for addAll: "+a+" greater or equal than "+b.length;for(l=new ObjectIterator(f);l.hasNext();)b.splice(a++,0,l.next())}else for(l=new ObjectIterator(a);l.hasNext();)b.push(l.next())};this.set=function(){if(2===arguments.length){var a= +arguments[0];if("number"===typeof a)if(0<=a&&af?c.length+f:f}function b(){if(!(k<=r*c.length)){for(var f=[],b=0;b=c.length)p= +!0;else if(void 0===c[d]||l>=c[d].length)l=-1,++d;else break}var d=0,l=-1,p=!1,r;this.hasNext=function(){return!p};this.next=function(){r=f(c[d][l]);b();return r};this.remove=function(){void 0!==r&&(a(r),--l,b())};b()}function f(c,f,a){this.clear=function(){ca.clear()};this.contains=function(c){return f(c)};this.containsAll=function(c){for(c=c.iterator();c.hasNext();)if(!this.contains(c.next()))return!1;return!0};this.isEmpty=function(){return ca.isEmpty()};this.iterator=function(){return new d(c, +a)};this.remove=function(c){return this.contains(c)?(a(c),!0):!1};this.removeAll=function(c){for(c=c.iterator();c.hasNext();){var f=c.next();this.contains(f)&&a(f)}return!0};this.retainAll=function(c){for(var f=this.iterator(),b=[];f.hasNext();){var d=f.next();c.contains(d)||b.push(d)}for(c=0;cdbflkhyjqpg";n.body.appendChild(p);var c=l.width,k=l.height,l=k/2;r.fillStyle="white";r.fillRect(0,0,c,k);r.fillStyle="black";r.fillText("dbflkhyjqpg",0,l);for(var k=r.getImageData(0,0,c,k).data,m=0,G=4*c,A=k.length;++m=2*this.size&&(this.leading=Math.round(l/2)));n.body.removeChild(p);f=this.caching?r:void 0;this.context2d=f;this.css=this.getCSSDefinition();this.context2d&&(this.context2d.font=this.css)}var n=k.Browser.document,a=k.noop;m.prototype.caching=!0;m.prototype.getCSSDefinition=function(a,d){a===h&&(a=this.size+"px");d===h&&(d=this.leading+"px");return[this.style,"normal", +this.weight,a+"/"+d,this.family].join(" ")};m.prototype.measureTextWidth=function(a){return this.context2d.measureText(a).width};m.prototype.measureTextWidthFallback=function(a){var d=n.createElement("canvas").getContext("2d");d.font=this.css;return d.measureText(a).width};m.PFontCache={length:0};m.get=function(a,d){d=(10*d+0.5|0)/10;var f=m.PFontCache,l=a+"/"+d;if(!f[l]){f[l]=new m(a,d);f.length++;if(50===f.length){m.prototype.measureTextWidth=m.prototype.measureTextWidthFallback;m.prototype.caching= +!1;for(var p in f)"length"!==p&&(f[p].context2d=null);return new m(a,d)}if(400===f.length)return m.PFontCache={},m.get=m.getFallback,new m(a,d)}return f[l]};m.getFallback=function(a,d){return new m(a,d)};m.list=function(){return["sans-serif","serif","monospace","fantasy","cursive"]};m.preloading={template:{},initialized:!1,initialize:function(){var a=n.createElement("style");a.setAttribute("type","text/css");a.innerHTML='@font-face {\n font-family: "PjsEmptyFont";\n src: url(\'data:application/x-font-ttf;base64,'+ +function(){return"#E3KAI2wAgT1MvMg7Eo3VmNtYX7ABi3CxnbHlm7Abw3kaGVhZ7ACs3OGhoZWE7A53CRobXR47AY3AGbG9jYQ7G03Bm1heH7ABC3CBuYW1l7Ae3AgcG9zd7AI3AE#B3AQ2kgTY18PPPUACwAg3ALSRoo3#yld0xg32QAB77#E777773B#E3C#I#Q77773E#Q7777777772CMAIw7AB77732B#M#Q3wAB#g3B#E#E2BB//82BB////w#B7#gAEg3E77x2B32B#E#Q#MTcBAQ32gAe#M#QQJ#E32M#QQJ#I#g32Q77#".replace(/[#237]/g,function(a){return"AAAAAAAA".substr(~~a?7-a:6)})}()+"')\n format('truetype');\n}";n.head.appendChild(a);a=n.createElement("span");a.style.cssText='position: absolute; top: 0; left: 0; opacity: 0; font-family: "PjsEmptyFont", fantasy;'; +a.innerHTML="AAAAAAAA";n.body.appendChild(a);this.template=a;this.initialized=!0},getElementWidth:function(a){return n.defaultView.getComputedStyle(a,"").getPropertyValue("width")},timeAttempted:0,pending:function(a){this.initialized||this.initialize();for(var d,f,l=this.getElementWidth(this.template),p=0;pthis.timeAttempted&&f===l)return this.timeAttempted+=a,!0;n.body.removeChild(d);this.fontList.splice(p--,1);this.timeAttempted= +0}return 0===this.fontList.length?!1:!0},fontList:[],addedList:{},add:function(a){this.initialized||this.initialize();var d="object"===typeof a?a.fontFace:a;a="object"===typeof a?a.url:a;if(!this.addedList[d]){var f=n.createElement("style");f.setAttribute("type","text/css");f.innerHTML="@font-face{\n font-family: '"+d+"';\n src: url('"+a+"');\n}\n";n.head.appendChild(f);this.addedList[d]=!0;a=n.createElement("span");a.style.cssText="position: absolute; top: 0; left: 0; opacity: 0;";a.style.fontFamily= +'"'+d+'", "PjsEmptyFont", fantasy';a.innerHTML="AAAAAAAA";n.body.appendChild(a);this.fontList.push(a)}}};return m}},{}],13:[function(D,x,Q){x.exports=function(k,h){var m=k.p,n=function(){0===arguments.length?this.reset():1===arguments.length&&arguments[0]instanceof n?this.set(arguments[0].array()):6===arguments.length&&this.set(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5])};n.prototype={set:function(){if(6===arguments.length){var a=arguments;this.set([a[0],a[1],a[2], +a[3],a[4],a[5]])}else 1===arguments.length&&arguments[0]instanceof n?this.elements=arguments[0].array():1===arguments.length&&arguments[0]instanceof Array&&(this.elements=arguments[0].slice())},get:function(){var a=new n;a.set(this.elements);return a},reset:function(){this.set([1,0,0,0,1,0])},array:function(){return this.elements.slice()},translate:function(a,b){this.elements[2]=a*this.elements[0]+b*this.elements[1]+this.elements[2];this.elements[5]=a*this.elements[3]+b*this.elements[4]+this.elements[5]}, +invTranslate:function(a,b){this.translate(-a,-b)},transpose:function(){},mult:function(a,b){var d,f;a instanceof PVector?(d=a.x,f=a.y,b||(b=new PVector)):a instanceof Array&&(d=a[0],f=a[1],b||(b=[]));b instanceof Array?(b[0]=this.elements[0]*d+this.elements[1]*f+this.elements[2],b[1]=this.elements[3]*d+this.elements[4]*f+this.elements[5]):b instanceof PVector&&(b.x=this.elements[0]*d+this.elements[1]*f+this.elements[2],b.y=this.elements[3]*d+this.elements[4]*f+this.elements[5],b.z=0);return b},multX:function(a, +b){return a*this.elements[0]+b*this.elements[1]+this.elements[2]},multY:function(a,b){return a*this.elements[3]+b*this.elements[4]+this.elements[5]},skewX:function(a){this.apply(1,0,1,a,0,0)},skewY:function(a){this.apply(1,0,1,0,a,0)},shearX:function(a){this.apply(1,0,1,Math.tan(a),0,0)},shearY:function(a){this.apply(1,0,1,0,Math.tan(a),0)},determinant:function(){return this.elements[0]*this.elements[4]-this.elements[1]*this.elements[3]},invert:function(){var a=this.determinant();if(Math.abs(a)>PConstants.MIN_INT){var b= +this.elements[0],d=this.elements[1],f=this.elements[2],l=this.elements[3],p=this.elements[4],r=this.elements[5];this.elements[0]=p/a;this.elements[3]=-l/a;this.elements[1]=-d/a;this.elements[4]=b/a;this.elements[2]=(d*r-p*f)/a;this.elements[5]=(l*f-b*r)/a;return!0}return!1},scale:function(a,b){a&&!b&&(b=a);a&&b&&(this.elements[0]*=a,this.elements[1]*=b,this.elements[3]*=a,this.elements[4]*=b)},invScale:function(a,b){a&&!b&&(b=a);this.scale(1/a,1/b)},apply:function(){var a;1===arguments.length&&arguments[0]instanceof +n?a=arguments[0].array():6===arguments.length?a=Array.prototype.slice.call(arguments):1===arguments.length&&arguments[0]instanceof Array&&(a=arguments[0]);for(var b=[0,0,this.elements[2],0,0,this.elements[5]],d=0,f=0;2>f;f++)for(var l=0;3>l;l++,d++)b[d]+=this.elements[3*f+0]*a[l+0]+this.elements[3*f+1]*a[l+3];this.elements=b.slice()},preApply:function(){var a;1===arguments.length&&arguments[0]instanceof n?a=arguments[0].array():6===arguments.length?a=Array.prototype.slice.call(arguments):1===arguments.length&& +arguments[0]instanceof Array&&(a=arguments[0]);var b=[0,0,a[2],0,0,a[5]];b[2]=a[2]+this.elements[2]*a[0]+this.elements[5]*a[1];b[5]=a[5]+this.elements[2]*a[3]+this.elements[5]*a[4];b[0]=this.elements[0]*a[0]+this.elements[3]*a[1];b[3]=this.elements[0]*a[3]+this.elements[3]*a[4];b[1]=this.elements[1]*a[0]+this.elements[4]*a[1];b[4]=this.elements[1]*a[3]+this.elements[4]*a[4];this.elements=b.slice()},rotate:function(a){var b=Math.cos(a);a=Math.sin(a);var d=this.elements[0],f=this.elements[1];this.elements[0]= +b*d+a*f;this.elements[1]=-a*d+b*f;d=this.elements[3];f=this.elements[4];this.elements[3]=b*d+a*f;this.elements[4]=-a*d+b*f},rotateZ:function(a){this.rotate(a)},invRotateZ:function(a){this.rotateZ(a-Math.PI)},print:function(){var a=printMatrixHelper(this.elements),a=""+m.nfs(this.elements[0],a,4)+" "+m.nfs(this.elements[1],a,4)+" "+m.nfs(this.elements[2],a,4)+"\n"+m.nfs(this.elements[3],a,4)+" "+m.nfs(this.elements[4],a,4)+" "+m.nfs(this.elements[5],a,4)+"\n\n";m.println(a)}};return n}},{}],14:[function(D, +x,Q){x.exports=function(k,h){var m=k.p,n=function(){this.reset()};n.prototype={set:function(){16===arguments.length?this.elements=Array.prototype.slice.call(arguments):1===arguments.length&&arguments[0]instanceof n?this.elements=arguments[0].array():1===arguments.length&&arguments[0]instanceof Array&&(this.elements=arguments[0].slice())},get:function(){var a=new n;a.set(this.elements);return a},reset:function(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},array:function(){return this.elements.slice()}, +translate:function(a,b,d){d===h&&(d=0);this.elements[3]+=a*this.elements[0]+b*this.elements[1]+d*this.elements[2];this.elements[7]+=a*this.elements[4]+b*this.elements[5]+d*this.elements[6];this.elements[11]+=a*this.elements[8]+b*this.elements[9]+d*this.elements[10];this.elements[15]+=a*this.elements[12]+b*this.elements[13]+d*this.elements[14]},transpose:function(){var a=this.elements[4];this.elements[4]=this.elements[1];this.elements[1]=a;a=this.elements[8];this.elements[8]=this.elements[2];this.elements[2]= +a;a=this.elements[6];this.elements[6]=this.elements[9];this.elements[9]=a;a=this.elements[3];this.elements[3]=this.elements[12];this.elements[12]=a;a=this.elements[7];this.elements[7]=this.elements[13];this.elements[13]=a;a=this.elements[11];this.elements[11]=this.elements[14];this.elements[14]=a},mult:function(a,b){var d,f,l,p;a instanceof PVector?(d=a.x,f=a.y,l=a.z,p=1,b||(b=new PVector)):a instanceof Array&&(d=a[0],f=a[1],l=a[2],p=a[3]||1,!b||3!==b.length&&4!==b.length)&&(b=[0,0,0]);b instanceof +Array&&(3===b.length?(b[0]=this.elements[0]*d+this.elements[1]*f+this.elements[2]*l+this.elements[3],b[1]=this.elements[4]*d+this.elements[5]*f+this.elements[6]*l+this.elements[7],b[2]=this.elements[8]*d+this.elements[9]*f+this.elements[10]*l+this.elements[11]):4===b.length&&(b[0]=this.elements[0]*d+this.elements[1]*f+this.elements[2]*l+this.elements[3]*p,b[1]=this.elements[4]*d+this.elements[5]*f+this.elements[6]*l+this.elements[7]*p,b[2]=this.elements[8]*d+this.elements[9]*f+this.elements[10]*l+ +this.elements[11]*p,b[3]=this.elements[12]*d+this.elements[13]*f+this.elements[14]*l+this.elements[15]*p));b instanceof PVector&&(b.x=this.elements[0]*d+this.elements[1]*f+this.elements[2]*l+this.elements[3],b.y=this.elements[4]*d+this.elements[5]*f+this.elements[6]*l+this.elements[7],b.z=this.elements[8]*d+this.elements[9]*f+this.elements[10]*l+this.elements[11]);return b},preApply:function(){var a;1===arguments.length&&arguments[0]instanceof n?a=arguments[0].array():16===arguments.length?a=Array.prototype.slice.call(arguments): +1===arguments.length&&arguments[0]instanceof Array&&(a=arguments[0]);for(var b=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],d=0,f=0;4>f;f++)for(var l=0;4>l;l++,d++)b[d]+=this.elements[l+0]*a[4*f+0]+this.elements[l+4]*a[4*f+1]+this.elements[l+8]*a[4*f+2]+this.elements[l+12]*a[4*f+3];this.elements=b.slice()},apply:function(){var a;1===arguments.length&&arguments[0]instanceof n?a=arguments[0].array():16===arguments.length?a=Array.prototype.slice.call(arguments):1===arguments.length&&arguments[0]instanceof Array&& +(a=arguments[0]);for(var b=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],d=0,f=0;4>f;f++)for(var l=0;4>l;l++,d++)b[d]+=this.elements[4*f+0]*a[l+0]+this.elements[4*f+1]*a[l+4]+this.elements[4*f+2]*a[l+8]+this.elements[4*f+3]*a[l+12];this.elements=b.slice()},rotate:function(a,b,d,f){if(d){var l=Math.cos(a);a=Math.sin(a);var p=1-l;this.apply(p*b*b+l,p*b*d-a*f,p*b*f+a*d,0,p*b*d+a*f,p*d*d+l,p*d*f-a*b,0,p*b*f-a*d,p*d*f+a*b,p*f*f+l,0,0,0,0,1)}else this.rotateZ(a)},invApply:function(){inverseCopy===h&&(inverseCopy=new n); +var a=arguments;inverseCopy.set(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15]);if(!inverseCopy.invert())return!1;this.preApply(inverseCopy);return!0},rotateX:function(a){var b=Math.cos(a);a=Math.sin(a);this.apply([1,0,0,0,0,b,-a,0,0,a,b,0,0,0,0,1])},rotateY:function(a){var b=Math.cos(a);a=Math.sin(a);this.apply([b,0,a,0,0,1,0,0,-a,0,b,0,0,0,0,1])},rotateZ:function(a){var b=Math.cos(a);a=Math.sin(a);this.apply([b,-a,0,0,a,b,0,0,0,0,1,0,0,0,0,1])},scale:function(a, +b,d){!a||b||d?a&&(b&&!d)&&(d=1):b=d=a;a&&(b&&d)&&(this.elements[0]*=a,this.elements[1]*=b,this.elements[2]*=d,this.elements[4]*=a,this.elements[5]*=b,this.elements[6]*=d,this.elements[8]*=a,this.elements[9]*=b,this.elements[10]*=d,this.elements[12]*=a,this.elements[13]*=b,this.elements[14]*=d)},skewX:function(a){a=Math.tan(a);this.apply(1,a,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},skewY:function(a){a=Math.tan(a);this.apply(1,0,0,0,a,1,0,0,0,0,1,0,0,0,0,1)},shearX:function(a){a=Math.tan(a);this.apply(1,a,0,0, +0,1,0,0,0,0,1,0,0,0,0,1)},shearY:function(a){a=Math.tan(a);this.apply(1,0,0,0,a,1,0,0,0,0,1,0,0,0,0,1)},multX:function(a,b,d,f){return d?f?this.elements[0]*a+this.elements[1]*b+this.elements[2]*d+this.elements[3]*f:this.elements[0]*a+this.elements[1]*b+this.elements[2]*d+this.elements[3]:this.elements[0]*a+this.elements[1]*b+this.elements[3]},multY:function(a,b,d,f){return d?f?this.elements[4]*a+this.elements[5]*b+this.elements[6]*d+this.elements[7]*f:this.elements[4]*a+this.elements[5]*b+this.elements[6]* +d+this.elements[7]:this.elements[4]*a+this.elements[5]*b+this.elements[7]},multZ:function(a,b,d,f){return f?this.elements[8]*a+this.elements[9]*b+this.elements[10]*d+this.elements[11]*f:this.elements[8]*a+this.elements[9]*b+this.elements[10]*d+this.elements[11]},multW:function(a,b,d,f){return f?this.elements[12]*a+this.elements[13]*b+this.elements[14]*d+this.elements[15]*f:this.elements[12]*a+this.elements[13]*b+this.elements[14]*d+this.elements[15]},invert:function(){var a=this.elements[0]*this.elements[5]- +this.elements[1]*this.elements[4],b=this.elements[0]*this.elements[6]-this.elements[2]*this.elements[4],d=this.elements[0]*this.elements[7]-this.elements[3]*this.elements[4],f=this.elements[1]*this.elements[6]-this.elements[2]*this.elements[5],l=this.elements[1]*this.elements[7]-this.elements[3]*this.elements[5],p=this.elements[2]*this.elements[7]-this.elements[3]*this.elements[6],r=this.elements[8]*this.elements[13]-this.elements[9]*this.elements[12],c=this.elements[8]*this.elements[14]-this.elements[10]* +this.elements[12],h=this.elements[8]*this.elements[15]-this.elements[11]*this.elements[12],k=this.elements[9]*this.elements[14]-this.elements[10]*this.elements[13],m=this.elements[9]*this.elements[15]-this.elements[11]*this.elements[13],n=this.elements[10]*this.elements[15]-this.elements[11]*this.elements[14],x=a*n-b*m+d*k+f*h-l*c+p*r;if(1E-9>=Math.abs(x))return!1;var v=[];v[0]=+this.elements[5]*n-this.elements[6]*m+this.elements[7]*k;v[4]=-this.elements[4]*n+this.elements[6]*h-this.elements[7]*c; +v[8]=+this.elements[4]*m-this.elements[5]*h+this.elements[7]*r;v[12]=-this.elements[4]*k+this.elements[5]*c-this.elements[6]*r;v[1]=-this.elements[1]*n+this.elements[2]*m-this.elements[3]*k;v[5]=+this.elements[0]*n-this.elements[2]*h+this.elements[3]*c;v[9]=-this.elements[0]*m+this.elements[1]*h-this.elements[3]*r;v[13]=+this.elements[0]*k-this.elements[1]*c+this.elements[2]*r;v[2]=+this.elements[13]*p-this.elements[14]*l+this.elements[15]*f;v[6]=-this.elements[12]*p+this.elements[14]*d-this.elements[15]* +b;v[10]=+this.elements[12]*l-this.elements[13]*d+this.elements[15]*a;v[14]=-this.elements[12]*f+this.elements[13]*b-this.elements[14]*a;v[3]=-this.elements[9]*p+this.elements[10]*l-this.elements[11]*f;v[7]=+this.elements[8]*p-this.elements[10]*d+this.elements[11]*b;v[11]=-this.elements[8]*l+this.elements[9]*d-this.elements[11]*a;v[15]=+this.elements[8]*f-this.elements[9]*b+this.elements[10]*a;a=1/x;v[0]*=a;v[1]*=a;v[2]*=a;v[3]*=a;v[4]*=a;v[5]*=a;v[6]*=a;v[7]*=a;v[8]*=a;v[9]*=a;v[10]*=a;v[11]*=a;v[12]*= +a;v[13]*=a;v[14]*=a;v[15]*=a;this.elements=v.slice();return!0},toString:function(){for(var a="",b=0;15>b;b++)a+=this.elements[b]+", ";return a+=this.elements[15]},print:function(){var a=printMatrixHelper(this.elements),a=""+m.nfs(this.elements[0],a,4)+" "+m.nfs(this.elements[1],a,4)+" "+m.nfs(this.elements[2],a,4)+" "+m.nfs(this.elements[3],a,4)+"\n"+m.nfs(this.elements[4],a,4)+" "+m.nfs(this.elements[5],a,4)+" "+m.nfs(this.elements[6],a,4)+" "+m.nfs(this.elements[7],a,4)+"\n"+m.nfs(this.elements[8], +a,4)+" "+m.nfs(this.elements[9],a,4)+" "+m.nfs(this.elements[10],a,4)+" "+m.nfs(this.elements[11],a,4)+"\n"+m.nfs(this.elements[12],a,4)+" "+m.nfs(this.elements[13],a,4)+" "+m.nfs(this.elements[14],a,4)+" "+m.nfs(this.elements[15],a,4)+"\n\n";m.println(a)},invTranslate:function(a,b,d){this.preApply(1,0,0,-a,0,1,0,-b,0,0,1,-d,0,0,0,1)},invRotateX:function(a){var b=Math.cos(-a);a=Math.sin(-a);this.preApply([1,0,0,0,0,b,-a,0,0,a,b,0,0,0,0,1])},invRotateY:function(a){var b=Math.cos(-a);a=Math.sin(-a); +this.preApply([b,0,a,0,0,1,0,0,-a,0,b,0,0,0,0,1])},invRotateZ:function(a){var b=Math.cos(-a);a=Math.sin(-a);this.preApply([b,-a,0,0,a,b,0,0,0,0,1,0,0,0,0,1])},invScale:function(a,b,d){this.preApply([1/a,0,0,0,0,1/b,0,0,0,0,1/d,0,0,0,0,1])}};return n}},{}],15:[function(D,x,Q){x.exports=function(k){var h=k.PConstants,m=k.PMatrix2D,n=k.PMatrix3D;k=function(a){this.family=a||h.GROUP;this.style=this.visible=!0;this.children=[];this.nameTable=[];this.params=[];this.name="";this.parent=this.height=this.width= +this.close=this.kind=this.matrix=this.image=null};k.prototype={isVisible:function(){return this.visible},setVisible:function(a){this.visible=a},disableStyle:function(){this.style=!1;for(var a=0,b=this.children.length;a, it's <"+this.element.getName()+">";}else 2===arguments.length&&("string"===typeof arguments[1]?-1 tag of this file.";this.parseColors(this.element);this.parseChildren(this.element)};d.prototype=new n;d.prototype.parseMatrix=function(){function f(f){var a=[];f.replace(/\((.*?)\)/,function(){return function(f,c){a=c.replace(/,+/g," ").split(/\s+/)}}()); +return a}return function(a){this.checkMatrix(2);var b=[];a.replace(/\s*(\w+)\((.*?)\)/g,function(c){b.push(h.trim(c))});if(0===b.length)return null;a=0;for(var d=b.length;a=v||97<=v&&122>=v){u=x;x++;if(x=v||97<=v&&100>=v||102<=v&&122>=v)&&!1===D;)32===v?""!==ga&&(q.push(parseFloat(ga)),ga=""):45===v?101===f[x-1].charCodeAt(0)?ga+=f[x].toString():(""!== +ga&&q.push(parseFloat(ga)),ga=f[x].toString()):ga+=f[x].toString(),x++,x===f.length?D=!0:v=f[x].charCodeAt(0);""!==ga&&(q.push(parseFloat(ga)),ga="");nc=f[u];v=nc.charCodeAt(0);if(77===v){if(2<=q.length&&0===q.length%2&&(a=q[0],b=q[1],this.parsePathMoveto(a,b),2this.params[2]||0>this.params[3])throw"svg error: negative width or height found while parsing ";};d.prototype.parseEllipse=function(a){this.kind=m.ELLIPSE;this.family=m.PRIMITIVE;this.params=[];this.params[0]=this.element.getFloatAttribute("cx")|0;this.params[1]=this.element.getFloatAttribute("cy")|0;var b;if(a){if(a=b=this.element.getFloatAttribute("r"), +0>a)throw"svg error: negative radius found while parsing ";}else if(a=this.element.getFloatAttribute("rx"),b=this.element.getFloatAttribute("ry"),0>a||0>b)throw"svg error: negative x-axis radius or y-axis radius found while parsing ";this.params[0]-=a;this.params[1]-=b;this.params[2]=2*a;this.params[3]=2*b};d.prototype.parseLine=function(){this.kind=m.LINE;this.family=m.PRIMITIVE;this.params=[];this.params[0]=this.element.getFloatAttribute("x1");this.params[1]=this.element.getFloatAttribute("y1"); +this.params[2]=this.element.getFloatAttribute("x2");this.params[3]=this.element.getFloatAttribute("y2")};d.prototype.parseColors=function(a){a.hasAttribute("opacity")&&this.setOpacity(a.getAttribute("opacity"));a.hasAttribute("stroke")&&this.setStroke(a.getAttribute("stroke"));a.hasAttribute("stroke-width")&&this.setStrokeWeight(a.getAttribute("stroke-width"));a.hasAttribute("stroke-linejoin")&&this.setStrokeJoin(a.getAttribute("stroke-linejoin"));a.hasAttribute("stroke-linecap")&&this.setStrokeCap(a.getStringAttribute("stroke-linecap")); +a.hasAttribute("fill")&&this.setFill(a.getStringAttribute("fill"));if(a.hasAttribute("style")){a=a.getStringAttribute("style").toString().split(";");for(var b=0,d=a.length;bb?a:a.indexOf("pt")===b?1.25*parseFloat(a.substring(0,b)):a.indexOf("pc")=== +b?15*parseFloat(a.substring(0,b)):a.indexOf("mm")===b?3.543307*parseFloat(a.substring(0,b)):a.indexOf("cm")===b?35.43307*parseFloat(a.substring(0,b)):a.indexOf("in")===b?90*parseFloat(a.substring(0,b)):a.indexOf("px")===b?parseFloat(a.substring(0,b)):parseFloat(a)};return d}},{}],17:[function(D,x,Q){x.exports=function(k,h){function m(a,b,l){this.x=a||0;this.y=b||0;this.z=l||0}function n(a){return function(b,l){var p=b.get();p[a](l);return p}}var a=k.PConstants;m.fromAngle=function(a,b){if(b===h|| +null===b)b=new m;b.x=Math.cos(a);b.y=Math.sin(a);return b};m.random2D=function(b){return m.fromAngle(Math.random()*a.TWO_PI,b)};m.random3D=function(b){var f=Math.random()*a.TWO_PI,l=2*Math.random()-1,p=Math.sqrt(1-l*l),r=p*Math.cos(f),f=p*Math.sin(f);b===h||null===b?b=new m(r,f,l):b.set(r,f,l);return b};m.dist=function(a,b){return a.dist(b)};m.dot=function(a,b){return a.dot(b)};m.cross=function(a,b){return a.cross(b)};m.sub=function(a,b){return new m(a.x-b.x,a.y-b.y,a.z-b.z)};m.angleBetween=function(a, +b){return Math.acos(a.dot(b)/(a.mag()*b.mag()))};m.lerp=function(a,b,l){a=new m(a.x,a.y,a.z);a.lerp(b,l);return a};m.prototype={set:function(a,b,l){1===arguments.length?this.set(a.x||a[0]||0,a.y||a[1]||0,a.z||a[2]||0):(this.x=a,this.y=b,this.z=l)},get:function(){return new m(this.x,this.y,this.z)},mag:function(){var a=this.x,b=this.y,l=this.z;return Math.sqrt(a*a+b*b+l*l)},magSq:function(){var a=this.x,b=this.y,l=this.z;return a*a+b*b+l*l},setMag:function(a,b){if(b===h)b=a,this.normalize(),this.mult(b); +else return a.normalize(),a.mult(b),a},add:function(a,b,l){1===arguments.length?(this.x+=a.x,this.y+=a.y,this.z+=a.z):(this.x+=a,this.y+=b,this.z+=l)},sub:function(a,b,l){1===arguments.length?(this.x-=a.x,this.y-=a.y,this.z-=a.z):(this.x-=a,this.y-=b,this.z-=l)},mult:function(a){"number"===typeof a?(this.x*=a,this.y*=a,this.z*=a):(this.x*=a.x,this.y*=a.y,this.z*=a.z)},div:function(a){"number"===typeof a?(this.x/=a,this.y/=a,this.z/=a):(this.x/=a.x,this.y/=a.y,this.z/=a.z)},rotate:function(a){var b= +this.x,l=Math.cos(a);a=Math.sin(a);this.x=l*this.x-a*this.y;this.y=a*b+l*this.y},dist:function(a){var b=this.x-a.x,l=this.y-a.y;a=this.z-a.z;return Math.sqrt(b*b+l*l+a*a)},dot:function(a,b,l){return 1===arguments.length?this.x*a.x+this.y*a.y+this.z*a.z:this.x*a+this.y*b+this.z*l},cross:function(a){var b=this.x,l=this.y,p=this.z;return new m(l*a.z-a.y*p,p*a.x-a.z*b,b*a.y-a.x*l)},lerp:function(a,b,l,p){var r,c;2===arguments.length?(p=b,r=a.x,c=a.y,l=a.z):(r=a,c=b);this.x+=(r-this.x)*p;this.y+=(c-this.y)* +p;this.z+=(l-this.z)*p},normalize:function(){var a=this.mag();0a&&(this.normalize(),this.mult(a))},heading:function(){return-Math.atan2(-this.y,this.x)},heading2D:function(){return this.heading()},toString:function(){return"["+this.x+", "+this.y+", "+this.z+"]"},array:function(){return[this.x,this.y,this.z]}};for(var b in m.prototype)m.prototype.hasOwnProperty(b)&&!m.hasOwnProperty(b)&&(m[b]=n(b));return m}},{}],18:[function(D,x,Q){x.exports=function(){var k= +function(h,k,n,a,b){this.fullName=h||"";this.name=k||"";this.namespace=n||"";this.value=a;this.type=b};k.prototype={getName:function(){return this.name},getFullName:function(){return this.fullName},getNamespace:function(){return this.namespace},getValue:function(){return this.value},getType:function(){return this.type},setValue:function(h){this.value=h}};return k}},{}],19:[function(D,x,Q){x.exports=function(k,h){var m=k.Browser,n=m.ajax,a=m.window.DOMParser,b=k.XMLAttribute,d=function(a,b,d,r){this.attributes= +[];this.children=[];this.name=this.fullName=null;this.namespace="";this.parent=this.content=null;this.systemID=this.lineNr="";this.type="ELEMENT";a&&("string"===typeof a?b===h&&-1":">","'":"'",'"':"""},r;for(r in d)Object.hasOwnProperty(d, +r)||(a=a.replace(RegExp(r,"g"),d[r]));b.cdata=a;return b},hasAttribute:function(){if(1===arguments.length)return null!==this.getAttribute(arguments[0]);if(2===arguments.length)return null!==this.getAttribute(arguments[0],arguments[1])},equals:function(a){if(!(a instanceof d))return!1;var b,p;if(this.fullName!==a.fullName||this.attributes.length!==a.getAttributeCount()||this.attributes.length!==a.attributes.length)return!1;var r,c;b=0;for(p=this.attributes.length;ba&&this.children.splice(a,1)},findAttribute:function(a,b){this.namespace=b||"";for(var d=0,r=this.attributes.length;da?arguments[0]:arguments[0].substring(a+1);this.fullName=arguments[0];this.namespace=arguments[1]}},getName:function(){return this.fullName},getLocalName:function(){return this.name},getAttributeCount:function(){return this.attributes.length},toString:function(){if("TEXT"===this.type)return this.content; +if("CDATA"===this.type)return this.cdata;var a=this.fullName,b="<"+a,d;for(d=0;d":b+(">"+this.content+"");else{b+=">";for(d=0;d"}return b}};d.parse=function(a){var b=new d;b.parse(a);return b};return d}},{}],20:[function(D,x,Q){x.exports={aliceblue:"#f0f8ff",antiquewhite:"#faebd7", +aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f", +darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0", +hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32", +linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6", +palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4", +tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},{}],21:[function(D,x,Q){x.exports=function(k,h,m){return function(n,a){n.__contains=function(b,d){return"string"!==typeof b?b.contains.apply(b,a(arguments)):null!==b&&null!==d&&"string"===typeof d&&-1h)return b;var k=0,r="";do r+=b.substring(k,h)+f,k=h+d.length;while(0<=(h=b.indexOf(d,k)));return r+b.substring(k)};n.__equals=function(b, +d){return b.equals instanceof Function?b.equals.apply(b,a(arguments)):h(b,d)};n.__equalsIgnoreCase=function(b,d){return"string"!==typeof b?b.equalsIgnoreCase.apply(b,a(arguments)):b.toLowerCase()===d.toLowerCase()};n.__toCharArray=function(b){if("string"!==typeof b)return b.toCharArray.apply(b,a(arguments));for(var d=[],f=0,h=b.length;ff)return b.split(h); +for(var k=[],r=b,c;-1!==(c=r.search(h))&&k.length=f?(h=a.charCodeAt(d+1),1024*(f-55296)+(h-56320)+65536):f};n.__matches=function(a,d){return RegExp(d).test(a)};n.__startsWith=function(b,d,f){if("string"!==typeof b)return b.startsWith.apply(b,a(arguments));f=f||0;return 0>f||f>b.length?!1:""===d||d===b? +!0:b.indexOf(d)===f};n.__endsWith=function(b,d){if("string"!==typeof b)return b.endsWith.apply(b,a(arguments));var f=d?d.length:0;return""===d||d===b?!0:b.indexOf(d)===b.length-f};n.__hashCode=function(b){return b.hashCode instanceof Function?b.hashCode.apply(b,a(arguments)):k(b)};n.__printStackTrace=function(a){n.println("Exception: "+a.toString())}}}},{}],22:[function(D,x,Q){x.exports=function(k,h){function m(a,b){var c=a||362436069,d=b||521288629,f=function(){c=36969*(c&65535)+(c>>>16)&4294967295; +d=18E3*(d&65535)+(d>>>16)&4294967295;return((c&65535)<<16|d&65535)&4294967295};this.doubleGenerator=function(){var a=f()/4294967296;return 0>a?1+a:a};this.intGenerator=f}function n(a){function b(a,c,d,f){a&=15;var r=8>a?c:d;c=4>a?d:12===a||14===a?c:f;return(0===(a&1)?r:-r)+(0===(a&2)?c:-c)}function c(a,b,c){b=0===(a&1)?b:c;return 0===(a&2)?-b:b}function d(a,b,c){return b+a*(c-b)}a=a!==h?new m(a):m.createRandomized();var f,k,l=new Uint8Array(512);for(f=0;256>f;++f)l[f]=f;for(f=0;256>f;++f){var n=l[k= +a.intGenerator()&255];l[k]=l[f];l[f]=n}for(f=0;256>f;++f)l[f+256]=l[f];this.noise3d=function(a,c,f){var h=Math.floor(a)&255,k=Math.floor(c)&255,p=Math.floor(f)&255;a-=Math.floor(a);c-=Math.floor(c);f-=Math.floor(f);var m=(3-2*a)*a*a,n=(3-2*c)*c*c,G=l[h]+k,ca=l[G]+p,G=l[G+1]+p,k=l[h+1]+k,h=l[k]+p,p=l[k+1]+p;return d((3-2*f)*f*f,d(n,d(m,b(l[ca],a,c,f),b(l[h],a-1,c,f)),d(m,b(l[G],a,c-1,f),b(l[p],a-1,c-1,f))),d(n,d(m,b(l[ca+1],a,c,f-1),b(l[h+1],a-1,c,f-1)),d(m,b(l[G+1],a,c-1,f-1),b(l[p+1],a-1,c-1,f-1))))}; +this.noise2d=function(a,b){var f=Math.floor(a)&255,r=Math.floor(b)&255;a-=Math.floor(a);b-=Math.floor(b);var h=(3-2*a)*a*a,k=l[f]+r,f=l[f+1]+r;return d((3-2*b)*b*b,d(h,c(l[k],a,b),c(l[f],a-1,b)),d(h,c(l[k+1],a,b-1),c(l[f+1],a-1,b-1)))};this.noise1d=function(a){var b=Math.floor(a)&255;a-=Math.floor(a);return d((3-2*a)*a*a,0===(l[b]&1)?-a:a,0===(l[b+1]&1)?-(a-1):a-1)}}var a=function(){return Math.random()};k.abs=Math.abs;k.ceil=Math.ceil;k.exp=Math.exp;k.floor=Math.floor;k.log=Math.log;k.pow=Math.pow; +k.round=Math.round;k.sqrt=Math.sqrt;k.acos=Math.acos;k.asin=Math.asin;k.atan=Math.atan;k.atan2=Math.atan2;k.cos=Math.cos;k.sin=Math.sin;k.tan=Math.tan;k.constrain=function(a,b,c){return a>c?c:aa[d]&&(b=a[d]);return b};k.norm=function(a,b,c){return(a-b)/(c-b)};k.sq=function(a){return a*a};k.degrees=function(a){return 180*a/Math.PI};k.random=function(){if(0===arguments.length)return a();if(1===arguments.length)return a()*arguments[0];var b=arguments[0],d=arguments[1];return a()*(d-b)+b};m.createRandomized=function(){var a= +new Date;return new m(a/6E4&4294967295,a&4294967295)};k.randomSeed=function(b){a=(new m(b)).doubleGenerator;this.haveNextNextGaussian=!1};k.randomGaussian=function(){if(this.haveNextNextGaussian)return this.haveNextNextGaussian=!1,this.nextNextGaussian;var b,d,c;do b=2*a()-1,d=2*a()-1,c=b*b+d*d;while(1<=c||0===c);c=Math.sqrt(-2*Math.log(c)/c);this.nextNextGaussian=d*c;this.haveNextNextGaussian=!0;return b*c};var b=h,d=4,f=0.5,l=h;k.noise=function(a,k,c){b===h&&(b=new n(l));for(var m=b,ca=1,G=1,A= +0,x=0;xh?a:n;a=0===d;d=d===k||0>d?0:d;h=Math.abs(h);if(a)for(d=1,h*=10;1E-6d;)++d,h*=10;else 0!==d&&(h*=Math.pow(10,d));a=2*h;Math.floor(h)===h?a=h:Math.floor(a)===a?(h=Math.floor(h),a=h+h%2):a=Math.round(h);h="";for(b+=d;0\=]+)/g,function(a,b){var e=c(b);return e.untrim("__int_cast("+e.middle+")")});a=a.replace(/\bsuper(\s*"B\d+")/g,"$$superCstr$1").replace(/\bsuper(\s*\.)/g,"$$super$1");a=a.replace(/\b0+((\d*)(?:\.[\d*])?(?:[eE][\-\+]?\d+)?[fF]?)\b/,function(a,b,c){return b===c?a:""===c?"0"+b:b});a=a.replace(/\b(\.?\d+\.?)[fF]\b/g,"$1");a= +a.replace(/([^\s])%([^=\s])/g,"$1 % $2");a=a.replace(/\b(frameRate|keyPressed|mousePressed)\b(?!\s*"B)/g,"__$1");a=a.replace(/\b(boolean|byte|char|float|int)\s*"B/g,function(a,b){return"parse"+b.substring(0,1).toUpperCase()+b.substring(1)+'"B'});a=a.replace(/\bpixels\b\s*(("C(\d+)")|\.length)?(\s*=(?!=)([^,\]\)\}]+))?/g,function(a,b,c,e,d,f){return c?(a=N[e],d?"pixels.setPixel"+n("("+a.substring(1,a.length-1)+","+f+")","B"):"pixels.getPixel"+n("("+a.substring(1,a.length-1)+")","B")):b?"pixels.getLength"+ +n("()","B"):d?"pixels.set"+n("("+f+")","B"):"pixels.toArray"+n("()","B")});var d;do d=!1,a=a.replace(/((?:'\d+'|\b[A-Za-z_$][\w$]*\s*(?:"[BC]\d+")*)\s*\.\s*(?:[A-Za-z_$][\w$]*\s*(?:"[BC]\d+"\s*)*\.\s*)*)(replace|replaceAll|replaceFirst|contains|equals|equalsIgnoreCase|hashCode|toCharArray|printStackTrace|split|startsWith|endsWith|codePointAt|matches)\s*"B(\d+)"/g,b);while(d);do d=!1,a=a.replace(/((?:'\d+'|\b[A-Za-z_$][\w$]*\s*(?:"[BC]\d+")*)\s*(?:\.\s*[A-Za-z_$][\w$]*\s*(?:"[BC]\d+"\s*)*)*)instanceof\s+([A-Za-z_$][\w$]*\s*(?:\.\s*[A-Za-z_$][\w$]*)*)/g, +e);while(d);return a=a.replace(/\bthis(\s*"B\d+")/g,"$$constr$1")}function u(a,b){this.baseInterfaceName=a;this.body=b;b.owner=this}function nd(a){var b=RegExp(/\bnew\s*([A-Za-z_$][\w$]*\s*(?:\.\s*[A-Za-z_$][\w$]*)*)\s*"B\d+"\s*"A(\d+)"/).exec(a);a=ja;var c="class"+ ++ab;ja=c;var e=b[1]+"$"+c,b=new u(e,ea(N[b[2]],e,"","implements "+b[1]));b.classId=c;b.scopeId=a;X[c]=b;ja=a;return b}function Ia(a,b,c){this.name=a;this.params=b;this.body=c}function T(a){a=RegExp(/\b([A-Za-z_$][\w$]*)\s*"B(\d+)"\s*"A(\d+)"/).exec(a); +return new Ia("function"!==a[1]?a[1]:null,M(N[a[2]]),ra(N[a[3]]))}function Y(a){this.members=a}function U(a){a=a.split(",");for(var b=0;bc?{value:ma(a[b])}:{label:f(a[b].substring(0,c)),value:ma(f(a[b].substring(c+1)))}}return new Y(a)}function Z(a){if("("===a.charAt(0)||"["===a.charAt(0))return a.charAt(0)+Z(a.substring(1,a.length-1))+a.charAt(a.length-1);if("{"===a.charAt(0))return/^\{\s*(?:[A-Za-z_$][\w$]*|'\d+')\s*:/.test(a)?"{"+n(a.substring(1,a.length- +1),"I")+"}":"["+Z(a.substring(1,a.length-1))+"]";a=c(a);var b=Q(a.middle),b=b.replace(/"[ABC](\d+)"/g,function(a,b){return Z(N[b])});return a.untrim(b)}function sa(a){return a.replace(/(\.\s*)?((?:\b[A-Za-z_]|\$)[\w$]*)(\s*\.\s*([A-Za-z_$][\w$]*)(\s*\()?)?/g,function(a,b,c,e,d,f){return b?a:C({name:c,member:d,callSign:!!f})+(e===p?"":e)})}function ta(a,b){this.expr=a;this.transforms=b}function $b(a,b,c){this.name=a;this.value=b;this.isDefault=c}function bb(a,b){var c=a.indexOf("="),e,d;0>c?(e=a,c= +b,d=!0):(e=a.substring(0,c),c=ma(a.substring(c+1)),d=!1);return new $b(f(e.replace(/(\s*"C\d+")+/g,"")),c,d)}function Sa(a){return"int"===a||"float"===a?"0":"boolean"===a?"false":"color"===a?"0x00000000":"null"}function cb(a,b){this.definitions=a;this.varType=b}function Fb(a){this.expression=a}function db(a){if(Gb.test(a)){var b=ub.exec(a);a=a.substring(b[0].length).split(",");for(var c=Sa(b[2]),e=0;ea.indexOf(";"))return a=a.substring(1,a.length-1).split(":"),new wa(db(f(a[0])),ma(a[1]));a=a.substring(1,a.length-1).split(";");return new Hb(db(f(a[0])),ma(a[1]),ma(a[2]))}function Ta(a){a.sort(function(a,b){return b.weight- +a.weight})}function Ja(a,b,c){this.name=a;this.body=b;this.isStatic=c;b.owner=this}function Jb(a,b,c){this.name=a;this.body=b;this.isStatic=c;b.owner=this}function Kb(a){var b=qa.exec(a);qa.lastIndex=0;var c=0<=b[1].indexOf("static"),e=N[l(b[6])];a=ja;var d="class"+ ++ab;ja=d;b="interface"===b[2]?new Ja(b[3],eb(e,b[3],b[4]),c):new Jb(b[3],ea(e,b[3],b[4],b[5]),c);b.classId=d;b.scopeId=a;X[d]=b;ja=a;return b}function Lb(a,b,c,e){this.name=a;this.params=b;this.body=c;this.isStatic=e}function fb(a){a= +la.exec(a);la.lastIndex=0;var b=0<=a[1].indexOf("static"),c=";"!==a[6]?N[l(a[6])]:"{}";return new Lb(a[3],M(N[l(a[4])]),ra(c),b)}function Mb(a,b,c){this.definitions=a;this.fieldType=b;this.isStatic=c}function Ua(a){var b=ub.exec(a),c=0<=b[1].indexOf("static");a=a.substring(b[0].length).split(/,\s*/g);for(var e=Sa(b[2]),d=0;d([=]?)/g,La);while(ka);var N=function(a){var b=[];a=a.split(/([\{\[\(\)\]\}])/);for(var c=a[0],e=[],d=1;d=":"===")+" "+m+") { $constr_"+m+".apply("+a+", arguments); }");0f)return!1;d.splice(f,1);if(0");b.javaconsole.innerHTML=b.BufferArray.join("");"hidden"===b.wrapper.style.visibility&&(b.wrapper.style.visibility="visible");b.BufferArray.length>b.BufferMax?b.BufferArray.splice(0, +1):b.javaconsole.scrollTop=b.javaconsole.scrollHeight;"hidden"===b.wrapper.style.visibility&&(b.wrapper.style.visibility="visible")};b.showconsole=function(){b.wrapper.style.visibility="visible"};b.hideconsole=function(){b.wrapper.style.visibility="hidden"};b.closer.onclick=function(){b.hideconsole()};b.hideconsole();return b}(l);return k}},{}],26:[function(D,x,Q){x.exports=function(k,h){function m(a,b){return a in l?l[a]:"function"===typeof l[b]?l[b]:function(a){if(a instanceof Array)return a;if("number"=== +typeof a){var b=[];b.length=a;return b}}}var n=k.defaultScope,a=k.extend,b=k.Browser,d=b.ajax,f=b.navigator,l=b.window,p=b.document,r=k.noop,c=n.PConstants;PFont=n.PFont;PShapeSVG=n.PShapeSVG;PVector=n.PVector;Char=Character=n.Char;ObjectIterator=n.ObjectIterator;XMLElement=n.XMLElement;XML=n.XML;var x=l.HTMLCanvasElement,D=l.HTMLImageElement,G=l.localStorage;p.head||(p.head=p.getElementsByTagName("head")[0]);var A=m("Float32Array","WebGLFloatArray"),Q=m("Int32Array","WebGLIntArray"),v=m("Uint16Array", +"WebGLUnsignedShortArray"),ga=m("Uint8Array","WebGLUnsignedByteArray");if(9<=p.documentMode&&!p.doctype)throw"The doctype directive is missing. The recommended doctype in Internet Explorer is the HTML5 doctype: ";var q=[],Zb={},M=this.Processing=function(b,k,m){function Ia(a,b,z){a.addEventListener?a.addEventListener(b,z,!1):a.attachEvent("on"+b,z);wb.push({elem:a,type:b,fn:z})}function T(a,b,z,c){var e=Fa.locations[a];e===h&&(e=g.getUniformLocation(b,z),Fa.locations[a]=e);null!==e&& +(4===c.length?g.uniform4fv(e,c):3===c.length?g.uniform3fv(e,c):2===c.length?g.uniform2fv(e,c):g.uniform1f(e,c))}function Y(a,b,z,c){var e=Fa.locations[a];e===h&&(e=g.getUniformLocation(b,z),Fa.locations[a]=e);null!==e&&(4===c.length?g.uniform4iv(e,c):3===c.length?g.uniform3iv(e,c):2===c.length?g.uniform2iv(e,c):g.uniform1i(e,c))}function U(a,b,z,c,e){var d=Fa.locations[a];d===h&&(d=g.getUniformLocation(b,z),Fa.locations[a]=d);-1!==d&&(16===e.length?g.uniformMatrix4fv(d,c,e):9===e.length?g.uniformMatrix3fv(d, +c,e):g.uniformMatrix2fv(d,c,e))}function Z(a,b,z,c,e){var d=Fa.attributes[a];d===h&&(d=g.getAttribLocation(b,z),Fa.attributes[a]=d);-1!==d&&(g.bindBuffer(g.ARRAY_BUFFER,e),g.vertexAttribPointer(d,c,g.FLOAT,!1,0,0),g.enableVertexAttribArray(d))}function sa(a,b,z){var c=Fa.attributes[a];c===h&&(c=g.getAttribLocation(b,z),Fa.attributes[a]=c);-1!==c&&g.disableVertexAttribArray(c)}function ta(a,b,z,$){Va===c.HSB?(z=e.color.toRGB(a,b,z),a=z[0],b=z[1],z=z[2]):(a=Math.round(255*(a/xa)),b=Math.round(255*(b/ +Ea)),z=Math.round(255*(z/ya)));$=Math.round(255*($/ia));a=0>a?0:a;b=0>b?0:b;z=0>z?0:z;$=0>$?0:$;return(255<$?255:$)<<24&c.ALPHA_MASK|(255>>16)/255;z=((a&c.GREEN_MASK)>>>8)/255;$=(a&c.BLUE_MASK)/255;a=e.max(e.max(b,z),$);var d=e.min(e.min(b, +z),$);if(d===a)return[0,0,a*ya];b=(b===a?(z-$)/(a-d):z===a?2+($-b)/(a-d):4+(b-z)/(a-d))/6;0>b?b+=1:1>>16;d[e+1]=(b&c.GREEN_MASK)>>>8;d[e+2]=b&c.BLUE_MASK; +d[e+3]=(b&c.ALPHA_MASK)>>>24;a.__isDirty=!0}}(a),toArray:function(a){return function(){var L=[],b=a.imageData.data,e=a.width*a.height;if(a.isRemote)throw"Image is loaded remotely. Cannot get pixels.";for(var d=0,f=0;d>>16,e[b+1]=(d&c.GREEN_MASK)>>>8,e[b+2]=d&c.BLUE_MASK,e[b+3]=(d&c.ALPHA_MASK)>>>24;a.__isDirty=!0}}(a)}}function Kb(a,b,z,$){var d=new Ga(z,$,c.ARGB);d.fromImageData(e.toImageData(a,b,z,$));return d}function Lb(a,b,z,e,d){if(d.isRemote)throw"Image is loaded remotely. Cannot get x,y,w,h.";var f=new Ga(z,e,c.ARGB),g=f.imageData.data,h=d.width,s=d.height;d=d.imageData.data;var k=Math.max(0,-b),l=Math.max(0,-a);e=Math.min(e,s-b);for(s=Math.min(z,h-a);ka.indexOf("\n")?(a=[a],d=1):(a=a.split(/\r?\n/g),d=a.length);var f=0;Wa===c.TOP?f=Xa+Ma:Wa===c.CENTER?f=Xa/2-(d-1)*Aa/2:Wa===c.BOTTOM&&(f=-(Ma+(d-1)*Aa));for(var g=0;gd)){for(var g=-1,h=0,s=0,k=[],l=0,n=a.length;ld-Ma)break;s=k[h];ha.text$line(s.text,b+a,z+g+l,f,nb)}}}function Ka(a){ha="3D"===a?new B:"2D"===a?new E:new F;for(var b in F.prototype)F.prototype.hasOwnProperty(b)&& +0>b.indexOf("$")&&(e[b]=ha[b]);ha.$init()}function H(a){return function(){Ka("2D");return ha[a].apply(this,arguments)}}function lb(a){a=a.which||a.keyCode;switch(a){case 13:return 10;case 91:case 93:case 224:return 157;case 57392:return 17;case 46:return 127;case 45:return 155}return a}function mb(a){"function"===typeof a.preventDefault?a.preventDefault():"function"===typeof a.stopPropagation&&a.stopPropagation();return!1}function Ob(){for(var a in hb)if(hb.hasOwnProperty(a)){e.__keyPressed=!0;return}e.__keyPressed= +!1}function vb(a,b){hb[a]=b;ob=null;e.key=b;e.keyCode=a;e.keyPressed();e.keyCode=0;e.keyTyped();Ob()}function rc(a){var b=lb(a);if(b===c.DELETE)vb(b,new Char(127));else if(0>qd.indexOf(b))ob=b;else{var z=new Char(c.CODED);e.key=z;e.keyCode=b;hb[b]=z;e.keyPressed();ob=null;Ob();return mb(a)}}function Pb(a){if(null!==ob){var b=ob,z;z=a.which||a.keyCode;var c=a.shiftKey||a.ctrlKey||a.altKey||a.metaKey;switch(z){case 13:z=c?13:10;break;case 8:z=c?127:8}z=new Char(z);vb(b,z);return mb(a)}}function bc(a){a= +lb(a);var b=hb[a];b!==h&&(e.key=b,e.keyCode=a,e.keyReleased(),delete hb[a],Ob())}if(!(this instanceof M))throw"called Processing constructor as if it were a function: missing 'new'.";var S={},Qb=b===h&&k===h,S=Qb?p.createElement("canvas"):"string"===typeof b?p.getElementById(b):b;if(!("getContext"in S))throw"called Processing constructor without passing canvas element reference or id.";var wb=[],e=this;e.Char=e.Character=Char;a.withCommonFunctions(e);a.withMath(e);a.withProxyFunctions(e,function(a){return Array.prototype.slice.call(a, +1)});a.withTouch(e,S,Ia,p,c);m&&Object.keys(m).forEach(function(a){e[a]=m[a]});e.externals={canvas:S,context:h,sketch:h,window:l};e.name="Processing.js Instance";e.use3DContext=!1;e.focused=!1;e.breakShape=!1;e.glyphTable={};e.pmouseX=0;e.pmouseY=0;e.mouseX=0;e.mouseY=0;e.mouseButton=0;e.mouseScroll=0;e.mouseClicked=h;e.mouseDragged=h;e.mouseMoved=h;e.mousePressed=h;e.mouseReleased=h;e.mouseScrolled=h;e.mouseOver=h;e.mouseOut=h;e.touchStart=h;e.touchEnd=h;e.touchMove=h;e.touchCancel=h;e.key=h;e.keyCode= +h;e.keyPressed=r;e.keyReleased=r;e.keyTyped=r;e.draw=h;e.setup=h;e.__mousePressed=!1;e.__keyPressed=!1;e.__frameRate=60;e.frameCount=0;e.width=100;e.height=100;var g,da,ha,R=!0,ka=[1,1,1,1],La=4294967295,N=!0,C=!0,X=[0,0,0,1],ja=4278190080,ab=!0,ea=1,eb=!1,ra=!1,Da=!0,ma=0,qa=c.CORNER,la=c.CENTER,Gb=0,Eb=0,ub=0,jb=c.NORMAL_MODE_AUTO,tb=60,Kc=1E3/tb,od=S.style.cursor,aa=c.POLYGON,oc=0,pc=20,Lc=!1,kb=-3355444,qc=20,ia=255,xa=255,Ea=255,ya=255,cc=0,dc=0,Va=c.RGB,gb=null,sc=null,Oc=Date.now(),tc=Oc,ec= +0,Ba,Sb,fc,xb,yb,uc,vc,Fa={attributes:{},locations:{}},y,J,na,wc,xc,yc,gc,zc,Tb,Ac,Pc,Bc,Qc,hc,Rc,Sc,Tc,Uc=0,Vc=0,Wc=c.IMAGE,ua=!1,Cc,Dc,Ec,nb=c.LEFT,Wa=c.BASELINE,ic=c.MODEL,zb="Arial",Na=12,Xa=9,Ma=2,Aa=14,ba=PFont.get(zb,Na),Nc,Fc=null,Rb=!1,Xc,Yc=1E3,hb=[],ob=null,qd=[c.SHIFT,c.CONTROL,c.ALT,c.CAPSLK,c.PGUP,c.PGDN,c.END,c.HOME,c.LEFT,c.UP,c.RIGHT,c.DOWN,c.NUMLK,c.INSERT,c.F1,c.F2,c.F3,c.F4,c.F5,c.F6,c.F7,c.F8,c.F9,c.F10,c.F11,c.F12,c.META],O=0,jc=0,pb=0,Oa=[],Pa=[],Qa=[],Ub=new A(c.SINCOS_LENGTH), +Vb=new A(c.SINCOS_LENGTH),P,qb,Ra,K,fa,Ab,Bb,Wb,Ha,kc=!1,lc=60*(Math.PI/180),Gc=e.width/2,rb=e.height/2,sb=rb/Math.tan(lc/2),Zc=sb/10,$c=10*sb,ad=e.width/e.height,t=[],va=[],oa=0,Cb=!1,Db=!1,ib=!0,Xb=c.CORNER,bd=[],cd=new A([0.5,0.5,-0.5,0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,0.5,-0.5,0.5,0.5,-0.5,0.5,0.5,0.5,-0.5,0.5,0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,0.5,-0.5,0.5,0.5,0.5,0.5,0.5,0.5,-0.5,0.5,0.5,0.5,0.5,-0.5,0.5,0.5,-0.5,0.5,0.5,-0.5,-0.5,0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5,0.5,-0.5,-0.5, +0.5,-0.5,-0.5,0.5,-0.5,-0.5,-0.5,0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,0.5,-0.5,0.5,0.5,-0.5,0.5,0.5,-0.5,0.5,-0.5,-0.5,-0.5,-0.5,0.5,0.5,0.5,0.5,0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,0.5,0.5,0.5,0.5]),dd=new A([0.5,0.5,0.5,0.5,-0.5,0.5,0.5,0.5,-0.5,0.5,-0.5,-0.5,-0.5,0.5,-0.5,-0.5,-0.5,-0.5,-0.5,0.5,0.5,-0.5,-0.5,0.5,0.5,0.5,0.5,0.5,0.5,-0.5,0.5,0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,0.5,-0.5,0.5,0.5,0.5,0.5,0.5,0.5,-0.5,0.5,0.5,-0.5,-0.5,0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5, +-0.5,-0.5,0.5,-0.5,-0.5,0.5,0.5,-0.5,0.5]),rd=new A([0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0]),Hc=new A([0,0,0,0,1,0,1,1,0,1,0,0]),sd=new A([0,0,1,0,0,1,0,0,1,0,0,1]),td="varying vec4 vFrontColor;attribute vec3 aVertex;attribute vec3 aNormal;attribute vec4 aColor;attribute vec2 aTexture;varying vec2 vTexture;uniform vec4 uColor;uniform bool uUsingMat;uniform vec3 uSpecular;uniform vec3 uMaterialEmissive;uniform vec3 uMaterialAmbient;uniform vec3 uMaterialSpecular;uniform float uShininess;uniform mat4 uModel;uniform mat4 uView;uniform mat4 uProjection;uniform mat4 uNormalTransform;uniform int uLightCount;uniform vec3 uFalloff;struct Light { int type; vec3 color; vec3 position; vec3 direction; float angle; vec3 halfVector; float concentration;};uniform Light uLights0;uniform Light uLights1;uniform Light uLights2;uniform Light uLights3;uniform Light uLights4;uniform Light uLights5;uniform Light uLights6;uniform Light uLights7;Light getLight(int index){ if(index == 0) return uLights0; if(index == 1) return uLights1; if(index == 2) return uLights2; if(index == 3) return uLights3; if(index == 4) return uLights4; if(index == 5) return uLights5; if(index == 6) return uLights6; return uLights7;}void AmbientLight( inout vec3 totalAmbient, in vec3 ecPos, in Light light ) { float d = length( light.position - ecPos ); float attenuation = 1.0 / ( uFalloff[0] + ( uFalloff[1] * d ) + ( uFalloff[2] * d * d )); totalAmbient += light.color * attenuation;}void DirectionalLight( inout vec3 col, inout vec3 spec, in vec3 vertNormal, in vec3 ecPos, in Light light ) { float powerFactor = 0.0; float nDotVP = max(0.0, dot( vertNormal, normalize(-light.position) )); float nDotVH = max(0.0, dot( vertNormal, normalize(-light.position-normalize(ecPos) ))); if( nDotVP != 0.0 ){ powerFactor = pow( nDotVH, uShininess ); } col += light.color * nDotVP; spec += uSpecular * powerFactor;}void PointLight( inout vec3 col, inout vec3 spec, in vec3 vertNormal, in vec3 ecPos, in Light light ) { float powerFactor; vec3 VP = light.position - ecPos; float d = length( VP ); VP = normalize( VP ); float attenuation = 1.0 / ( uFalloff[0] + ( uFalloff[1] * d ) + ( uFalloff[2] * d * d )); float nDotVP = max( 0.0, dot( vertNormal, VP )); vec3 halfVector = normalize( VP - normalize(ecPos) ); float nDotHV = max( 0.0, dot( vertNormal, halfVector )); if( nDotVP == 0.0 ) { powerFactor = 0.0; } else { powerFactor = pow( nDotHV, uShininess ); } spec += uSpecular * powerFactor * attenuation; col += light.color * nDotVP * attenuation;}void SpotLight( inout vec3 col, inout vec3 spec, in vec3 vertNormal, in vec3 ecPos, in Light light ) { float spotAttenuation; float powerFactor = 0.0; vec3 VP = light.position - ecPos; vec3 ldir = normalize( -light.direction ); float d = length( VP ); VP = normalize( VP ); float attenuation = 1.0 / ( uFalloff[0] + ( uFalloff[1] * d ) + ( uFalloff[2] * d * d ) ); float spotDot = dot( VP, ldir );"+ +(/Windows/.test(f.userAgent)?" spotAttenuation = 1.0; ":" if( spotDot > cos( light.angle ) ) { spotAttenuation = pow( spotDot, light.concentration ); } else{ spotAttenuation = 0.0; } attenuation *= spotAttenuation;")+" float nDotVP = max( 0.0, dot( vertNormal, VP ) ); vec3 halfVector = normalize( VP - normalize(ecPos) ); float nDotHV = max( 0.0, dot( vertNormal, halfVector ) ); if( nDotVP != 0.0 ) { powerFactor = pow( nDotHV, uShininess ); } spec += uSpecular * powerFactor * attenuation; col += light.color * nDotVP * attenuation;}void main(void) { vec3 finalAmbient = vec3( 0.0 ); vec3 finalDiffuse = vec3( 0.0 ); vec3 finalSpecular = vec3( 0.0 ); vec4 col = uColor; if ( uColor[0] == -1.0 ){ col = aColor; } vec3 norm = normalize(vec3( uNormalTransform * vec4( aNormal, 0.0 ) )); vec4 ecPos4 = uView * uModel * vec4(aVertex, 1.0); vec3 ecPos = (vec3(ecPos4))/ecPos4.w; if( uLightCount == 0 ) { vFrontColor = col + vec4(uMaterialSpecular, 1.0); } else { for( int i = 0; i < 8; i++ ) { Light l = getLight(i); if( i >= uLightCount ){ break; } if( l.type == 0 ) { AmbientLight( finalAmbient, ecPos, l ); } else if( l.type == 1 ) { DirectionalLight( finalDiffuse, finalSpecular, norm, ecPos, l ); } else if( l.type == 2 ) { PointLight( finalDiffuse, finalSpecular, norm, ecPos, l ); } else { SpotLight( finalDiffuse, finalSpecular, norm, ecPos, l ); } } if( uUsingMat == false ) { vFrontColor = vec4( vec3( col ) * finalAmbient + vec3( col ) * finalDiffuse + vec3( col ) * finalSpecular, col[3] ); } else{ vFrontColor = vec4( uMaterialEmissive + (vec3(col) * uMaterialAmbient * finalAmbient ) + (vec3(col) * finalDiffuse) + (uMaterialSpecular * finalSpecular), col[3] ); } } vTexture.xy = aTexture.xy; gl_Position = uProjection * uView * uModel * vec4( aVertex, 1.0 );}", +Ic=function(a,b,z){var c=a.createShader(a.VERTEX_SHADER);a.shaderSource(c,b);a.compileShader(c);if(!a.getShaderParameter(c,a.COMPILE_STATUS))throw a.getShaderInfoLog(c);b=a.createShader(a.FRAGMENT_SHADER);a.shaderSource(b,z);a.compileShader(b);if(!a.getShaderParameter(b,a.COMPILE_STATUS))throw a.getShaderInfoLog(b);z=a.createProgram();a.attachShader(z,c);a.attachShader(z,b);a.linkProgram(z);if(!a.getProgramParameter(z,a.LINK_STATUS))throw"Error linking shaders.";return z},ed=function(a,b,z,c,e){return{x:a, +y:b,w:z,h:c}},mc=ed,ud=function(a,b,z,c,e){return{x:a,y:b,w:e?z:z-a,h:e?c:c-b}},vd=function(a,b,z,c,e){return{x:a-z/2,y:b-c/2,w:z,h:c}},W=function(){},E=function(){},B=function(){},F=function(){};E.prototype=new W;E.prototype.constructor=E;B.prototype=new W;B.prototype.constructor=B;F.prototype=new W;F.prototype.constructor=F;W.prototype.a3DOnlyFunction=r;e.shape=function(a,b,z,$,d){1<=arguments.length&&null!==arguments[0]&&a.isVisible()&&(e.pushMatrix(),Xb===c.CENTER?5===arguments.length?(e.translate(b- +$/2,z-d/2),e.scale($/a.getWidth(),d/a.getHeight())):3===arguments.length?e.translate(b-a.getWidth()/2,-a.getHeight()/2):e.translate(-a.getWidth()/2,-a.getHeight()/2):Xb===c.CORNER?5===arguments.length?(e.translate(b,z),e.scale($/a.getWidth(),d/a.getHeight())):3===arguments.length&&e.translate(b,z):Xb===c.CORNERS&&(5===arguments.length?($-=b,d-=z,e.translate(b,z),e.scale($/a.getWidth(),d/a.getHeight())):3===arguments.length&&e.translate(b,z)),a.draw(e),(1===arguments.length&&Xb===c.CENTER||1c.MIN_INT){var b=this.elements[0],z=this.elements[1],e=this.elements[2],d=this.elements[3],f=this.elements[4],g=this.elements[5];this.elements[0]=f/a;this.elements[3]=-d/a;this.elements[1]=-z/a;this.elements[4]=b/a;this.elements[2]=(z*g-f*e)/a;this.elements[5]=(d*e-b*g)/a;return!0}return!1},scale:function(a,b){a&&!b&&(b=a);a&& +b&&(this.elements[0]*=a,this.elements[1]*=b,this.elements[3]*=a,this.elements[4]*=b)},invScale:function(a,b){a&&!b&&(b=a);this.scale(1/a,1/b)},apply:function(){var a;1===arguments.length&&arguments[0]instanceof Ya?a=arguments[0].array():6===arguments.length?a=Array.prototype.slice.call(arguments):1===arguments.length&&arguments[0]instanceof Array&&(a=arguments[0]);for(var b=[0,0,this.elements[2],0,0,this.elements[5]],z=0,c=0;2>c;c++)for(var e=0;3>e;e++,z++)b[z]+=this.elements[3*c+0]*a[e+0]+this.elements[3* +c+1]*a[e+3];this.elements=b.slice()},preApply:function(){var a;1===arguments.length&&arguments[0]instanceof Ya?a=arguments[0].array():6===arguments.length?a=Array.prototype.slice.call(arguments):1===arguments.length&&arguments[0]instanceof Array&&(a=arguments[0]);var b=[0,0,a[2],0,0,a[5]];b[2]=a[2]+this.elements[2]*a[0]+this.elements[5]*a[1];b[5]=a[5]+this.elements[2]*a[3]+this.elements[5]*a[4];b[0]=this.elements[0]*a[0]+this.elements[3]*a[1];b[3]=this.elements[0]*a[3]+this.elements[3]*a[4];b[1]= +this.elements[1]*a[0]+this.elements[4]*a[1];b[4]=this.elements[1]*a[3]+this.elements[4]*a[4];this.elements=b.slice()},rotate:function(a){var b=Math.cos(a);a=Math.sin(a);var c=this.elements[0],e=this.elements[1];this.elements[0]=b*c+a*e;this.elements[1]=-a*c+b*e;c=this.elements[3];e=this.elements[4];this.elements[3]=b*c+a*e;this.elements[4]=-a*c+b*e},rotateZ:function(a){this.rotate(a)},invRotateZ:function(a){this.rotateZ(a-Math.PI)},print:function(){var a=fd(this.elements),a=""+e.nfs(this.elements[0], +a,4)+" "+e.nfs(this.elements[1],a,4)+" "+e.nfs(this.elements[2],a,4)+"\n"+e.nfs(this.elements[3],a,4)+" "+e.nfs(this.elements[4],a,4)+" "+e.nfs(this.elements[5],a,4)+"\n\n";e.println(a)}};var I=e.PMatrix3D=function(){this.reset()};I.prototype={set:function(){16===arguments.length?this.elements=Array.prototype.slice.call(arguments):1===arguments.length&&arguments[0]instanceof I?this.elements=arguments[0].array():1===arguments.length&&arguments[0]instanceof Array&&(this.elements=arguments[0].slice())}, +get:function(){var a=new I;a.set(this.elements);return a},reset:function(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},array:function(){return this.elements.slice()},translate:function(a,b,c){c===h&&(c=0);this.elements[3]+=a*this.elements[0]+b*this.elements[1]+c*this.elements[2];this.elements[7]+=a*this.elements[4]+b*this.elements[5]+c*this.elements[6];this.elements[11]+=a*this.elements[8]+b*this.elements[9]+c*this.elements[10];this.elements[15]+=a*this.elements[12]+b*this.elements[13]+c*this.elements[14]}, +transpose:function(){var a=this.elements[4];this.elements[4]=this.elements[1];this.elements[1]=a;a=this.elements[8];this.elements[8]=this.elements[2];this.elements[2]=a;a=this.elements[6];this.elements[6]=this.elements[9];this.elements[9]=a;a=this.elements[3];this.elements[3]=this.elements[12];this.elements[12]=a;a=this.elements[7];this.elements[7]=this.elements[13];this.elements[13]=a;a=this.elements[11];this.elements[11]=this.elements[14];this.elements[14]=a},mult:function(a,b){var c,e,d,f;a instanceof +PVector?(c=a.x,e=a.y,d=a.z,f=1,b||(b=new PVector)):a instanceof Array&&(c=a[0],e=a[1],d=a[2],f=a[3]||1,!b||3!==b.length&&4!==b.length)&&(b=[0,0,0]);b instanceof Array&&(3===b.length?(b[0]=this.elements[0]*c+this.elements[1]*e+this.elements[2]*d+this.elements[3],b[1]=this.elements[4]*c+this.elements[5]*e+this.elements[6]*d+this.elements[7],b[2]=this.elements[8]*c+this.elements[9]*e+this.elements[10]*d+this.elements[11]):4===b.length&&(b[0]=this.elements[0]*c+this.elements[1]*e+this.elements[2]*d+this.elements[3]* +f,b[1]=this.elements[4]*c+this.elements[5]*e+this.elements[6]*d+this.elements[7]*f,b[2]=this.elements[8]*c+this.elements[9]*e+this.elements[10]*d+this.elements[11]*f,b[3]=this.elements[12]*c+this.elements[13]*e+this.elements[14]*d+this.elements[15]*f));b instanceof PVector&&(b.x=this.elements[0]*c+this.elements[1]*e+this.elements[2]*d+this.elements[3],b.y=this.elements[4]*c+this.elements[5]*e+this.elements[6]*d+this.elements[7],b.z=this.elements[8]*c+this.elements[9]*e+this.elements[10]*d+this.elements[11]); +return b},preApply:function(){var a;1===arguments.length&&arguments[0]instanceof I?a=arguments[0].array():16===arguments.length?a=Array.prototype.slice.call(arguments):1===arguments.length&&arguments[0]instanceof Array&&(a=arguments[0]);for(var b=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c=0,e=0;4>e;e++)for(var d=0;4>d;d++,c++)b[c]+=this.elements[d+0]*a[4*e+0]+this.elements[d+4]*a[4*e+1]+this.elements[d+8]*a[4*e+2]+this.elements[d+12]*a[4*e+3];this.elements=b.slice()},apply:function(){var a;1===arguments.length&& +arguments[0]instanceof I?a=arguments[0].array():16===arguments.length?a=Array.prototype.slice.call(arguments):1===arguments.length&&arguments[0]instanceof Array&&(a=arguments[0]);for(var b=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c=0,e=0;4>e;e++)for(var d=0;4>d;d++,c++)b[c]+=this.elements[4*e+0]*a[d+0]+this.elements[4*e+1]*a[d+4]+this.elements[4*e+2]*a[d+8]+this.elements[4*e+3]*a[d+12];this.elements=b.slice()},rotate:function(a,b,c,d){if(4>arguments.length)this.rotateZ(a);else{var f=new PVector(b,c,d),g= +f.mag();if(0!==g){1!=g&&(f.normalize(),b=f.x,c=f.y,d=f.z);var f=e.cos(a),g=e.sin(a),h=1-f;this.apply(h*b*b+f,h*b*c-g*d,h*b*d+g*c,0,h*b*c+g*d,h*c*c+f,h*c*d-g*b,0,h*b*d-g*c,h*c*d+g*b,h*d*d+f,0,0,0,0,1)}}},invApply:function(){Wb===h&&(Wb=new I);var a=arguments;Wb.set(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15]);if(!Wb.invert())return!1;this.preApply(Wb);return!0},rotateX:function(a){var b=e.cos(a);a=e.sin(a);this.apply([1,0,0,0,0,b,-a,0,0,a,b,0,0,0,0,1])},rotateY:function(a){var b= +e.cos(a);a=e.sin(a);this.apply([b,0,a,0,0,1,0,0,-a,0,b,0,0,0,0,1])},rotateZ:function(a){var b=Math.cos(a);a=Math.sin(a);this.apply([b,-a,0,0,a,b,0,0,0,0,1,0,0,0,0,1])},scale:function(a,b,c){!a||b||c?a&&(b&&!c)&&(c=1):b=c=a;a&&(b&&c)&&(this.elements[0]*=a,this.elements[1]*=b,this.elements[2]*=c,this.elements[4]*=a,this.elements[5]*=b,this.elements[6]*=c,this.elements[8]*=a,this.elements[9]*=b,this.elements[10]*=c,this.elements[12]*=a,this.elements[13]*=b,this.elements[14]*=c)},skewX:function(a){a= +Math.tan(a);this.apply(1,a,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},skewY:function(a){a=Math.tan(a);this.apply(1,0,0,0,a,1,0,0,0,0,1,0,0,0,0,1)},shearX:function(a){a=Math.tan(a);this.apply(1,a,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},shearY:function(a){a=Math.tan(a);this.apply(1,0,0,0,a,1,0,0,0,0,1,0,0,0,0,1)},multX:function(a,b,c,e){return c?e?this.elements[0]*a+this.elements[1]*b+this.elements[2]*c+this.elements[3]*e:this.elements[0]*a+this.elements[1]*b+this.elements[2]*c+this.elements[3]:this.elements[0]*a+this.elements[1]* +b+this.elements[3]},multY:function(a,b,c,e){return c?e?this.elements[4]*a+this.elements[5]*b+this.elements[6]*c+this.elements[7]*e:this.elements[4]*a+this.elements[5]*b+this.elements[6]*c+this.elements[7]:this.elements[4]*a+this.elements[5]*b+this.elements[7]},multZ:function(a,b,c,e){return e?this.elements[8]*a+this.elements[9]*b+this.elements[10]*c+this.elements[11]*e:this.elements[8]*a+this.elements[9]*b+this.elements[10]*c+this.elements[11]},multW:function(a,b,c,e){return e?this.elements[12]*a+ +this.elements[13]*b+this.elements[14]*c+this.elements[15]*e:this.elements[12]*a+this.elements[13]*b+this.elements[14]*c+this.elements[15]},invert:function(){var a=this.elements[0]*this.elements[5]-this.elements[1]*this.elements[4],b=this.elements[0]*this.elements[6]-this.elements[2]*this.elements[4],c=this.elements[0]*this.elements[7]-this.elements[3]*this.elements[4],e=this.elements[1]*this.elements[6]-this.elements[2]*this.elements[5],d=this.elements[1]*this.elements[7]-this.elements[3]*this.elements[5], +f=this.elements[2]*this.elements[7]-this.elements[3]*this.elements[6],g=this.elements[8]*this.elements[13]-this.elements[9]*this.elements[12],h=this.elements[8]*this.elements[14]-this.elements[10]*this.elements[12],s=this.elements[8]*this.elements[15]-this.elements[11]*this.elements[12],k=this.elements[9]*this.elements[14]-this.elements[10]*this.elements[13],l=this.elements[9]*this.elements[15]-this.elements[11]*this.elements[13],n=this.elements[10]*this.elements[15]-this.elements[11]*this.elements[14], +p=a*n-b*l+c*k+e*s-d*h+f*g;if(1E-9>=Math.abs(p))return!1;var m=[];m[0]=+this.elements[5]*n-this.elements[6]*l+this.elements[7]*k;m[4]=-this.elements[4]*n+this.elements[6]*s-this.elements[7]*h;m[8]=+this.elements[4]*l-this.elements[5]*s+this.elements[7]*g;m[12]=-this.elements[4]*k+this.elements[5]*h-this.elements[6]*g;m[1]=-this.elements[1]*n+this.elements[2]*l-this.elements[3]*k;m[5]=+this.elements[0]*n-this.elements[2]*s+this.elements[3]*h;m[9]=-this.elements[0]*l+this.elements[1]*s-this.elements[3]* +g;m[13]=+this.elements[0]*k-this.elements[1]*h+this.elements[2]*g;m[2]=+this.elements[13]*f-this.elements[14]*d+this.elements[15]*e;m[6]=-this.elements[12]*f+this.elements[14]*c-this.elements[15]*b;m[10]=+this.elements[12]*d-this.elements[13]*c+this.elements[15]*a;m[14]=-this.elements[12]*e+this.elements[13]*b-this.elements[14]*a;m[3]=-this.elements[9]*f+this.elements[10]*d-this.elements[11]*e;m[7]=+this.elements[8]*f-this.elements[10]*c+this.elements[11]*b;m[11]=-this.elements[8]*d+this.elements[9]* +c-this.elements[11]*a;m[15]=+this.elements[8]*e-this.elements[9]*b+this.elements[10]*a;a=1/p;m[0]*=a;m[1]*=a;m[2]*=a;m[3]*=a;m[4]*=a;m[5]*=a;m[6]*=a;m[7]*=a;m[8]*=a;m[9]*=a;m[10]*=a;m[11]*=a;m[12]*=a;m[13]*=a;m[14]*=a;m[15]*=a;this.elements=m.slice();return!0},toString:function(){for(var a="",b=0;15>b;b++)a+=this.elements[b]+", ";return a+=this.elements[15]},print:function(){var a=fd(this.elements),a=""+e.nfs(this.elements[0],a,4)+" "+e.nfs(this.elements[1],a,4)+" "+e.nfs(this.elements[2],a,4)+" "+ +e.nfs(this.elements[3],a,4)+"\n"+e.nfs(this.elements[4],a,4)+" "+e.nfs(this.elements[5],a,4)+" "+e.nfs(this.elements[6],a,4)+" "+e.nfs(this.elements[7],a,4)+"\n"+e.nfs(this.elements[8],a,4)+" "+e.nfs(this.elements[9],a,4)+" "+e.nfs(this.elements[10],a,4)+" "+e.nfs(this.elements[11],a,4)+"\n"+e.nfs(this.elements[12],a,4)+" "+e.nfs(this.elements[13],a,4)+" "+e.nfs(this.elements[14],a,4)+" "+e.nfs(this.elements[15],a,4)+"\n\n";e.println(a)},invTranslate:function(a,b,c){this.preApply(1,0,0,-a,0,1,0,-b, +0,0,1,-c,0,0,0,1)},invRotateX:function(a){var b=Math.cos(-a);a=Math.sin(-a);this.preApply([1,0,0,0,0,b,-a,0,0,a,b,0,0,0,0,1])},invRotateY:function(a){var b=Math.cos(-a);a=Math.sin(-a);this.preApply([b,0,a,0,0,1,0,0,-a,0,b,0,0,0,0,1])},invRotateZ:function(a){var b=Math.cos(-a);a=Math.sin(-a);this.preApply([b,-a,0,0,a,b,0,0,0,0,1,0,0,0,0,1])},invScale:function(a,b,c){this.preApply([1/a,0,0,0,0,1/b,0,0,0,0,1/c,0,0,0,0,1])}};var Za=e.PMatrixStack=function(){this.matrixStack=[]};Za.prototype.load=function(){var a= +ha.$newPMatrix();1===arguments.length?a.set(arguments[0]):a.set(arguments);this.matrixStack.push(a)};E.prototype.$newPMatrix=function(){return new Ya};B.prototype.$newPMatrix=function(){return new I};Za.prototype.push=function(){this.matrixStack.push(this.peek())};Za.prototype.pop=function(){return this.matrixStack.pop()};Za.prototype.peek=function(){var a=ha.$newPMatrix();a.set(this.matrixStack[this.matrixStack.length-1]);return a};Za.prototype.mult=function(a){this.matrixStack[this.matrixStack.length- +1].apply(a)};e.split=function(a,b){return a.split(b)};e.splitTokens=function(a,b){if(b===h)return a.split(/\s+/g);var c=b.split(/()/g),e="",d=a.length,f,g,k=[];for(f=0;f>8)};e.peg=function(a){return 0>a?0:255>>24)+L,255)<<24;c+=($-c)*L>>8;e+=(h-e)*L>>8;L=d+((pd-d)*L>>8);return b|(0>c?0:255e?0:255L?0:255>>24,h=a&e,k=a&d,w=a&f,l=L&e,m=L&d,n=L&f;return g(((a&b)>>>24)+c,255)<<24|h+((l-h)*c>>8)&e|k+((m-k)*c>>8)&d|w+((n-w)*c>>8)&f},add:function(a,L){var c=(L&b)>>>24;return g(((a& +b)>>>24)+c,255)<<24|g((a&e)+((L&e)>>8)*c,e)&e|g((a&d)+((L&d)>>8)*c,d)&d|g((a&f)+((L&f)*c>>8),f)},subtract:function(a,L){var c=(L&b)>>>24;return g(((a&b)>>>24)+c,255)<<24|h((a&e)-((L&e)>>8)*c,d)&e|h((a&d)-((L&d)>>8)*c,f)&d|h((a&f)-((L&f)*c>>8),0)},lightest:function(a,L){var c=(L&b)>>>24;return g(((a&b)>>>24)+c,255)<<24|h(a&e,((L&e)>>8)*c)&e|h(a&d,((L&d)>>8)*c)&d|h(a&f,(L&f)*c>>8)},darkest:function(a,L){var c=(L&b)>>>24,h=a&e,k=a&d,w=a&f,l=g(a&e,((L&e)>>8)*c),m=g(a&d,((L&d)>>8)*c),n=g(a&f,(L&f)*c>> +8);return g(((a&b)>>>24)+c,255)<<24|h+((l-h)*c>>8)&e|k+((m-k)*c>>8)&d|w+((n-w)*c>>8)&f},difference:function(c,g){var h=(c&e)>>16,k=(c&d)>>8,w=c&f,V=(g&e)>>16,l=(g&d)>>8,m=g&f;return a(c,(g&b)>>>24,h,k,w,V,l,m,h>V?h-V:V-h,k>l?k-l:l-k,w>m?w-m:m-w)},exclusion:function(c,g){var h=(c&e)>>16,k=(c&d)>>8,w=c&f,V=(g&e)>>16,l=(g&d)>>8,m=g&f;return a(c,(g&b)>>>24,h,k,w,V,l,m,h+V-(h*V>>7),k+l-(k*l>>7),w+m-(w*m>>7))},multiply:function(c,g){var h=(c&e)>>16,k=(c&d)>>8,w=c&f,V=(g&e)>>16,l=(g&d)>>8,m=g&f;return a(c, +(g&b)>>>24,h,k,w,V,l,m,h*V>>8,k*l>>8,w*m>>8)},screen:function(c,g){var h=(c&e)>>16,k=(c&d)>>8,w=c&f,V=(g&e)>>16,l=(g&d)>>8,m=g&f;return a(c,(g&b)>>>24,h,k,w,V,l,m,255-((255-h)*(255-V)>>8),255-((255-k)*(255-l)>>8),255-((255-w)*(255-m)>>8))},hard_light:function(c,g){var h=(c&e)>>16,k=(c&d)>>8,w=c&f,V=(g&e)>>16,l=(g&d)>>8,m=g&f;return a(c,(g&b)>>>24,h,k,w,V,l,m,128>V?h*V>>7:255-((255-h)*(255-V)>>7),128>l?k*l>>7:255-((255-k)*(255-l)>>7),128>m?w*m>>7:255-((255-w)*(255-m)>>7))},soft_light:function(c,g){var h= +(c&e)>>16,k=(c&d)>>8,w=c&f,V=(g&e)>>16,l=(g&d)>>8,m=g&f;return a(c,(g&b)>>>24,h,k,w,V,l,m,(h*V>>7)+(h*h>>8)-(h*h*V>>15),(k*l>>7)+(k*k>>8)-(k*k*l>>15),(w*m>>7)+(w*w>>8)-(w*w*m>>15))},overlay:function(c,g){var h=(c&e)>>16,k=(c&d)>>8,w=c&f,V=(g&e)>>16,l=(g&d)>>8,m=g&f;return a(c,(g&b)>>>24,h,k,w,V,l,m,128>h?h*V>>7:255-((255-h)*(255-V)>>7),128>k?k*l>>7:255-((255-k)*(255-l)>>7),128>w?w*m>>7:255-((255-w)*(255-m)>>7))},dodge:function(c,g){var h=(g&b)>>>24,k=(c&e)>>16,w=(c&d)>>8,V=c&f,l=(g&e)>>16,m=(g&d)>> +8,n=g&f,p=255;255!==l&&(p=(k<<8)/(255-l),p=0>p?0:255r?0:255t?0:255>>24,k=(c&e)>>16,w=(c&d)>>8,V=c&f,l=(g&e)>>16,m=(g&d)>>8,n=g&f,p=0;0!==l&&(p=(255-k<<8)/l,p=255-(0>p?0:255r?0:255t?0:255b?0:b)<<24&c.ALPHA_MASK)):a=Va===c.RGB?ta(a,a,a,b):Va===c.HSB?ta(0,0,a/xa*ya,b):void 0,a):"number"===typeof a?$b(a):ta(xa,Ea,ya,ia)};e.color.toString=function(a){return"rgba("+((a&c.RED_MASK)>>>16)+","+((a&c.GREEN_MASK)>>>8)+","+(a&c.BLUE_MASK)+","+((a&c.ALPHA_MASK)>>>24)/255+")"};e.color.toInt= +function(a,b,e,d){return d<<24&c.ALPHA_MASK|a<<16&c.RED_MASK|b<<8&c.GREEN_MASK|e&c.BLUE_MASK};e.color.toArray=function(a){return[(a&c.RED_MASK)>>>16,(a&c.GREEN_MASK)>>>8,a&c.BLUE_MASK,(a&c.ALPHA_MASK)>>>24]};e.color.toGLArray=function(a){return[((a&c.RED_MASK)>>>16)/255,((a&c.GREEN_MASK)>>>8)/255,(a&c.BLUE_MASK)/255,((a&c.ALPHA_MASK)>>>24)/255]};e.color.toRGB=function(a,b,c){a=a>xa?xa:a;b=b>Ea?Ea:b;c=c>ya?ya:c;a=360*(a/xa);b=100*(b/Ea);c=100*(c/ya);var e=Math.round(255*(c/100));if(0===b)return[e, +e,e];a%=360;var d=a%60,f=Math.round(255*(c*(100-b)/1E4)),g=Math.round(255*(c*(6E3-b*d)/6E5));b=Math.round(255*(c*(6E3-b*(60-d))/6E5));switch(Math.floor(a/60)){case 0:return[e,b,f];case 1:return[g,e,f];case 2:return[f,e,b];case 3:return[f,g,e];case 4:return[b,f,e];case 5:return[e,f,g]}};e.brightness=function(a){return bb(a)[2]};e.saturation=function(a){return bb(a)[1]};e.hue=function(a){return bb(a)[0]};e.red=function(a){return((a&c.RED_MASK)>>>16)/255*xa};e.green=function(a){return((a&c.GREEN_MASK)>>> +8)/255*Ea};e.blue=function(a){return(a&c.BLUE_MASK)/255*ya};e.alpha=function(a){return((a&c.ALPHA_MASK)>>>24)/255*ia};e.lerpColor=function(a,b,d){var f,g,h,k,l,s;a=e.color(a);b=e.color(b);if(Va===c.HSB)return h=bb(a),a=((a&c.ALPHA_MASK)>>>24)/ia,g=bb(b),b=((b&c.ALPHA_MASK)>>>24)/ia,s=e.lerp(h[0],g[0],d),f=e.lerp(h[1],g[1],d),h=e.lerp(h[2],g[2],d),h=e.color.toRGB(s,f,h),d=e.lerp(a,b,d)*ia,d<<24&c.ALPHA_MASK|h[0]<<16&c.RED_MASK|h[1]<<8&c.GREEN_MASK|h[2]&c.BLUE_MASK;f=(a&c.RED_MASK)>>>16;g=(a&c.GREEN_MASK)>>> +8;h=a&c.BLUE_MASK;a=((a&c.ALPHA_MASK)>>>24)/ia;k=(b&c.RED_MASK)>>>16;l=(b&c.GREEN_MASK)>>>8;s=b&c.BLUE_MASK;b=((b&c.ALPHA_MASK)>>>24)/ia;f=e.lerp(f,k,d)|0;g=e.lerp(g,l,d)|0;h=e.lerp(h,s,d)|0;d=e.lerp(a,b,d)*ia;return d<<24&c.ALPHA_MASK|f<<16&c.RED_MASK|g<<8&c.GREEN_MASK|h&c.BLUE_MASK};e.colorMode=function(){Va=arguments[0];1b;b++)a[b]=0;a[10]=a[15]=1;W.prototype.applyMatrix.apply(this,a)};e.rotateX=function(a){K.rotateX(a);fa.invRotateX(a)}; +E.prototype.rotateZ=function(){throw"rotateZ() is not supported in 2D mode. Use rotate(float) instead.";};B.prototype.rotateZ=function(a){K.rotateZ(a);fa.invRotateZ(a)};e.rotateY=function(a){K.rotateY(a);fa.invRotateY(a)};E.prototype.rotate=function(a){K.rotateZ(a);fa.invRotateZ(a);g.rotate(a)};B.prototype.rotate=function(a){4>arguments.length?e.rotateZ(a):(K.rotate(a,arguments[1],arguments[2],arguments[3]),fa.rotate(-a,arguments[1],arguments[2],arguments[3]))};E.prototype.shearX=function(a){K.shearX(a); +g.transform(1,0,a,1,0,0)};B.prototype.shearX=function(a){K.shearX(a)};E.prototype.shearY=function(a){K.shearY(a);g.transform(1,a,0,1,0,0)};B.prototype.shearY=function(a){K.shearY(a)};e.pushStyle=function(){g.save();e.pushMatrix();bd.push({doFill:R,currentFillColor:La,doStroke:C,currentStrokeColor:ja,curTint:gb,curRectMode:qa,curColorMode:Va,colorModeX:xa,colorModeZ:ya,colorModeY:Ea,colorModeA:ia,curTextFont:ba,horizontalTextAlignment:nb,verticalTextAlignment:Wa,textMode:ic,curFontName:zb,curTextSize:Na, +curTextAscent:Xa,curTextDescent:Ma,curTextLeading:Aa})};e.popStyle=function(){var a=bd.pop();if(a)Sa(),e.popMatrix(),R=a.doFill,La=a.currentFillColor,C=a.doStroke,ja=a.currentStrokeColor,gb=a.curTint,qa=a.curRectMode,Va=a.curColorMode,xa=a.colorModeX,ya=a.colorModeZ,Ea=a.colorModeY,ia=a.colorModeA,ba=a.curTextFont,zb=a.curFontName,Na=a.curTextSize,nb=a.horizontalTextAlignment,Wa=a.verticalTextAlignment,ic=a.textMode,Xa=a.curTextAscent,Ma=a.curTextDescent,Aa=a.curTextLeading;else throw"Too many popStyle() without enough pushStyle()"; +};e.year=function(){return(new Date).getFullYear()};e.month=function(){return(new Date).getMonth()+1};e.day=function(){return(new Date).getDate()};e.hour=function(){return(new Date).getHours()};e.minute=function(){return(new Date).getMinutes()};e.second=function(){return(new Date).getSeconds()};e.millis=function(){return Date.now()-Oc};E.prototype.redraw=function(){cb();g.lineWidth=ea;var a=e.pmouseX,b=e.pmouseY;e.pmouseX=cc;e.pmouseY=dc;g.save();e.draw();Sa();cc=e.mouseX;dc=e.mouseY;e.pmouseX=a; +e.pmouseY=b};B.prototype.redraw=function(){cb();var a=e.pmouseX,b=e.pmouseY;e.pmouseX=cc;e.pmouseY=dc;g.clear(g.DEPTH_BUFFER_BIT);Fa={attributes:{},locations:{}};e.noLights();e.lightFalloff(1,0,0);e.shininess(1);e.ambient(255,255,255);e.specular(0,0,0);e.emissive(0,0,0);e.camera();e.draw();cc=e.mouseX;dc=e.mouseY;e.pmouseX=a;e.pmouseY=b};e.noLoop=function(){eb=Da=!1;clearInterval(ma);da.onPause()};e.loop=function(){eb||(tc=Date.now(),ec=0,ma=l.setInterval(function(){try{da.onFrameStart(),e.redraw(), +da.onFrameEnd()}catch(a){throw l.clearInterval(ma),a;}},Kc),eb=Da=!0,da.onLoop())};e.frameRate=function(a){tb=a;Kc=1E3/tb;Da&&(e.noLoop(),e.loop())};e.exit=function(){l.clearInterval(ma);var a=e.externals.canvas.id;q.splice(Zb[a],1);delete Zb[a];delete S.onmousedown;for(var b in M.lib)M.lib.hasOwnProperty(b)&&M.lib[b].hasOwnProperty("detach")&&M.lib[b].detach(e);for(a=wb.length;a--;){var c=wb[a];b=c.elem;var d=c.type,c=c.fn;b.removeEventListener?b.removeEventListener(d,c,!1):b.detachEvent&&b.detachEvent("on"+ +d,c)}da.onExit()};e.cursor=function(){if(1b||0>c||c>=a.height||b>=a.width)throw"x and y must be non-negative and less than the dimensions of the image";}else b=a.width>>>1,c=a.height>>>1;a='url("'+a.toDataURL()+'") '+b+" "+c+", default";S.style.cursor=a}else S.style.cursor=1===arguments.length?arguments[0]:od};e.noCursor=function(){S.style.cursor= +c.NOCURSOR};e.link=function(a,b){b!==h?l.open(a,b):l.location=a};e.beginDraw=r;e.endDraw=r;E.prototype.toImageData=function(a,b,c,d){a=a!==h?a:0;b=b!==h?b:0;c=c!==h?c:e.width;d=d!==h?d:e.height;return g.getImageData(a,b,c,d)};B.prototype.toImageData=function(a,b,c,d){a=a!==h?a:0;b=b!==h?b:0;c=c!==h?c:e.width;d=d!==h?d:e.height;var f=p.createElement("canvas").getContext("2d").createImageData(c,d),k=new ga(4*c*d);g.readPixels(a,b,c,d,g.RGBA,g.UNSIGNED_BYTE,k);a=0;b=k.length;for(var w=f.data;a>>c-1&1);)c--;for(var e="";0>>--c&1?"1":"0";return e};e.unbinary=function(a){for(var b=a.length-1,c=1,e=0;0<=b;){var d=a[b--];if("0"!==d&&"1"!==d)throw"the value passed into unbinary was not an 8 bit binary number";"1"===d&&(e+=c);c<<=1}return e};e.hex=function(a,b){1===arguments.length&&(b=a instanceof Char?4: +8);var c=a,e=b,e=e===h||null===e?e=8:e;0>c&&(c=4294967295+c+1);for(c=Number(c).toString(16).toUpperCase();c.length=e&&(c=c.substring(c.length-e,c.length));return c};e.unhex=function(a){if(a instanceof Array){for(var b=[],c=0;c 0.5){ discard; } } if(uIsDrawingText == 1){ float alpha = texture2D(uSampler, vTextureCoord).a; gl_FragColor = vec4(vFrontColor.rgb * alpha, alpha); } else{ gl_FragColor = vFrontColor; }}"); +na=Ic(g,"varying vec4 vFrontColor;attribute vec3 aVertex;attribute vec4 aColor;uniform mat4 uView;uniform mat4 uProjection;uniform float uPointSize;void main(void) { vFrontColor = aColor; gl_PointSize = uPointSize; gl_Position = uProjection * uView * vec4(aVertex, 1.0);}","#ifdef GL_ES\nprecision highp float;\n#endif\nvarying vec4 vFrontColor;uniform bool uSmooth;void main(void){ if(uSmooth == true){ float dist = distance(gl_PointCoord, vec2(0.5)); if(dist > 0.5){ discard; } } gl_FragColor = vFrontColor;}"); +e.strokeWeight(1);y=Ic(g,td,"#ifdef GL_ES\nprecision highp float;\n#endif\nvarying vec4 vFrontColor;uniform sampler2D uSampler;uniform bool uUsingTexture;varying vec2 vTexture;void main(void){ if( uUsingTexture ){ gl_FragColor = vec4(texture2D(uSampler, vTexture.xy)) * vFrontColor; } else{ gl_FragColor = vFrontColor; }}");g.useProgram(y);Y("usingTexture3d",y,"usingTexture",ua);e.lightFalloff(1,0,0);e.shininess(1);e.ambient(255,255,255);e.specular(0,0,0);e.emissive(0,0,0);wc=g.createBuffer(); +g.bindBuffer(g.ARRAY_BUFFER,wc);g.bufferData(g.ARRAY_BUFFER,cd,g.STATIC_DRAW);xc=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,xc);g.bufferData(g.ARRAY_BUFFER,rd,g.STATIC_DRAW);yc=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,yc);g.bufferData(g.ARRAY_BUFFER,dd,g.STATIC_DRAW);gc=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,gc);g.bufferData(g.ARRAY_BUFFER,Hc,g.STATIC_DRAW);zc=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,zc);g.bufferData(g.ARRAY_BUFFER,sd,g.STATIC_DRAW);Tb=g.createBuffer();Ac=g.createBuffer(); +Pc=g.createBuffer();Bc=g.createBuffer();Qc=g.createBuffer();Rc=g.createBuffer();hc=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,hc);g.bufferData(g.ARRAY_BUFFER,new A([0,0,0]),g.STATIC_DRAW);Cc=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,Cc);g.bufferData(g.ARRAY_BUFFER,new A([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),g.STATIC_DRAW);Dc=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,Dc);g.bufferData(g.ARRAY_BUFFER,new A([0,0,1,0,1,1,0,1]),g.STATIC_DRAW);Ec=g.createBuffer();g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,Ec); +g.bufferData(g.ELEMENT_ARRAY_BUFFER,new v([0,1,2,2,3,0]),g.STATIC_DRAW);qb=new I;Ra=new I;K=new I;fa=new I;Ha=new I;e.camera();e.perspective();Ab=new Za;Bb=new Za;Sb=new I;fc=new I;xb=new I;yb=new I;uc=new I;vc=new I;vc.set(-1,3,-3,1,3,-6,3,0,-3,3,0,0,1,0,0,0);W.prototype.size.apply(this,arguments)}}();E.prototype.ambientLight=W.prototype.a3DOnlyFunction;B.prototype.ambientLight=function(a,b,e,d,f,h){if(O===c.MAX_LIGHTS)throw"can only create "+c.MAX_LIGHTS+" lights";d=new PVector(d,f,h);f=new I;f.scale(1, +-1,1);f.apply(K.array());f.mult(d,d);a=ta(a,b,e,0);a=[((a&c.RED_MASK)>>>16)/255,((a&c.GREEN_MASK)>>>8)/255,(a&c.BLUE_MASK)/255];g.useProgram(y);T("uLights.color.3d."+O,y,"uLights"+O+".color",a);T("uLights.position.3d."+O,y,"uLights"+O+".position",d.array());Y("uLights.type.3d."+O,y,"uLights"+O+".type",0);Y("uLightCount3d",y,"uLightCount",++O)};E.prototype.directionalLight=W.prototype.a3DOnlyFunction;B.prototype.directionalLight=function(a,b,e,d,f,h){if(O===c.MAX_LIGHTS)throw"can only create "+c.MAX_LIGHTS+ +" lights";g.useProgram(y);var k=new I;k.scale(1,-1,1);k.apply(K.array());k=k.array();d=[k[0]*d+k[4]*f+k[8]*h,k[1]*d+k[5]*f+k[9]*h,k[2]*d+k[6]*f+k[10]*h];a=ta(a,b,e,0);T("uLights.color.3d."+O,y,"uLights"+O+".color",[((a&c.RED_MASK)>>>16)/255,((a&c.GREEN_MASK)>>>8)/255,(a&c.BLUE_MASK)/255]);T("uLights.position.3d."+O,y,"uLights"+O+".position",d);Y("uLights.type.3d."+O,y,"uLights"+O+".type",1);Y("uLightCount3d",y,"uLightCount",++O)};E.prototype.lightFalloff=W.prototype.a3DOnlyFunction;B.prototype.lightFalloff= +function(a,b,c){g.useProgram(y);T("uFalloff3d",y,"uFalloff",[a,b,c])};E.prototype.lightSpecular=W.prototype.a3DOnlyFunction;B.prototype.lightSpecular=function(a,b,e){a=ta(a,b,e,0);a=[((a&c.RED_MASK)>>>16)/255,((a&c.GREEN_MASK)>>>8)/255,(a&c.BLUE_MASK)/255];g.useProgram(y);T("uSpecular3d",y,"uSpecular",a)};e.lights=function(){e.ambientLight(128,128,128);e.directionalLight(128,128,128,0,0,-1);e.lightFalloff(1,0,0);e.lightSpecular(0,0,0)};E.prototype.pointLight=W.prototype.a3DOnlyFunction;B.prototype.pointLight= +function(a,b,e,d,f,h){if(O===c.MAX_LIGHTS)throw"can only create "+c.MAX_LIGHTS+" lights";d=new PVector(d,f,h);f=new I;f.scale(1,-1,1);f.apply(K.array());f.mult(d,d);a=ta(a,b,e,0);a=[((a&c.RED_MASK)>>>16)/255,((a&c.GREEN_MASK)>>>8)/255,(a&c.BLUE_MASK)/255];g.useProgram(y);T("uLights.color.3d."+O,y,"uLights"+O+".color",a);T("uLights.position.3d."+O,y,"uLights"+O+".position",d.array());Y("uLights.type.3d."+O,y,"uLights"+O+".type",2);Y("uLightCount3d",y,"uLightCount",++O)};E.prototype.noLights=W.prototype.a3DOnlyFunction; +B.prototype.noLights=function(){O=0;g.useProgram(y);Y("uLightCount3d",y,"uLightCount",O)};E.prototype.spotLight=W.prototype.a3DOnlyFunction;B.prototype.spotLight=function(a,b,e,d,f,h,k,l,s,m,n){if(O===c.MAX_LIGHTS)throw"can only create "+c.MAX_LIGHTS+" lights";g.useProgram(y);d=new PVector(d,f,h);f=new I;f.scale(1,-1,1);f.apply(K.array());f.mult(d,d);f=f.array();k=[f[0]*k+f[4]*l+f[8]*s,f[1]*k+f[5]*l+f[9]*s,f[2]*k+f[6]*l+f[10]*s];a=ta(a,b,e,0);T("uLights.color.3d."+O,y,"uLights"+O+".color",[((a&c.RED_MASK)>>> +16)/255,((a&c.GREEN_MASK)>>>8)/255,(a&c.BLUE_MASK)/255]);T("uLights.position.3d."+O,y,"uLights"+O+".position",d.array());T("uLights.direction.3d."+O,y,"uLights"+O+".direction",k);T("uLights.concentration.3d."+O,y,"uLights"+O+".concentration",n);T("uLights.angle.3d."+O,y,"uLights"+O+".angle",m);Y("uLights.type.3d."+O,y,"uLights"+O+".type",3);Y("uLightCount3d",y,"uLightCount",++O)};E.prototype.beginCamera=function(){throw"beginCamera() is not available in 2D mode";};B.prototype.beginCamera=function(){if(kc)throw"You cannot call beginCamera() again before calling endCamera()"; +kc=!0;K=Ra;fa=qb};E.prototype.endCamera=function(){throw"endCamera() is not available in 2D mode";};B.prototype.endCamera=function(){if(!kc)throw"You cannot call endCamera() before calling beginCamera()";K.set(qb);fa.set(Ra);kc=!1};e.camera=function(a,b,c,d,f,g,k,l,s){a===h&&(Gc=e.width/2,rb=e.height/2,sb=rb/Math.tan(lc/2),a=Gc,b=rb,c=sb,d=Gc,f=rb,k=g=0,l=1,s=0);d=new PVector(a-d,b-f,c-g);var m=new PVector(k,l,s);d.normalize();s=PVector.cross(m,d);m=PVector.cross(d,s);s.normalize();m.normalize(); +k=s.x;l=s.y;s=s.z;f=m.x;g=m.y;var m=m.z,n=d.x,p=d.y;d=d.z;qb.set(k,l,s,0,f,g,m,0,n,p,d,0,0,0,0,1);qb.translate(-a,-b,-c);Ra.reset();Ra.invApply(k,l,s,0,f,g,m,0,n,p,d,0,0,0,0,1);Ra.translate(a,b,c);K.set(qb);fa.set(Ra)};e.perspective=function(a,b,c,d){0===arguments.length&&(rb=S.height/2,sb=rb/Math.tan(lc/2),Zc=sb/10,$c=10*sb,ad=e.width/e.height,a=lc,b=ad,c=Zc,d=$c);var f,g;f=c*Math.tan(a/2);g=-f;e.frustum(g*b,f*b,g,f,c,d)};E.prototype.frustum=function(){throw"Processing.js: frustum() is not supported in 2D mode"; +};B.prototype.frustum=function(a,b,c,e,d,f){Ha=new I;Ha.set(2*d/(b-a),0,(b+a)/(b-a),0,0,2*d/(e-c),(e+c)/(e-c),0,0,0,-(f+d)/(f-d),-(2*f*d)/(f-d),0,0,-1,0);a=new I;a.set(Ha);a.transpose();g.useProgram(J);U("projection2d",J,"uProjection",!1,a.array());g.useProgram(y);U("projection3d",y,"uProjection",!1,a.array());g.useProgram(na);U("uProjectionUS",na,"uProjection",!1,a.array())};e.ortho=function(a,b,c,d,f,h){0===arguments.length&&(a=0,b=e.width,c=0,d=e.height,f=-10,h=10);var k=2/(b-a),l=2/(d-c),s=-2/ +(h-f),m=-(b+a)/(b-a),n=-(d+c)/(d-c),p=-(h+f)/(h-f);Ha=new I;Ha.set(k,0,0,m,0,l,0,n,0,0,s,p,0,0,0,1);k=new I;k.set(Ha);k.transpose();g.useProgram(J);U("projection2d",J,"uProjection",!1,k.array());g.useProgram(y);U("projection3d",y,"uProjection",!1,k.array());g.useProgram(na);U("uProjectionUS",na,"uProjection",!1,k.array())};e.printProjection=function(){Ha.print()};e.printCamera=function(){qb.print()};E.prototype.box=W.prototype.a3DOnlyFunction;B.prototype.box=function(a,b,c){b&&c||(b=c=a);var e=new I; +e.scale(a,b,c);a=new I;a.scale(1,-1,1);a.apply(K.array());a.transpose();R&&(g.useProgram(y),U("model3d",y,"uModel",!1,e.array()),U("view3d",y,"uView",!1,a.array()),g.enable(g.POLYGON_OFFSET_FILL),g.polygonOffset(1,1),T("color3d",y,"uColor",ka),0a&&(a=3);2>b&&(b=2);if(a!==pb|| +b!==jc){var d=c.SINCOS_LENGTH/a,f=new A(a),h=new A(a);for(e=0;epb||2>jc)&&e.sphereDetail(30);var b=new I;b.scale(a,a,a);a=new I;a.scale(1,-1,1);a.apply(K.array());a.transpose();if(R){if(0d?0:d,f=1f?0:f);g[0]=a;g[1]=b;g[2]=e||0;g[3]=d||0;g[4]=f||0;g[5]=ka[0];g[6]=ka[1];g[7]=ka[2];g[8]=ka[3];g[9]=X[0];g[10]=X[1];g[11]=X[2];g[12]=X[3];g[13]=Gb;g[14]=Eb;g[15]=ub;t.push(g)};var gd=function(a, +b){var c=new I;c.scale(1,-1,1);c.apply(K.array());c.transpose();g.useProgram(na);U("uViewUS",na,"uView",!1,c.array());Y("uSmoothUS",na,"uSmooth",ra);Z("aVertexUS",na,"aVertex",3,hc);g.bufferData(g.ARRAY_BUFFER,new A(a),g.STREAM_DRAW);Z("aColorUS",na,"aColor",4,Bc);g.bufferData(g.ARRAY_BUFFER,new A(b),g.STREAM_DRAW);g.drawArrays(g.POINTS,0,a.length/3)},Ca=function(a,b,c){b="LINES"===b?g.LINES:"LINE_LOOP"===b?g.LINE_LOOP:g.LINE_STRIP;var e=new I;e.scale(1,-1,1);e.apply(K.array());e.transpose();g.useProgram(na); +U("uViewUS",na,"uView",!1,e.array());Z("aVertexUS",na,"aVertex",3,Ac);g.bufferData(g.ARRAY_BUFFER,new A(a),g.STREAM_DRAW);Z("aColorUS",na,"aColor",4,Qc);g.bufferData(g.ARRAY_BUFFER,new A(c),g.STREAM_DRAW);g.drawArrays(b,0,a.length/3)},$a=function(a,b,c,e){b="TRIANGLES"===b?g.TRIANGLES:"TRIANGLE_FAN"===b?g.TRIANGLE_FAN:g.TRIANGLE_STRIP;var d=new I;d.scale(1,-1,1);d.apply(K.array());d.transpose();g.useProgram(y);U("model3d",y,"uModel",!1,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);U("view3d",y,"uView",!1,d.array()); +g.enable(g.POLYGON_OFFSET_FILL);g.polygonOffset(1,1);T("color3d",y,"uColor",[-1,0,0,0]);Z("vertex3d",y,"aVertex",3,Pc);g.bufferData(g.ARRAY_BUFFER,new A(a),g.STREAM_DRAW);ua&&null!==gb&&sc(c);Z("aColor3d",y,"aColor",4,Bc);g.bufferData(g.ARRAY_BUFFER,new A(c),g.STREAM_DRAW);sa("aNormal3d",y,"aNormal");ua&&(Y("uUsingTexture3d",y,"uUsingTexture",ua),Z("aTexture3d",y,"aTexture",2,Rc),g.bufferData(g.ARRAY_BUFFER,new A(e),g.STREAM_DRAW));g.drawArrays(b,0,a.length/3);g.disable(g.POLYGON_OFFSET_FILL)};E.prototype.endShape= +function(a){if(0!==t.length){(a=a===c.CLOSE)&&t.push(t[0]);var b=[],d=[],f=[],k=[],l;ib=!0;var w,m,s=t.length;for(w=0;wm;m++)b.push(l[m]);for(w=0;wm;m++)d.push(l[m]);for(w=0;wm;m++)f.push(l[m]);for(w=0;wm;m++)g.lineTo(t[w+m][0],t[w+m][1]);g.lineTo(l[0],l[1]);R&&(e.fill(t[w+3][5]),wa());C&&(e.stroke(t[w+3][6]),za());g.closePath()}else if(aa===c.QUAD_STRIP){if(3s;s++)e.push(l[s]);for(m=0;ms;s++)d.push(l[s]);for(m=0;ms;s++)f.push(l[s]);for(m=0;mm;m++)d.push(t[0][m]);for(m=9;13>m;m++)f.push(t[0][m]);k.push(t[0][3]);k.push(t[0][4])}if(!Cb||aa!==c.POLYGON&&aa!==h)if(!Db||aa!==c.POLYGON&&aa!==h){if(aa===c.POINTS){for(m=0;ms;s++)a.push(l[s]);gd(a,f)}else if(aa===c.LINES){for(m=0;ms;s++)a.push(l[s]);for(m=0;ms;s++)d.push(l[s]);Ca(a,"LINES",f)}else if(aa===c.TRIANGLES){if(2s;s++)for(b=0;3>b;b++)a.push(t[m+ +s][b]),e.push(t[m+s][b]);for(s=0;3>s;s++)for(b=3;5>b;b++)k.push(t[m+s][b]);for(s=0;3>s;s++)for(b=5;9>b;b++)d.push(t[m+s][b]),f.push(t[m+s][b+4]);C&&Ca(a,"LINE_LOOP",f);(R||ua)&&$a(e,"TRIANGLES",d,k)}}else if(aa===c.TRIANGLE_STRIP){if(2s;s++)for(b=0;3>b;b++)a.push(t[m+s][b]),e.push(t[m+s][b]);for(s=0;3>s;s++)for(b=3;5>b;b++)k.push(t[m+s][b]);for(s=0;3>s;s++)for(b=5;9>b;b++)f.push(t[m+s][b+4]),d.push(t[m+s][b]);(R||ua)&&$a(e,"TRIANGLE_STRIP", +d,k);C&&Ca(a,"LINE_LOOP",f)}}else if(aa===c.TRIANGLE_FAN){if(2m;m++)for(l=t[m],s=0;3>s;s++)a.push(l[s]);for(m=0;3>m;m++)for(l=t[m],s=9;13>s;s++)f.push(l[s]);C&&Ca(a,"LINE_LOOP",f);for(m=2;m+1s;s++)for(b=0;3>b;b++)a.push(t[m+s][b]);for(s=0;2>s;s++)for(b=9;13>b;b++)f.push(t[m+s][b]);C&&Ca(a,"LINE_STRIP",f)}(R||ua)&&$a(e,"TRIANGLE_FAN",d,k)}}else if(aa=== +c.QUADS)for(m=0;m+3s;s++)for(l=t[m+s],b=0;3>b;b++)a.push(l[b]);C&&Ca(a,"LINE_LOOP",f);if(R){e=[];d=[];k=[];for(s=0;3>s;s++)e.push(t[m][s]);for(s=5;9>s;s++)d.push(t[m][s]);for(s=0;3>s;s++)e.push(t[m+1][s]);for(s=5;9>s;s++)d.push(t[m+1][s]);for(s=0;3>s;s++)e.push(t[m+3][s]);for(s=5;9>s;s++)d.push(t[m+3][s]);for(s=0;3>s;s++)e.push(t[m+2][s]);for(s=5;9>s;s++)d.push(t[m+2][s]);ua&&(k.push(t[m+0][3]),k.push(t[m+0][4]),k.push(t[m+1][3]),k.push(t[m+1][4]),k.push(t[m+3][3]),k.push(t[m+ +3][4]),k.push(t[m+2][3]),k.push(t[m+2][4]));$a(e,"TRIANGLE_STRIP",d,k)}}else if(aa===c.QUAD_STRIP){if(3m;m++)for(l=t[m],s=0;3>s;s++)a.push(l[s]);for(m=0;2>m;m++)for(l=t[m],s=9;13>s;s++)f.push(l[s]);Ca(a,"LINE_STRIP",f);4s;s++)a.push(t[m+1][s]);for(s=0;3>s;s++)a.push(t[m+3][s]);for(s=0;3>s;s++)a.push(t[m+2][s]);for(s=0;3>s;s++)a.push(t[m+0][s]);for(s=9;13>s;s++)f.push(t[m+1][s]);for(s=9;13>s;s++)f.push(t[m+ +3][s]);for(s=9;13>s;s++)f.push(t[m+2][s]);for(s=9;13>s;s++)f.push(t[m+0][s]);C&&Ca(a,"LINE_STRIP",f)}(R||ua)&&$a(e,"TRIANGLE_LIST",d,k)}}else if(1===n){for(s=0;3>s;s++)a.push(t[0][s]);for(s=9;13>s;s++)f.push(t[0][s]);gd(a,f)}else{for(m=0;ms;s++)a.push(l[s]);for(s=5;9>s;s++)f.push(l[s])}C&&b?Ca(a,"LINE_LOOP",f):C&&!b&&Ca(a,"LINE_STRIP",f);(R||ua)&&$a(e,"TRIANGLE_FAN",d,k)}ua=!1;g.useProgram(y);Y("usingTexture3d",y,"uUsingTexture",ua)}else a=e,a.splice(a.length-3),f.splice(f.length- +4),C&&Ca(a,null,f),R&&$a(e,"TRIANGLES",d);else C&&Ca(e,null,f),R&&$a(e,null,d);Db=Cb=!1;va=[];oa=0}};var hd=function(a,b){var c=1/a,e=c*c,d=e*c;b.set(0,0,0,1,d,e,c,0,6*d,2*e,0,0,6*d,0,0,0)},id=function(){xb||(Sb=new I,xb=new I,Lc=!0);var a=oc;Sb.set((a-1)/2,(a+3)/2,(-3-a)/2,(1-a)/2,1-a,(-5-a)/2,a+2,(a-1)/2,(a-1)/2,0,(1-a)/2,0,0,1,0,0);hd(pc,xb);uc||(fc=new I);fc.set(Sb);fc.preApply(uc);xb.apply(Sb)};E.prototype.bezierVertex=function(){Db=!0;var a=[];if(ib)throw"vertex() must be used at least once before calling bezierVertex()"; +for(var b=0;b=d||hg;)g+=c.TWO_PI,h+=c.TWO_PI;h-g>c.TWO_PI&&(g=0,h=c.TWO_PI);d/=2;f/=2;a+=d;b+=f;g=0|0.5+2*g*e.RAD_TO_DEG;h=0|0.5+2*h*e.RAD_TO_DEG;var k,l;if(R){var m=C;C=!1;e.beginShape();e.vertex(a,b);for(k= +g;k<=h;k++)l=k%c.SINCOS_LENGTH,e.vertex(a+Vb[l]*d,b+Ub[l]*f);e.endShape(c.CLOSE);C=m}if(C){m=R;R=!1;e.beginShape();for(k=g;k<=h;k++)l=k%c.SINCOS_LENGTH,e.vertex(a+Vb[l]*d,b+Ub[l]*f);e.endShape();R=m}}};E.prototype.line=function(a,b,c,d){if(C)if(a=Math.round(a),c=Math.round(c),b=Math.round(b),d=Math.round(d),a===c&&b===d)e.point(a,b);else{for(var f=h,k=h,l=!0,f=K.array(),m=[1,0,0,0,1,0],s=0;6>s&&l;s++)l=f[s]===m[s];l&&(a===c?(b>d&&(f=b,b=d,d=f),d++,1===ea%2&&g.translate(0.5,0)):b===d&&(a>c&&(f=a,a= +c,c=f),c++,1===ea%2&&g.translate(0,0.5)),1===ea&&(k=g.lineCap,g.lineCap="butt"));g.beginPath();g.moveTo(a||0,b||0);g.lineTo(c||0,d||0);za();l&&(a===c&&1===ea%2?g.translate(-0.5,0):b===d&&1===ea%2&&g.translate(0,-0.5),1===ea&&(g.lineCap=k))}};B.prototype.line=function(a,b,c,d,f,k){if(f===h||k===h)k=0,f=d,d=c,c=0;a===d&&b===f&&c===k?e.point(a,b,c):(a=[a,b,c,d,f,k],b=new I,b.scale(1,-1,1),b.apply(K.array()),b.transpose(),0s||f>n)f=Math.min(s,n);if(k>s||k>n)k=Math.min(s,n);if(l>s||l>n)l=Math.min(s,n);if(m>s||m>n)m=Math.min(s,n);R&&!C||g.translate(0.5,0.5);g.beginPath();g.moveTo(a+f,b);g.lineTo(a+e-k,b);g.quadraticCurveTo(a+e,b,a+e,b+k);g.lineTo(a+ +e,b+d-l);g.quadraticCurveTo(a+e,b+d,a+e-l,b+d);g.lineTo(a+m,b+d);g.quadraticCurveTo(a,b+d,a,b+d-m);g.lineTo(a,b+f);g.quadraticCurveTo(a,b,a+f,b);R&&!C||g.translate(-0.5,-0.5);wa();za()}else C&&1===ea%2&&g.translate(0.5,0.5),g.beginPath(),g.rect(a,b,e,d),wa(),za(),C&&1===ea%2&&g.translate(-0.5,-0.5)};B.prototype.rect=function(a,b,e,d,f,k,l,m){if(f!==h)throw"rect() with rounded corners is not supported in 3D mode";qa===c.CORNERS?(e-=a,d-=b):qa===c.RADIUS?(e*=2,d*=2,a-=e/2,b-=d/2):qa===c.CENTER&&(a-= +e/2,b-=d/2);f=new I;f.translate(a,b,0);f.scale(e,d,1);f.transpose();b=new I;b.scale(1,-1,1);b.apply(K.array());b.transpose();0=d&&0>=f))if(la===c.RADIUS?(d*=2,f*=2):la=== +c.CORNERS?(d-=a,f-=b,a+=d/2,b+=f/2):la===c.CORNER&&(a+=d/2,b+=f/2),d===f)g.beginPath(),g.arc(a,b,d/2,0,c.TWO_PI,!1),wa(),za();else{d/=2;f/=2;var h=0.5522847498307933*d,k=0.5522847498307933*f;e.beginShape();e.vertex(a+d,b);e.bezierVertex(a+d,b-k,a+h,b-f,a,b-f);e.bezierVertex(a-h,b-f,a-d,b-k,a-d,b);e.bezierVertex(a-d,b+k,a-h,b+f,a,b+f);e.bezierVertex(a+h,b+f,a+d,b+k,a+d,b);e.endShape()}};B.prototype.ellipse=function(a,b,d,f){a=a||0;b=b||0;if(!(0>=d&&0>=f)){la===c.RADIUS?(d*=2,f*=2):la===c.CORNERS?(d-= +a,f-=b,a+=d/2,b+=f/2):la===c.CORNER&&(a+=d/2,b+=f/2);d/=2;f/=2;var g=0.5522847498307933*d,h=0.5522847498307933*f;e.beginShape();e.vertex(a+d,b);e.bezierVertex(a+d,b-h,0,a+g,b-f,0,a,b-f,0);e.bezierVertex(a-g,b-f,0,a-d,b-h,0,a-d,b,0);e.bezierVertex(a-d,b+h,0,a-g,b+f,0,a,b+f,0);e.bezierVertex(a+g,b+f,0,a+d,b+h,0,a+d,b,0);e.endShape();if(R){for(g=f=d=0;gd;d++)a.push(t[g][d]);for(d=5;9>d;d++)b.push(t[g][d])}$a(a,"TRIANGLE_FAN",b)}}};e.normal=function(a,b,d){if(3!==arguments.length||"number"!==typeof a||"number"!==typeof b||"number"!==typeof d)throw"normal() requires three numeric arguments.";Gb=a;Eb=b;ub=d;0!==aa&&(jb===c.NORMAL_MODE_AUTO?jb=c.NORMAL_MODE_SHAPE:jb===c.NORMAL_MODE_SHAPE&&(jb=c.NORMAL_MODE_VERTEX))};e.save=function(a, +b){return b!==h?l.open(b.toDataURL(),"_blank"):l.open(e.externals.canvas.toDataURL(),"_blank")};var wd=0;e.saveFrame=function(a){a===h&&(a="screen-####.png");a=a.replace(/#+/,function(a){for(var b=""+wd++;b.length=e.width||0>a||0>b||b>=e.height?d=0:Rb?(a=4*((0|a)+e.width*(0|b)),d=e.imageData.data,d=d[a+3]<<24&c.ALPHA_MASK| +d[a]<<16&c.RED_MASK|d[a+1]<<8&c.GREEN_MASK|d[a+2]&c.BLUE_MASK):(d=e.toImageData(0|a,0|b,1,1).data,d=d[3]<<24&c.ALPHA_MASK|d[0]<<16&c.RED_MASK|d[1]<<8&c.GREEN_MASK|d[2]&c.BLUE_MASK),d):void 0!==a?Lb(0,0,a.width,a.height,a):Kb(0,0,e.width,e.height)};e.createGraphics=function(a,b,c){var d=new M;d.size(a,b,c);d.background(0,0);return d};e.set=function(a,b,c,d){if(3===arguments.length)"number"===typeof c?aYc&&fb()):(c instanceof Ga||c.__isPImage)&&e.image(c,a,b);else if(4===arguments.length){if(d.isRemote)throw"Image is loaded remotely. Cannot set x,y.";var f=e.color.toArray(c),h=4*b*d.width+4*a,k=d.imageData.data;k[h]=f[0];k[h+1]=f[1];k[h+2]=f[2];k[h+3]=f[3]}};e.imageData={};e.pixels={getLength:function(){return e.imageData.data.length?e.imageData.data.length/4:0},getPixel:function(a){a*=4;var b=e.imageData.data;return b[a+3]<<24&4278190080|b[a+0]<< +16&16711680|b[a+1]<<8&65280|b[a+2]&255},setPixel:function(a,b){var c=4*a,d=e.imageData.data;d[c+0]=(b&16711680)>>>16;d[c+1]=(b&65280)>>>8;d[c+2]=b&255;d[c+3]=(b&4278190080)>>>24},toArray:function(){for(var a=[],b=e.imageData.width*e.imageData.height,c=e.imageData.data,d=0,f=0;darguments.length);if(a.sourceImg&&null===gb){var h=a.sourceImg;a.__isDirty&&a.updatePixels();g.drawImage(h,0,0,h.width,h.height,f.x,f.y,f.w,f.h)}else h=a.toImageData(),null!==gb&&(gb(h),a.__isDirty=!0),g.drawImage(Ja(h).canvas,0,0,a.width,a.height,f.x, +f.y,f.w,f.h)}};B.prototype.image=function(a,b,c,d,f){0=g&&(l=c),0>n&&(n=0),p>=d&&(p=c),n=b.pixels.getPixel(n),m=b.pixels.getPixel(m),p=b.pixels.getPixel(p),l=b.pixels.getPixel(l),h=77*(h>>16&255)+ +151*(h>>8&255)+28*(h&255),t=77*(m>>16&255)+151*(m>>8&255)+28*(m&255),r=77*(l>>16&255)+151*(l>>8&255)+28*(l&255),q=77*(n>>16&255)+151*(n>>8&255)+28*(n&255),v=77*(p>>16&255)+151*(p>>8&255)+28*(p&255),t=g&&(l=c),0>n&&(n=0),p>=d&&(p=c),n=b.pixels.getPixel(n),m=b.pixels.getPixel(m),p=b.pixels.getPixel(p),l=b.pixels.getPixel(l), +h=77*(h>>16&255)+151*(h>>8&255)+28*(h&255),t=77*(m>>16&255)+151*(m>>8&255)+28*(m&255),r=77*(l>>16&255)+151*(l>>8&255)+28*(l&255),q=77*(n>>16&255)+151*(n>>8&255)+28*(n&255),v=77*(p>>16&255)+151*(p>>8&255)+28*(p&255),t>h&&(k=m,h=t),r>h&&(k=l,h=r),q>h&&(k=n,h=q),v>h&&(k=p),e[c++]=k;b.pixels.set(e)};e.filter=function(a,b,d){var f,g,k,l;3===arguments.length?(d.loadPixels(),f=d):(e.loadPixels(),f=e);b===h&&(b=null);if(f.isRemote)throw"Image is loaded remotely. Cannot filter image.";var m=f.pixels.getLength(); +switch(a){case c.BLUR:var n=b||1,p=f,r,t,q,v,u,x,y,C,D;k=p.pixels.getLength();l=new A(k);m=new A(k);g=new A(k);k=new A(k);var F=0,G,E,H,n=e.floor(3.5*n),B,n=1>n?1:248>n?n:248;if(e.shared.blurRadius!==n){e.shared.blurRadius=n;e.shared.blurKernelSize=1+(e.shared.blurRadius<<1);e.shared.blurKernel=new A(e.shared.blurKernelSize);var I=e.shared.blurKernel,J=e.shared.blurKernelSize;for(B=0;Bx)u=-x,x=0;else{if(x>=B)break;u=0}for(H=u;H=B);H++)y=4*(x+F),u=J[H],v+=u*K[y+3],r+=u*K[y],t+=u*K[y+1],q+=u*K[y+2],p+=u,x++;y=F+G;k[y]=v/p;l[y]=r/p;m[y]=t/p;g[y]=q/p}F+=B}F=0;C=-C;D=C*B;for(E=0;EC)u=y=-C,x=G;else{if(C>=n)break;u=0;y=C;x=G+D}for(H=u;H=n);H++)u=J[H],v+=u*k[x],r+=u*l[x],t+=u*m[x],q+=u*g[x],p+=u,y++,x+=B;y= +4*(G+F);K[y]=r/p;K[y+1]=t/p;K[y+2]=q/p;K[y+3]=v/p}F+=B;D+=B;C++}break;case c.GRAY:if(f.format===c.ALPHA){for(l=0;l>16&255)+151*(g>>8&255)+28*(g&255)>>8,f.pixels.setPixel(l,g&c.ALPHA_MASK|k<<16|k<<8|k);break;case c.INVERT:for(l=0;lg||255>16&255,n=f.pixels.getPixel(l)>>8&255,B=f.pixels.getPixel(l)&255,F=255*(F*g>>8)/k,n=255*(n*g>>8)/k,B=255*(B*g>>8)/k,f.pixels.setPixel(l,4278190080&f.pixels.getPixel(l)|F<<16|n<<8|B);break;case c.OPAQUE:for(l=0;lb||1>16,e.max((f.pixels.getPixel(l)&c.GREEN_MASK)>>8,f.pixels.getPixel(l)&c.BLUE_MASK)),f.pixels.setPixel(l,f.pixels.getPixel(l)&c.ALPHA_MASK|(kc&&(g=c)):(a=c+a-e,g>a&&(g=a));fd&&(h=d)):(b=d+b-f,h>b&&(h=b));return!(0>=g||0>=h)};var pa={};pa[c.BLEND]=e.modes.blend;pa[c.ADD]=e.modes.add;pa[c.SUBTRACT]=e.modes.subtract;pa[c.LIGHTEST]=e.modes.lightest;pa[c.DARKEST]=e.modes.darkest;pa[c.REPLACE]=e.modes.replace;pa[c.DIFFERENCE]=e.modes.difference;pa[c.EXCLUSION]=e.modes.exclusion;pa[c.MULTIPLY]=e.modes.multiply;pa[c.SCREEN]= +e.modes.screen;pa[c.OVERLAY]=e.modes.overlay;pa[c.HARD_LIGHT]=e.modes.hard_light;pa[c.SOFT_LIGHT]=e.modes.soft_light;pa[c.DODGE]=e.modes.dodge;pa[c.BURN]=e.modes.burn;e.blit_resize=function(a,b,d,f,g,h,k,l,m,n,p,r,t){0>b&&(b=0);0>d&&(d=0);f>=a.width&&(f=a.width-1);g>=a.height&&(g=a.height-1);f-=b;g-=d;p-=m;r-=n;if(!(0>=p||0>=r||0>=f||0>=g||m>=k||n>=l||b>=a.width||d>=a.height)){f=Math.floor(f/p*c.PRECISIONF);g=Math.floor(g/r*c.PRECISIONF);var q=e.shared;q.srcXOffset=Math.floor(0>m?-m*f:b*c.PRECISIONF); +q.srcYOffset=Math.floor(0>n?-n*g:d*c.PRECISIONF);0>m&&(p+=m,m=0);0>n&&(r+=n,n=0);p=Math.min(p,k-m);r=Math.min(r,l-n);b=n*k+m;var v;q.srcBuffer=a.imageData.data;q.iw=a.width;q.iw1=a.width-1;q.ih1=a.height-1;d=pa[t];var u,x,y,C;m=c.ALPHA_MASK;n=c.RED_MASK;var A=c.GREEN_MASK,B=c.BLUE_MASK,F=c.PREC_MAXVAL,D=c.PRECISIONB,G=c.PREC_RED_SHIFT,H=c.PREC_ALPHA_SHIFT,E=q.srcBuffer,I=Math.min;for(t=0;t>D)*q.iw;q.v2=I((q.srcYOffset>> +D)+1,q.ih1)*q.iw;for(a=0;a>D,q.ll=q.ifU*q.fracV>>D,q.ur=q.fracU*q.ifV>>D,q.lr=q.fracU*q.fracV>>D,q.u1=q.sX>>D,q.u2=I(q.u1+1,q.iw1),u=4*(q.v1+q.u1),x=4*(q.v1+q.u2),y=4*(q.v2+q.u1),C=4*(q.v2+q.u2),q.cUL=E[u+3]<<24&m|E[u]<<16&n|E[u+1]<<8&A|E[u+2]&B,q.cUR=E[x+3]<<24&m|E[x]<<16&n|E[x+1]<<8&A|E[x+2]&B,q.cLL=E[y+3]<<24&m|E[y]<<16&n|E[y+1]<<8&A|E[y+2]&B,q.cLR=E[C+3]<<24&m|E[C]<<16&n|E[C+1]<<8&A| +E[C+2]&B,q.r=q.ul*((q.cUL&n)>>16)+q.ll*((q.cLL&n)>>16)+q.ur*((q.cUR&n)>>16)+q.lr*((q.cLR&n)>>16)<>>D&A,q.b=q.ul*(q.cUL&B)+q.ll*(q.cLL&B)+q.ur*(q.cUR&B)+q.lr*(q.cLR&B)>>>D,q.a=q.ul*((q.cUL&m)>>>24)+q.ll*((q.cLL&m)>>>24)+q.ur*((q.cUR&m)>>>24)+q.lr*((q.cLR&m)>>>24)<>>16,h[l+1]=(v&A)>>>8,h[l+2]=v&B,h[l+3]=(v&m)>>>24,q.sX+=f;b+=k;q.srcYOffset+=g}}};e.loadFont=function(a,b){if(a===h)throw"font name required in loadFont."; +if(-1===a.indexOf(".svg"))return b===h&&(b=ba.size),PFont.get(a,b);var c=e.loadGlyphs(a);return{name:a,css:"12px sans-serif",glyph:!0,units_per_em:c.units_per_em,horiz_adv_x:1/c.units_per_em*c.horiz_adv_x,ascent:c.ascent,descent:c.descent,width:function(b){for(var c=0,d=b.length,f=0;f":return a.greater;case "?":return a.question;case "@":return a.at;case "[":return a.bracketleft;case "\\":return a.backslash;case "]":return a.bracketright;case "^":return a.asciicircum;case "`":return a.grave;case "{":return a.braceleft;case "|":return a.bar;case "}":return a.braceright;case "~":return a.asciitilde;default:return a[b]}}catch(c){M.debug(c)}};E.prototype.text$line=function(a,b,d,f,h){f=f=0;if(ba.glyph){f= +e.glyphTable[zb];g.save();g.translate(b,d+Na);h!==c.RIGHT&&h!==c.CENTER||f.width(a);b=1/f.units_per_em*Na;g.scale(b,b);b=0;for(d=a.length;b + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/.classpath b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/.project b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/.project new file mode 100644 index 0000000..e6ff7a8 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/.project @@ -0,0 +1,17 @@ + + + Assignment3A_TicTacToe + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/.settings/org.eclipse.jdt.core.prefs b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/2016-03-19_12-17-51.zip b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/2016-03-19_12-17-51.zip new file mode 100644 index 0000000000000000000000000000000000000000..5ec6fb4977bc8fe9b70567ad5264a82c48fdab13 GIT binary patch literal 50701 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
9a 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 RfXDzpL4Z}5Wz+Lt{||T+c546t literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/Assignment3A_TicTacToe.iml b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/Assignment3A_TicTacToe.iml new file mode 100644 index 0000000..1570ffe --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/Assignment3A_TicTacToe.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/bin/edu/kit/informatik/FieldState.class b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/bin/edu/kit/informatik/FieldState.class new file mode 100644 index 0000000000000000000000000000000000000000..fdd9f06368cf9d5a86cdbcec67149cfe125691c4 GIT binary patch literal 1604 zcmah~T~8ZV5IxsxdzZ};TsI-c20~Le*e1n+B=o}$g%DF*3`AN2vUsQ#vmp!qK+8Ik ze@cHrr9QbvYEVB=pZd@r)%M)=Cbm?ySlWB<+?|;-=gipt^RJ(;06fN~ijcsRebmmM zI$qvszG}G*%X3ci>yBMNGCj+)RfGj@o>*_JeBEju=S$6YLm*OWoOvCAyOsY9E(oYE z>Q={g7v7&11?JM`etCCoQ%#`{h=8Z?*EWWD3k2 zT#Ks}YjvmTc*_DxCc7sPUTYoM8X`Ib;s!p%ErDn;a2d~31{6)tb(+V8a&~WozT*ZW zh-y%!F=0TJh9-?k0~(_8G;QDp41uwV)3mqSjYHerwGQhxkt(g4Ro}B*N80|S4h3=6 zD?8jW$}I)JFf&D4TlBlXRj?x!Loq@z7lvc9KTk#&d&=& zpzjk72*@EW$i}ToWpyd(nt?}ntfC~495`;b%y#XyKaC~VZMiCR0o`o1-I~4b$OexM zMs;4sQ4rHPZdzX3<=cg!IwWZE8dl4Nm4_@w;ny>=G9d>K;Le%zca9qn(`C)vlXB?j z8RZy`;wIz9Xmt?g3atJDQH{rxxA@=!w|(PI*f$csk&O68D*7A!lpb!I)o>39vl{6k zWnN(FM2{_AQW_(ZS&2Lpu#sW!58ftEC@-03ZB#Y7k zL6G5}Ros)jc>b6v`z%hFO!{Rn@k#C{WafXM!Ot|G5FeR3!6y}e(2dV`;}5(3rK~pY z3y@${NhX}ceFn|&z7LiSz!rHEfie>cu@-hdz+IA;d^O&~RCQCyT~&)xpDiVIi6;*v zNMDjZ3;q)MH<;-f#} zldtLn5H);&f8z&uSu>CjLV4)y*}JFfc6NXL{eA%84jvgu2o%+N&)(Fbt-ZH?;L1>M z+DlS<22uhe8}hxhyVC2}%WE6T2?YioYfpzy1(KEOia_d_zphLqk+qPW_x0@SWZkC^gTZUm&zg83KjMYV%k|D-5*PS*WfU7!{c8 z^Xs;D+R|zJ>VxGIp3 z&7Krt;X0-TjIBslm!XVRPD8}kA%hNM&G(6nSLg0TnFvhvOZ`M{bbSM}25t(B9*0lc zs-pr6Hf{-I;xITnLr#Oa%7B)$@xgT_CXiU=SZID&hgzX@Hkag9yc7oJnN`d01&(^I zqs_@ii#Qwc<2G+0$+ZQaiD=W<8|>y;1#7yths;;LBw+GsvI4_M@frsCW*r`49b%W| zH@PE#RtyLfe_-Uz9+&kS^7Yz2O1rqUiz~;F!!dse8H}UAb%tA>x8A~tF9eCeqOtYUs tp0!Neh;Q-`iD^W9X_PP*C&1PIO?)s>iHY&qM5Bq%CcGGQ{m#tx0xgow&iv<`|NqYa zfB$9oyMI5w1z;QceeeiWn2F)K0V`W)rB0{qK_hDo)OA?#4kO-?HV+zurVpw>@QiWJ zs7o5DzPcm5XUuq3z}uTP>;wUNS{8t4vdm4X`8f- z;e|%r7As}84G;F3c8AfMGzE%U(s3hs!mus5&Tp#Oek&tTxlm;Hki*~tG>>;$sg!98 zlvMRJSGUZP)t9l#b8%EvYxk0MH!jG-Yj#qz0L$fY@6x(w!FVt#C= zZN-R{%2Y_Wof3{oxCbRq`usdhqe#mJX~_~?C1ZSm*CcogcI()Ky(BoBc7X+otLB@~ z39l@3vh3+$jW42)Ddyfyi6&RFKvbzCP{`JZ540LXPQm%GU*_Nm9W7{ONm`jE%g$tv zCXMG!JL4j-Rk~#v9no=A)`-tN-75Ev>u8^|S1-Yy)Nulx?3;KxbraZ z+!AS)YF#?IrCQ1TYWvd3;X!)pPa2u5>p~!&9vm`lBb#O*iY;-pcwSBGH!_`R>WglE zE&6v_PJm`+Sj|{3u+bJd8_r0`_+&2z+S9{!+-$O(HoT{;Hp_%y4gFI%syzI#dmV{W zfp0%gI4SsC#MNPH3BHRXQ_v&Ibu5lVf(26uUPtjKj#UYtMNp*QpJ0d&_E z%dvthft3imxT1ph%Gb%d+D5+UcRnU5?ZbXX<$+Co zKi?WsXd=T3@iyTg_f#CBO%2o>sqy$}c``)sk-&gx zRT`D3N}go+{>$)@k4fg{@E8Ku(AGLGcaF8HR0vO@qp?iuR})cf9Hlk1C=O}$B=Z6! z)1z80r14x!T+aOw@{Ykfr#9Uhu(#ZF3vvy(c&;|5|y%!M) z2epe>=O8R}ts2sT{tt40=551c(!x&*?}Hrm&_bKFkTK8X@CqW7W8`ZWS!y6pjjZ0? ztjRsh@qUtgfK&V+Gup~*v|%fIJcdrvev%{MD0AD5XV8OFFc3#C&LDvy^x-`E@do9$ zxbqGM@Gj2cJ?8ilGd_WHxP}pYjpy(U<=c1>Kj9_(jF<5XUcv8p6@TG1+@YMqs8DfU zXhf4eahl#SlhgG>smJL#kMOg`)-Vp0x=(XYflny(P1a9M1#Kz#z?Yno zH#vL0axQSEWMTdS3Co$gh&cRnmPdV^TXMv%4Btc_qlzdCU&`I7nQe#? zXFz?==MOBk+X(W#96vf&MO>7bSXQ#+<-qrHa3`2C5BXT?l#=3%tN=X!AmD?^;uI`h InfJc`011U4i~s-t literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/allclasses-frame.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/allclasses-frame.html new file mode 100644 index 0000000..f56dedc --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/allclasses-frame.html @@ -0,0 +1,21 @@ + + + + + +All Classes + + + + + +

All Classes

+
+ + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/allclasses-noframe.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/allclasses-noframe.html new file mode 100644 index 0000000..f562cd8 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/allclasses-noframe.html @@ -0,0 +1,21 @@ + + + + + +All Classes + + + + + +

All Classes

+ + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/constant-values.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/constant-values.html new file mode 100644 index 0000000..253ffb0 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/constant-values.html @@ -0,0 +1,122 @@ + + + + + +Constant Field Values + + + + + + + + + + + +
+

Constant Field Values

+

Contents

+
+ + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/deprecated-list.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/deprecated-list.html new file mode 100644 index 0000000..bc8f7ce --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/deprecated-list.html @@ -0,0 +1,122 @@ + + + + + +Deprecated List + + + + + + + + +
+ + + + + + + +
+ + +
+

Deprecated API

+

Contents

+
+ +
+ + + + + + + +
+ + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/help-doc.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/help-doc.html new file mode 100644 index 0000000..5c9a99a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/help-doc.html @@ -0,0 +1,223 @@ + + + + + +API Help + + + + + + + + + + + +
+

How This API Document Is Organized

+
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
+
+
+
    +
  • +

    Package

    +

    Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:

    +
      +
    • Interfaces (italic)
    • +
    • Classes
    • +
    • Enums
    • +
    • Exceptions
    • +
    • Errors
    • +
    • Annotation Types
    • +
    +
  • +
  • +

    Class/Interface

    +

    Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

    +
      +
    • Class inheritance diagram
    • +
    • Direct Subclasses
    • +
    • All Known Subinterfaces
    • +
    • All Known Implementing Classes
    • +
    • Class/interface declaration
    • +
    • Class/interface description
    • +
    +
      +
    • Nested Class Summary
    • +
    • Field Summary
    • +
    • Constructor Summary
    • +
    • Method Summary
    • +
    +
      +
    • Field Detail
    • +
    • Constructor Detail
    • +
    • Method Detail
    • +
    +

    Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

    +
  • +
  • +

    Annotation Type

    +

    Each annotation type has its own separate page with the following sections:

    +
      +
    • Annotation Type declaration
    • +
    • Annotation Type description
    • +
    • Required Element Summary
    • +
    • Optional Element Summary
    • +
    • Element Detail
    • +
    +
  • +
  • +

    Enum

    +

    Each enum has its own separate page with the following sections:

    +
      +
    • Enum declaration
    • +
    • Enum description
    • +
    • Enum Constant Summary
    • +
    • Enum Constant Detail
    • +
    +
  • +
  • +

    Use

    +

    Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.

    +
  • +
  • +

    Tree (Class Hierarchy)

    +

    There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.

    +
      +
    • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
    • +
    • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
    • +
    +
  • +
  • +

    Deprecated API

    +

    The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

    +
  • +
  • +

    Index

    +

    The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.

    +
  • +
  • +

    Prev/Next

    +

    These links take you to the next or previous class, interface, package, or related page.

    +
  • +
  • +

    Frames/No Frames

    +

    These links show and hide the HTML frames. All pages are available with or without frames.

    +
  • +
  • +

    All Classes

    +

    The All Classes link shows all classes and interfaces except non-static nested types.

    +
  • +
  • +

    Serialized Form

    +

    Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.

    +
  • +
  • +

    Constant Field Values

    +

    The Constant Field Values page lists the static final fields and their values.

    +
  • +
+This help file applies to API documentation generated using the standard doclet.
+ + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-1.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-1.html new file mode 100644 index 0000000..cc86028 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-1.html @@ -0,0 +1,129 @@ + + + + + +B-Index + + + + + + + + +
+ + + + + + + +
+ + +
B C F G I M P T V  + + +

B

+
+
board - Variable in class mainpackage.TicTacToeGame
+
+
The board.
+
+
+B C F G I M P T V 
+ +
+ + + + + + + +
+ + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-2.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-2.html new file mode 100644 index 0000000..251565a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-2.html @@ -0,0 +1,137 @@ + + + + + +C-Index + + + + + + + + +
+ + + + + + + +
+ + +
B C F G I M P T V  + + +

C

+
+
calcWinner(int[]) - Method in class mainpackage.TicTacToeGame
+
+
Calculate the winner and the turn in which the winning move was made and returns it.
+
+
convertFieldIDToColumn(int) - Method in class mainpackage.TicTacToeGame
+
+
Convert field id to column.
+
+
convertFieldIDToRow(int) - Method in class mainpackage.TicTacToeGame
+
+
Convert field id to row.
+
+
+B C F G I M P T V 
+ +
+ + + + + + + +
+ + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-3.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-3.html new file mode 100644 index 0000000..a50eebf --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-3.html @@ -0,0 +1,131 @@ + + + + + +F-Index + + + + + + + + +
+ + + + + + + +
+ + +
B C F G I M P T V  + + +

F

+
+
FieldState - Enum in mainpackage
+
+
FieldState which tells who occupies the field.
+
+
FieldState() - Constructor for enum mainpackage.FieldState
+
 
+
+B C F G I M P T V 
+ +
+ + + + + + + +
+ + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-4.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-4.html new file mode 100644 index 0000000..7d2bcf2 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-4.html @@ -0,0 +1,129 @@ + + + + + +G-Index + + + + + + + + +
+ + + + + + + +
+ + +
B C F G I M P T V  + + +

G

+
+
gameWinner(int) - Method in class mainpackage.TicTacToeGame
+
+
Determines if the game in it's current state has a winner.
+
+
+B C F G I M P T V 
+ +
+ + + + + + + +
+ + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-5.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-5.html new file mode 100644 index 0000000..5c1b7c8 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-5.html @@ -0,0 +1,133 @@ + + + + + +I-Index + + + + + + + + +
+ + + + + + + +
+ + +
B C F G I M P T V  + + +

I

+
+
initFieldStateArray(int) - Method in class mainpackage.TicTacToeGame
+
+
Initializes the field state array.
+
+
isFirstPlayersTurn() - Method in class mainpackage.TicTacToeGame
+
+
Checks if it is first players turn.
+
+
+B C F G I M P T V 
+ +
+ + + + + + + +
+ + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-6.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-6.html new file mode 100644 index 0000000..88ef797 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-6.html @@ -0,0 +1,143 @@ + + + + + +M-Index + + + + + + + + +
+ + + + + + + +
+ + +
B C F G I M P T V  + + +

M

+
+
Main - Class in mainpackage
+
+
The Class Main.
+
+
Main() - Constructor for class mainpackage.Main
+
+
Instantiates a new main.
+
+
main(String[]) - Static method in class mainpackage.Main
+
+
The main method.
+
+
mainpackage - package mainpackage
+
 
+
makeTurn(int) - Method in class mainpackage.TicTacToeGame
+
+
Makes turn.
+
+
+B C F G I M P T V 
+ +
+ + + + + + + +
+ + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-7.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-7.html new file mode 100644 index 0000000..8cd06a9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-7.html @@ -0,0 +1,129 @@ + + + + + +P-Index + + + + + + + + +
+ + + + + + + +
+ + +
B C F G I M P T V  + + +

P

+
+
parseToIntArray(String[]) - Static method in class mainpackage.Main
+
+
Parses String array to int array.
+
+
+B C F G I M P T V 
+ +
+ + + + + + + +
+ + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-8.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-8.html new file mode 100644 index 0000000..2d66a1c --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-8.html @@ -0,0 +1,141 @@ + + + + + +T-Index + + + + + + + + +
+ + + + + + + +
+ + +
B C F G I M P T V  + + +

T

+
+
TicTacToeGame - Class in mainpackage
+
+
The Class TicTacToeGame.
+
+
TicTacToeGame() - Constructor for class mainpackage.TicTacToeGame
+
+
Instantiates a new tic tac toe game.
+
+
toString() - Method in enum mainpackage.FieldState
+
+
Player2 occupies the Field.
+
+
turnCount - Variable in class mainpackage.TicTacToeGame
+
+
The turn count.
+
+
+B C F G I M P T V 
+ +
+ + + + + + + +
+ + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-9.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-9.html new file mode 100644 index 0000000..9544130 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index-files/index-9.html @@ -0,0 +1,134 @@ + + + + + +V-Index + + + + + + + + +
+ + + + + + + +
+ + +
B C F G I M P T V  + + +

V

+
+
valueOf(String) - Static method in enum mainpackage.FieldState
+
+
Returns the enum constant of this type with the specified name.
+
+
values() - Static method in enum mainpackage.FieldState
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
+B C F G I M P T V 
+ +
+ + + + + + + +
+ + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index.html new file mode 100644 index 0000000..f2ea09d --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/index.html @@ -0,0 +1,71 @@ + + + + + +Generated Documentation (Untitled) + + + + + + +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<h2>Frame Alert</h2> +<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="mainpackage/package-summary.html">Non-frame version</a>.</p> + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/FieldState.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/FieldState.html new file mode 100644 index 0000000..f944eec --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/FieldState.html @@ -0,0 +1,378 @@ + + + + + +FieldState + + + + + + + + + + + + +
+
mainpackage
+

Enum FieldState

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Enum<FieldState>
    • +
    • +
        +
      • mainpackage.FieldState
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<FieldState>
    +
    +
    +
    +
     enum FieldState
    +extends java.lang.Enum<FieldState>
    +
    FieldState which tells who occupies the field.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Enum Constant Summary

      + + + + + + + + + + + + + + +
      Enum Constants 
      Enum Constant and Description
      Empty 
      Player1 +
      Empty Field.
      +
      Player2 +
      Player1 occupies the Field.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      java.lang.StringtoString() +
      Player2 occupies the Field.
      +
      static FieldStatevalueOf(java.lang.String name) +
      Returns the enum constant of this type with the specified name.
      +
      static FieldState[]values() +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Enum

        +clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Enum Constant Detail

      + + + +
        +
      • +

        Empty

        +
        public static final FieldState Empty
        +
      • +
      + + + +
        +
      • +

        Player1

        +
        public static final FieldState Player1
        +
        Empty Field.
        +
      • +
      + + + +
        +
      • +

        Player2

        +
        public static final FieldState Player2
        +
        Player1 occupies the Field.
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static FieldState[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (FieldState c : FieldState.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static FieldState valueOf(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        Player2 occupies the Field.
        +
        +
        Overrides:
        +
        toString in class java.lang.Enum<FieldState>
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/Main.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/Main.html new file mode 100644 index 0000000..268fe19 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/Main.html @@ -0,0 +1,304 @@ + + + + + +Main + + + + + + + + + + + + +
+
mainpackage
+

Class Main

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • mainpackage.Main
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class Main
    +extends java.lang.Object
    +
    The Class Main.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ModifierConstructor and Description
      private Main() +
      Instantiates a new main.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static voidmain(java.lang.String[] args) +
      The main method.
      +
      private static int[]parseToIntArray(java.lang.String[] arr) +
      Parses String array to int array.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Main

        +
        private Main()
        +
        Instantiates a new main. (useless but required by checkstyle)
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main(java.lang.String[] args)
        +
        The main method.
        +
        +
        Parameters:
        +
        args - the arguments used to start the program
        +
        +
      • +
      + + + +
        +
      • +

        parseToIntArray

        +
        private static int[] parseToIntArray(java.lang.String[] arr)
        +
        Parses String array to int array.
        +
        +
        Parameters:
        +
        arr - the String[] that should be parsed
        +
        Returns:
        +
        the parsed int[]
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/TicTacToeGame.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/TicTacToeGame.html new file mode 100644 index 0000000..02b1550 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/TicTacToeGame.html @@ -0,0 +1,467 @@ + + + + + +TicTacToeGame + + + + + + + + + + + + +
+
mainpackage
+

Class TicTacToeGame

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • mainpackage.TicTacToeGame
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class TicTacToeGame
    +extends java.lang.Object
    +
    The Class TicTacToeGame.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      private FieldState[]board +
      The board.
      +
      private intturnCount +
      The turn count.
      +
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      TicTacToeGame() +
      Instantiates a new tic tac toe game.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      java.lang.StringcalcWinner(int[] turns) +
      Calculate the winner and the turn in which the winning move was made and returns it.
      +
      private intconvertFieldIDToColumn(int fieldID) +
      Convert field id to column.
      +
      private intconvertFieldIDToRow(int fieldID) +
      Convert field id to row.
      +
      private FieldStategameWinner(int lastTurn) +
      Determines if the game in it's current state has a winner.
      +
      private FieldState[]initFieldStateArray(int size) +
      Initializes the field state array.
      +
      private booleanisFirstPlayersTurn() +
      Checks if it is first players turn.
      +
      private voidmakeTurn(int fieldID) +
      Makes turn.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        board

        +
        private FieldState[] board
        +
        The board.
        +
      • +
      + + + +
        +
      • +

        turnCount

        +
        private int turnCount
        +
        The turn count.
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TicTacToeGame

        +
        public TicTacToeGame()
        +
        Instantiates a new tic tac toe game.
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        calcWinner

        +
        public java.lang.String calcWinner(int[] turns)
        +
        Calculate the winner and the turn in which the winning move was made and returns it.
        +
        +
        Parameters:
        +
        turns - all turns that were made in the game
        +
        Returns:
        +
        winner and turn in which the winning move was made as String
        +
        +
      • +
      + + + +
        +
      • +

        gameWinner

        +
        private FieldState gameWinner(int lastTurn)
        +
        Determines if the game in it's current state has a winner. + If not FieldState.Empty will be returned
        +
        +
        Parameters:
        +
        lastTurn - the field occupied with last turn
        +
        Returns:
        +
        the player who is the winner
        +
        +
      • +
      + + + +
        +
      • +

        convertFieldIDToRow

        +
        private int convertFieldIDToRow(int fieldID)
        +
        Convert field id to row.
        +
        +
        Parameters:
        +
        fieldID - the field id
        +
        Returns:
        +
        the row
        +
        +
      • +
      + + + +
        +
      • +

        convertFieldIDToColumn

        +
        private int convertFieldIDToColumn(int fieldID)
        +
        Convert field id to column.
        +
        +
        Parameters:
        +
        fieldID - the field id
        +
        Returns:
        +
        the column
        +
        +
      • +
      + + + +
        +
      • +

        makeTurn

        +
        private void makeTurn(int fieldID)
        +
        Makes turn. (Field with fieldID gets occupied by the player that does the turn)
        +
        +
        Parameters:
        +
        fieldID - the ID of the field that should be occupied
        +
        +
      • +
      + + + +
        +
      • +

        isFirstPlayersTurn

        +
        private boolean isFirstPlayersTurn()
        +
        Checks if it is first players turn.
        +
        +
        Returns:
        +
        true, if it is first players turn
        +
        +
      • +
      + + + +
        +
      • +

        initFieldStateArray

        +
        private FieldState[] initFieldStateArray(int size)
        +
        Initializes the field state array. + Every field has the state FieldState.Empty
        +
        +
        Parameters:
        +
        size - the size
        +
        Returns:
        +
        the field state[]
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/class-use/FieldState.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/class-use/FieldState.html new file mode 100644 index 0000000..ec8b498 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/class-use/FieldState.html @@ -0,0 +1,183 @@ + + + + + +Uses of Class mainpackage.FieldState + + + + + + + + + + + +
+

Uses of Class
mainpackage.FieldState

+
+
+
    +
  • +
      +
    • + + +

      Uses of FieldState in mainpackage

      + + + + + + + + + + + + +
      Fields in mainpackage declared as FieldState 
      Modifier and TypeField and Description
      private FieldState[]TicTacToeGame.board +
      The board.
      +
      + + + + + + + + + + + + + + + + + + + + + + + + +
      Methods in mainpackage that return FieldState 
      Modifier and TypeMethod and Description
      private FieldStateTicTacToeGame.gameWinner(int lastTurn) +
      Determines if the game in it's current state has a winner.
      +
      private FieldState[]TicTacToeGame.initFieldStateArray(int size) +
      Initializes the field state array.
      +
      static FieldStateFieldState.valueOf(java.lang.String name) +
      Returns the enum constant of this type with the specified name.
      +
      static FieldState[]FieldState.values() +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
    • +
    +
  • +
+
+ + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/class-use/Main.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/class-use/Main.html new file mode 100644 index 0000000..a215cb8 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/class-use/Main.html @@ -0,0 +1,122 @@ + + + + + +Uses of Class mainpackage.Main + + + + + + + + + + + +
+

Uses of Class
mainpackage.Main

+
+
No usage of mainpackage.Main
+ + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/class-use/TicTacToeGame.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/class-use/TicTacToeGame.html new file mode 100644 index 0000000..02cfb1e --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/class-use/TicTacToeGame.html @@ -0,0 +1,122 @@ + + + + + +Uses of Class mainpackage.TicTacToeGame + + + + + + + + + + + +
+

Uses of Class
mainpackage.TicTacToeGame

+
+
No usage of mainpackage.TicTacToeGame
+ + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-frame.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-frame.html new file mode 100644 index 0000000..9e6e117 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-frame.html @@ -0,0 +1,25 @@ + + + + + +mainpackage + + + + + +

mainpackage

+
+

Classes

+ +

Enums

+ +
+ + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-summary.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-summary.html new file mode 100644 index 0000000..622f1bc --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-summary.html @@ -0,0 +1,165 @@ + + + + + +mainpackage + + + + + + + + + + + +
+

Package mainpackage

+
+
+
    +
  • + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    Main +
    The Class Main.
    +
    TicTacToeGame +
    The Class TicTacToeGame.
    +
    +
  • +
  • + + + + + + + + + + + + +
    Enum Summary 
    EnumDescription
    FieldState +
    FieldState which tells who occupies the field.
    +
    +
  • +
+
+ + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-tree.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-tree.html new file mode 100644 index 0000000..bc588de --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-tree.html @@ -0,0 +1,144 @@ + + + + + +mainpackage Class Hierarchy + + + + + + + + + + + +
+

Hierarchy For Package mainpackage

+
+
+

Class Hierarchy

+ +

Enum Hierarchy

+
    +
  • java.lang.Object +
      +
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
    • +
    +
  • +
+
+ + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-use.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-use.html new file mode 100644 index 0000000..fd0997f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/mainpackage/package-use.html @@ -0,0 +1,142 @@ + + + + + +Uses of Package mainpackage + + + + + + + + + + + +
+

Uses of Package
mainpackage

+
+
+ +
+ + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/overview-tree.html b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/overview-tree.html new file mode 100644 index 0000000..af12136 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/overview-tree.html @@ -0,0 +1,148 @@ + + + + + +Class Hierarchy + + + + + + + + + + + +
+

Hierarchy For All Packages

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +

Enum Hierarchy

+
    +
  • java.lang.Object +
      +
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
    • +
    +
  • +
+
+ + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/package-list b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/package-list new file mode 100644 index 0000000..81d11a7 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/package-list @@ -0,0 +1 @@ +mainpackage diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/script.js b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/script.js new file mode 100644 index 0000000..b346356 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/script.js @@ -0,0 +1,30 @@ +function show(type) +{ + count = 0; + for (var key in methods) { + var row = document.getElementById(key); + if ((methods[key] & type) != 0) { + row.style.display = ''; + row.className = (count++ % 2) ? rowColor : altColor; + } + else + row.style.display = 'none'; + } + updateTabs(type); +} + +function updateTabs(type) +{ + for (var value in tabs) { + var sNode = document.getElementById(tabs[value][0]); + var spanNode = sNode.firstChild; + if (value == type) { + sNode.className = activeTableTab; + spanNode.innerHTML = tabs[value][1]; + } + else { + sNode.className = tableTab; + spanNode.innerHTML = "" + tabs[value][1] + ""; + } + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/stylesheet.css b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/stylesheet.css new file mode 100644 index 0000000..98055b2 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/doc/stylesheet.css @@ -0,0 +1,574 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ + +@import url('resources/fonts/dejavu.css'); + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a:hover, a:focus { + text-decoration:none; + color:#bb7a2a; +} +a:active { + text-decoration:none; + color:#4A6782; +} +a[name] { + color:#353833; +} +a[name]:hover { + text-decoration:none; + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; + font-style:italic; +} +h4 { + font-size:13px; +} +h5 { + font-size:12px; +} +h6 { + font-size:11px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +table tr td dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +/* +Document title and Copyright styles +*/ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:11px; + z-index:200; + margin-top:-9px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* +Navigation bar styles +*/ +.bar { + background-color:#4D7A97; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:11px; + margin:0; +} +.topNav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.bottomNav { + margin-top:10px; + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.subNav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +ul.subNavList li{ + list-style:none; + float:left; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.navBarCell1Rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skipNav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexHeader { + margin:10px; + position:relative; +} +.indexHeader span{ + margin-right:15px; +} +.indexHeader h1 { + font-size:13px; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* +Heading styles +*/ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:12px; +} +.indexContainer h2 { + font-size:13px; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; + padding-top:2px; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:5px 0 10px 0px; + font-size:14px; + font-family:'DejaVu Sans Mono',monospace; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* +List styles +*/ +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #ededed; + background-color:#f8f8f8; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* +Table styles +*/ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary { + width:100%; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.overviewSummary, .memberSummary { + padding:0px; +} +.overviewSummary caption, .memberSummary caption, .typeSummary caption, +.useSummary caption, .constantsSummary caption, .deprecatedSummary caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + padding-top:10px; + padding-left:1px; + margin:0px; + white-space:pre; +} +.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, +.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link, +.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, +.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, +.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active, +.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, +.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +.memberSummary caption span.activeTableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#F8981D; + height:16px; +} +.memberSummary caption span.tableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#4D7A97; + height:16px; +} +.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab { + padding-top:0px; + padding-left:0px; + padding-right:0px; + background-image:none; + float:none; + display:inline; +} +.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, +.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd { + display:none; + width:5px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .activeTableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .tableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + background-color:#4D7A97; + float:left; + +} +.overviewSummary td, .memberSummary td, .typeSummary td, +.useSummary td, .constantsSummary td, .deprecatedSummary td { + text-align:left; + padding:0px 0px 12px 10px; +} +th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th, +td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{ + vertical-align:top; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; +} +th.colFirst, th.colLast, th.colOne, .constantsSummary th { + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} +td.colFirst, th.colFirst { + white-space:nowrap; + font-size:13px; +} +td.colLast, th.colLast { + font-size:13px; +} +td.colOne, th.colOne { + font-size:13px; +} +.overviewSummary td.colFirst, .overviewSummary th.colFirst, +.useSummary td.colFirst, .useSummary th.colFirst, +.overviewSummary td.colOne, .overviewSummary th.colOne, +.memberSummary td.colFirst, .memberSummary th.colFirst, +.memberSummary td.colOne, .memberSummary th.colOne, +.typeSummary td.colFirst{ + width:25%; + vertical-align:top; +} +td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { + font-weight:bold; +} +.tableSubHeadingColor { + background-color:#EEEEFF; +} +.altColor { + background-color:#FFFFFF; +} +.rowColor { + background-color:#EEEEEF; +} +/* +Content styles +*/ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} + +ul.blockList ul.blockList ul.blockList li.blockList h3 { + font-style:normal; +} + +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} + +td.colLast div { + padding-top:0px; +} + + +td.colLast a { + padding-bottom:3px; +} +/* +Formatting effect styles +*/ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:3px 10px 2px 0px; + color:#474747; +} +.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink, +.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel, +.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink { + font-weight:bold; +} +.deprecationComment, .emphasizedPhrase, .interfaceName { + font-style:italic; +} + +div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase, +div.block div.block span.interfaceName { + font-style:normal; +} + +div.contentContainer ul.blockList li.blockList h2{ + padding-bottom:0px; +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/src/edu/kit/informatik/FieldState.java b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/src/edu/kit/informatik/FieldState.java new file mode 100644 index 0000000..adc1153 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/src/edu/kit/informatik/FieldState.java @@ -0,0 +1,33 @@ +package edu.kit.informatik; + +/** + * FieldState which tells who occupies the field. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +enum FieldState { + /** Empty Field. */ + Empty, + /** Player1 occupies the Field. */ + Player1, + /** Player2 occupies the Field. */ + Player2; + + /* + * (non-Javadoc) + * + * @see java.lang.Enum#toString() + */ + @Override + public String toString() { + switch (this) { + case Player1: + return "P1"; + case Player2: + return "P2"; + default: + return ""; + } + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/src/edu/kit/informatik/Main.java b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/src/edu/kit/informatik/Main.java new file mode 100644 index 0000000..b4a0137 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/src/edu/kit/informatik/Main.java @@ -0,0 +1,44 @@ +package edu.kit.informatik; + +/** + * The Class Main. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public final class Main { + + /** + * Instantiates a new main. + */ + private Main() { + + } + + /** + * The main method. + * + * @param args + * the arguments used to start the program + */ + public static void main(String[] args) { + TicTacToeGame myGame = new TicTacToeGame(); + System.out.println(myGame.calcWinner(parseToIntArray(args))); + } + + /** + * Parses String array to int array. + * + * @param arr + * the String[] that should be parsed + * @return the parsed int[] + */ + private static int[] parseToIntArray(String[] arr) { + int[] parsedArr = new int[arr.length]; + for (int i = 0; i < parsedArr.length; i++) { + parsedArr[i] = Integer.parseInt(arr[i]); + } + return parsedArr; + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/src/edu/kit/informatik/TicTacToeGame.java b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/src/edu/kit/informatik/TicTacToeGame.java new file mode 100644 index 0000000..e36171b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3A_TicTacToe/src/edu/kit/informatik/TicTacToeGame.java @@ -0,0 +1,209 @@ +package edu.kit.informatik; + +/** + * The Class TicTacToeGame. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class TicTacToeGame { + + /** The board. */ + private FieldState[] board; + + /** The turn count. */ + private int turnCount; + + /** + * Instantiates a new tic tac toe game. + */ + public TicTacToeGame() { + turnCount = 0; + board = initFieldStateArray(9); + } + + /** + * Calculate the winner and the turn in which the winning move was made and + * returns it. + * + * @param turns + * all turns that were made in the game + * @return winner and turn in which the winning move was made as String + */ + public String calcWinner(int[] turns) { + int winningTurn = 0; + FieldState winner = FieldState.Empty; + + for (int turn : turns) { + makeTurn(turn); + if (winner.equals(FieldState.Empty) && !gameWinner(turn).equals(FieldState.Empty)) { + winningTurn = turnCount; + winner = gameWinner(turn); + } + } + if (winner.equals(FieldState.Empty)) + return "draw"; + else + return winner + " wins " + winningTurn; + } + + /** + * Determines if the game in it's current state has a winner. If not + * FieldState.Empty will be returned + * + * @param lastTurn + * the field occupied with last turn + * @return the player who is the winner + */ + private FieldState gameWinner(int lastTurn) { + FieldState comperator = null; + int row = 0; + int column = 0; + boolean hasWon = false; + + if (turnCount < 5) { + return FieldState.Empty; + } + + if (isFirstPlayersTurn()) + comperator = FieldState.Player1; + else + comperator = FieldState.Player2; + + /* + * Checks row of newly occupied field -> if all in row are occupied by + * the player who made the last turn return him as winner + */ + hasWon = true; + row = convertFieldIdToRow(lastTurn); + + for (int i = (row * 3) - 1; i >= (row * 3) - 3; i--) { // start with 2, + // 5 or 8 and + // move down the + // row from back + // to front (-1 + // for next + // field) + if (!comperator.equals(this.board[i])) + hasWon = false; + } + if (hasWon) + return comperator; + + /* + * Checks column of newly occupied field -> if all in column are + * occupied by the player who made the last turn return him as winner + */ + hasWon = true; + column = convertFieldIdToColumn(lastTurn); + + for (int i = 0; i < 3; i++) { // start with 0, 1 or 2 and move down the + // column from from top to bottom (+3 for + // next field) + if (!comperator.equals(this.board[i * 3 + column - 1])) + hasWon = false; + } + if (hasWon) + return comperator; + + /* + * Checks diagonals of newly occupied field -> if all in diagonals are + * occupied by the player who made the last turn return him as winner + */ + hasWon = true; + if ((lastTurn % 2) == 0) { // if lastTurn is in a corner or the center, + // diagonals need to be checked + if (lastTurn != 2 && lastTurn != 6) { // Diagonal from top-left to + // bottom-right + for (int i = 0; i <= 8; i += 4) { + if (!comperator.equals(this.board[i])) + hasWon = false; + } + } + if (hasWon) + return comperator; + if (lastTurn != 0 && lastTurn != 8) { // Diagonal from top-right to + // bottom-left + for (int i = 2; i <= 6; i += 2) { + if (!comperator.equals(this.board[i])) + hasWon = false; + } + } + if (hasWon) + return comperator; + } + + return FieldState.Empty; + } + + /** + * Convert field Id to row. + * + * @param fieldId + * the field Id + * @return the row + */ + private int convertFieldIdToRow(int fieldId) { + return fieldId / 3 + 1; // First row has Id 1 + } + + /** + * Convert field Id to column. + * + * @param fieldId + * the field Id + * @return the column + */ + private int convertFieldIdToColumn(int fieldId) { + return fieldId % 3 + 1; // First column has Id 1 + } + + /** + * Makes turn. (Field with fieldId gets occupied by the player that does the + * turn) + * + * @param fieldId + * the Id of the field that should be occupied + */ + private void makeTurn(int fieldId) { + if (board[fieldId].equals(FieldState.Empty)) { + turnCount++; + + if (isFirstPlayersTurn()) { + board[fieldId] = FieldState.Player1; + } else { + board[fieldId] = FieldState.Player2; + } + + } + } + + /** + * Checks if it is first players turn. + * + * @return true, if it is first players turn + */ + private boolean isFirstPlayersTurn() { + // After second Player has made a turn turnCount will be an even number + if ((turnCount % 2) == 0) + return false; + else + return true; + } + + /** + * Initializes the field state array. Every field has the state + * FieldState.Empty + * + * @param size + * the size + * @return the field state[] + */ + private FieldState[] initFieldStateArray(int size) { + FieldState[] fieldStates = new FieldState[size]; + for (int i = 0; i < size; i++) { + fieldStates[i] = FieldState.Empty; + } + return fieldStates; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.checkstyle b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.checkstyle new file mode 100644 index 0000000..262c487 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.checkstyle @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.classpath b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.project b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.project new file mode 100644 index 0000000..4af6ad4 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.project @@ -0,0 +1,17 @@ + + + Assignment3B_Bank + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.settings/org.eclipse.jdt.core.prefs b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/2016-03-19_12-17-51.zip b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/2016-03-19_12-17-51.zip new file mode 100644 index 0000000000000000000000000000000000000000..2d4af530756050f96695e5ecdde1c2198211ae7c GIT binary patch literal 8317 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 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/Assignment3B_Bank.iml b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/Assignment3B_Bank.iml new file mode 100644 index 0000000..1570ffe --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/Assignment3B_Bank.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/bin/edu/kit/informatik/Account.class b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/bin/edu/kit/informatik/Account.class new file mode 100644 index 0000000000000000000000000000000000000000..6ae4e44f5108d69ccb85e5cef3d04c31908e29fc GIT binary patch literal 1678 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 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/src/edu/kit/informatik/Account.java b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/src/edu/kit/informatik/Account.java new file mode 100644 index 0000000..563bc14 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/src/edu/kit/informatik/Account.java @@ -0,0 +1,112 @@ +package edu.kit.informatik; + +/** + * The Class Account. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Account { + + /** The account number. */ + private int accountNumber; + + /** The bank code. */ + private int bankCode; + + /** The balance. */ + private int balance; + + /** + * Instantiates a new account. + * + * @param bnkCode + * the bank code + * @param accNumber + * the account number + */ + public Account(int bnkCode, int accNumber) { + this.bankCode = bnkCode; + this.accountNumber = accNumber; + this.balance = 0; + } + + /** + * Withdraw money. + * + * @param amount + * the amount + * @return true, if successful + */ + public boolean withdraw(int amount) { + if ((this.balance - amount) < 0) + return false; + else { + this.balance -= amount; + return true; + } + } + + /** + * Deposit money. + * + * @param amount + * the amount + */ + public void deposit(int amount) { + this.balance += amount; + } + + /** + * Gets the account number. + * + * @return the account number + */ + public int getAccountNumber() { + return accountNumber; + } + + /** + * Gets the bank code. + * + * @return the bank code + */ + public int getBankCode() { + return bankCode; + } + + /** + * Gets the balance. + * + * @return the balance + */ + public int getBalance() { + return balance; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (obj instanceof Account) { + return (this.accountNumber == ((Account) obj).getAccountNumber()); + } else + return false; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + String str = "\t" + "accountNumber: " + accountNumber + "\n"; + str += "\t\t" + "bankCode" + bankCode + "\n"; + str += "\t\t" + "balance: " + balance; + return str; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/src/edu/kit/informatik/Bank.java b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/src/edu/kit/informatik/Bank.java new file mode 100644 index 0000000..2af40d8 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/src/edu/kit/informatik/Bank.java @@ -0,0 +1,235 @@ +package edu.kit.informatik; + +/** + * The Class Account. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Bank { + + /** The bank code. */ + private int bankCode; + + /** The accounts. */ + private Account[] accounts; + + /** + * Instantiates a new bank. + * + * @param bnkCode + * the bankCode + */ + public Bank(Integer bnkCode) { + this.bankCode = bnkCode; + accounts = new Account[4]; + } + + /** + * Creates an account. + * + * @param accountNumber + * the account number + * @return position of the created account inside the accounts + */ + public int createAccount(int accountNumber) { + if (this.size() == this.length()) { + // If account is half way filled: double the amount of elements + // accounts can hold + Account[] tmpArr = accounts; + accounts = new Account[tmpArr.length * 2]; + System.arraycopy(tmpArr, 0, accounts, 0, tmpArr.length); + } + // Return index of newly added element + int index = this.size(); + accounts[index] = new Account(this.bankCode, accountNumber); + return index; + } + + /** + * Removes the account. + * + * @param accountNumber + * the account number for the account that should be removed + * @return true, if successful + */ + public boolean removeAccount(int accountNumber) { + if (!this.containsAccount(accountNumber)) { // if account is not in that + // bank it cannot be removed + return false; + } else { + /* + * Loop through each account until account is found that should be + * removed. After that close the 'gap' -> change index of all + * accounts (after the removed one) by -1 + */ + for (int i = 0; i < accounts.length; i++) { + if (accounts[i] == null) { + if (accounts[i + 1] == null) { // break if end of existing + // accounts is reached + break; + } else if (i + 1 < accounts.length && accounts[i + 1] != null) { // fill + // in + // the + // gap + accounts[i] = accounts[i + 1]; + accounts[i + 1] = null; + } + } else if (accounts[i].getAccountNumber() == accountNumber) { // remove + // account + accounts[i] = accounts[i + 1]; + accounts[i + 1] = null; + } + } + // If the number of accounts gets smaller than 1/4 of the arraysize + // it will be halfed in size + if (this.size() * 4 < this.length() && this.length() > 4) { // Make + // array + // smaller + // if + // necessary + Account[] tmpAcc = this.accounts; + int length = this.size(); + this.accounts = new Account[this.length() / 2]; + + System.arraycopy(tmpAcc, 0, this.accounts, 0, length); + } + return true; + } + } + + /** + * Contains account. + * + * @param accountNumber + * the account number + * @return true, if successful + */ + public boolean containsAccount(int accountNumber) { + for (int i = 0; i < accounts.length; i++) { + if (accounts[i].getAccountNumber() == accountNumber) + return true; + } + return false; + } + + /** + * Internal bank transfer. + * + * @param fromAccountNumber + * the account number of the account money should be withdrawn + * from + * @param toAccountNumber + * the account number of the account the money should be + * transfered to + * @param amount + * the amount + * @return true, if successful + */ + public boolean internalBankTransfer(int fromAccountNumber, int toAccountNumber, int amount) { + if (getAccountID(fromAccountNumber) < 0 && getAccountID(toAccountNumber) < 0) + return false; + + Account fromAcc = this.getAccount(this.getAccountID(fromAccountNumber)); + Account toAcc = this.getAccount(this.getAccountID(toAccountNumber)); + + if (fromAcc.withdraw(amount)) + toAcc.deposit(amount); + + return false; + } + + /** + * Length. + * + * @return the the length of the internal array used to store all accounts + */ + public int length() { + return accounts.length; + } + + /** + * Number of accounts. + * + * @return the number of accounts inside the bank + */ + public int size() { + if (accounts[0] == null) + return 0; + for (int i = 1; i < accounts.length; i++) { + if (accounts[i] == null) + return (i); + } + + return accounts.length; // This should never be called + } + + /** + * Gets the bank code. + * + * @return the bank code + */ + public int getBankCode() { + return bankCode; + } + + /** + * Gets an account. + * + * @param index + * the index of the account that should be returned + * @return the account + */ + public Account getAccount(int index) { + if (size() <= index || index < 0) + return null; + else { + return accounts[index]; + } + } + + /** + * Gets the account id. + * + * @param accountNumber + * the account number + * @return the account id + */ + private int getAccountID(int accountNumber) { + for (int i = 0; i < accounts.length; i++) { + if (accounts[i].getAccountNumber() == accountNumber) + return i; + } + return -1; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + String str = "BankCode: " + bankCode + "\n"; + str += "size: " + size() + "\n"; + str += "length: " + length() + "\n"; + + for (Account account : accounts) { + if (account != null) + str += "\t" + account + "\n\n"; + } + return str.trim(); + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (obj instanceof Bank && ((Bank) obj).getBankCode() == this.bankCode) + return true; + return false; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/src/edu/kit/informatik/Main.java b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/src/edu/kit/informatik/Main.java new file mode 100644 index 0000000..2b8176f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3B_Bank/src/edu/kit/informatik/Main.java @@ -0,0 +1,15 @@ +package edu.kit.informatik; + +public final class Main { + public static void main(final String[] args) { + final Bank bank = new Bank(0); + for (int i = 0; i < 10; i++) { + bank.createAccount(i); + } + System.out.println(bank); + } + + private Main() { + + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.checkstyle b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.checkstyle new file mode 100644 index 0000000..66517d9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.checkstyle @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.classpath b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.project b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.project new file mode 100644 index 0000000..398de67 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.project @@ -0,0 +1,17 @@ + + + Assignment3C_Routing + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.project[Konflikt] b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.project[Konflikt] new file mode 100644 index 0000000..398de67 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.project[Konflikt] @@ -0,0 +1,17 @@ + + + Assignment3C_Routing + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.settings/org.eclipse.jdt.core.prefs b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/2016-03-19_12-17-51.zip b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/2016-03-19_12-17-51.zip new file mode 100644 index 0000000000000000000000000000000000000000..bae4af6dd5260fbf237cb0177c05777ffc6af26c GIT binary patch literal 15208 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 + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/Edge.class b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/Edge.class new file mode 100644 index 0000000000000000000000000000000000000000..d17f3c499479fe65a8245bdfeb337df4e38af240 GIT binary patch literal 995 zcmaJ<+iuf95IvK)iJQ7<2rZ?gffNe0bE&yW2nF!~qE8V#v{>q+lWfDbiCviu;>^ksKucFs9-*IoBlxL zVGv5k{wLoZ`oX|`*F6?JMJOCa;m8w_5}yf`P6|4HY!gfs{!PrikbzV$3D4~-AXhv& z9>I7W_C*0%SQbny6SB7BErPIOVF5X9U9*r!jw2lzh_~ZWS40PXcPI$uPT2E@o*zl= zCqYAfkRJ&fX~KF4+=QX~C1g}cSRM$qccJ~N?W7@R16bnxgV_vt9Q!Jg!GN&Jz<;BS zqwPFy^E&3kuf}rN7mGk`UP7%|GvRV|j;7qwU3R*4yIS;1?5mfd%#sIYZ~I)X%Y0Z=9i6Z=Rv_l|ve;VFsTYeBNSE1x0M)I!9_T z469gUj|p&t>1k@Mvz1}{CgWlmmv8;HQ2&PF7dB$@7_dDhwBm$>kXSAaT$%^BQo%g) xMEO0}sg)Z)P(3W)ImebRVS?=m>~fP2c1wx7%kBgZ=Ovz9kZ8>6do=Ch@gIEY$?5n&!llPlRh*v{UFmBw-Zl`XA;>HPnk>~@J!p6KJ=vzeeHAqfQFvm-4zJD#KUOs z-TU#o=bYciUHlMaLT-xu{4Cob7?b^ zG7Gl6yMuc1k}W{Ja4L#CzO~yEo}v*;h0u&WK}0k(ZNt?-3-)TLpS6l3h1|SDOU%Z+ zPIXy_$feD|ml35>>0GvG+F1f^>;8g0v9q$P!@yJMq*&(k^y4-t^j!wNA^__M@Knw@ zUkt_M_&B}ed8R{Oo!BEMKK;cD#cvW78X{f{+?c3O7R~hBgqc_F2_g`}0UR_KiO(>q z(wSVA2A-sFTVrl8gs}G{n0fwJ_>2G%E2H zEY9ZzUl0tzh=-Fak{!W86?=h26}cK(yr{YkCLr2%UNr2c_D-};&K%8UvrHp9Ck_vE zkB*MUM#Uc|415El42NQF!Ymf-tJ}tqGfhp#FcHMKH)>~*ffq5U!AKW!3kxR;x#^N5 zaMIJ|u30Zq?v!UlSE2cqftQe^k4QIZXJ<3k@r*TZWu<12XpHPMn?GqUYY64d;-!q0 zoh@D>#DcX@$`l=I+i2?^#ocpKAkGq7gxTU2uAokDlRKo&V!`=){K;roPZ=JQsTiacF?PG!?0=ePt&^(MuRilrO1 z_z|_a9!e?VqBe(q%IWLWIagwAgdefPd=4dZr9#>ov8A|&RI%PKdZC@U;^XyI!#~~% zs>i%!D;ETB3_k1lcAWDX+gOyJ|z2&oFd8pX9TV+je6on(!r#7|u4% zH1bVM?siOST{I~N&M1?KipluL*tv?NG*biqm44kfd>g|Ne{0`Fyr+z&GFm@Co!f1f zcHhPjyK1QW1Jue?;-*h)ZPb_6{vt?yL<#hxp3f+ewi8VUkv>Iiorqx{YiAb@v%;T1 zHzqmqGU7PLIScz0o2U|N#$`k7N;H;#9OQ~#GWsfQk0Y?gO@Sb^AZxOwo>-$I?obfT z?qGP03T;_fvqq~m?q<=97lxx5{>d3}*M-DG=yye{lD9D+P#Fk)GE&C#pW#S_v8+>!8(hX*A*&SAt;{CL>?BWoiOiBj zdy3y5r_n|(U3C5doFUpNUL|KadcKNTYMoh1@z=PvlN!{z%;+Y6b3Z8^W9m4>{!Y(H zypOc%OV}%jR?*m^kbMY44XiA|@4FK(V`MS=i{mo2L9CGVOSjAHA!-#UJoMDHx|ufsb4TefT}z<{JKg!f0`BnJer` n{5Vl_OzxYAt7NI7WXHxeQUY(E*ro+XfXxeN|7Se42JikK4*?s% literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/Main.class b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..9eadd3e522baa19755f1b3ed6311784dd0222658 GIT binary patch literal 2225 zcmaJ?-%}G;6#j0q$%bVWK~bVosr5$^kW?(T5~URciH1Z)X{lPfB$u#|?53NIMQtDZ z(DAi@fN#FqK7dnZcEW#d6B&!u*mf`U2);HaC$k+@CBw$lnm?%58_t z_@3>QGXe+3U8n9_jz4Qv8Zw49frFEFMfN$a-#6(toRUB&TZq9FIGim^tQ2L{Y80tiaL4!@Wq7vj*Zgq2stf=Qhr)QDb0EI%O3eDJyOSj_=PKbI$lyae3OR1*XvPCC#$cx{~4^C6S(iQCwH< z8rw%ldLfM)3gDPQEhbIeR8Td!V*5JS=h3aCV~vFcNgHn^p2BUFI7j@Onv=BVVMbXj ziB1DkD44i|yPF5}uU%-2F39pAMc5fi1d)bTyREYQ29i4r>R`oZw|FmH5Jci4ExAR>jzW}H%LHXQkI zrMB(D$svg5)UKmF1sE0O{iD5j@jis^_J^85l|XIHX;gVhwr}u`jxsui1&kTD;T5H7 zL!eEK=|Ke$7dc|W9O@w)M+8x>^k5a^+SsvfXH831aOn5olP>-m z3<4*g#?KG)&1?qY2)emy!%-aDOt2P|11_gF^j8>4g@#$eFNC?i;n z|6ap<8a%xm!0W^re2y>JcMp1Tg>PYg+l>*vY0S`p46d@*Yy2tcTo6&#mLhTs#t1@Yi59R{=F#t)aMzg=UJl_SgH33vcqOTKi@-@rFo3 zXs1w1MD_wdp|Z(TKHxzi&G7sxkzJ!2qd0-BqZgQ?n!9^Ag?mfqC zX3F7bOyd{i@hk2I+3p4Gzl0Oe5aPazT0oA8AKA<& z9#2^@!p!Q6A9<>n&LH}p5JEa;bhapTESc{R*D<9d$<2RpMaRlNh`eW-a5IXBDzL)x K&zK^F=l=n<(*;`q literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/Matrix.class b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/Matrix.class new file mode 100644 index 0000000000000000000000000000000000000000..6f2d3a4da27d7afdf4a5d17894f44dc786a18f1c GIT binary patch literal 3335 zcma)7OKcle6g|)5*vWL#CV?c-*!|Mhv7MxZw0uHaAhZxj8rncg3BQRw4U;%_aqJfM z6^M_7gxDYf{Ya>rN)#w*p-_SNiUk|kBS5f2u#PC@+&3?_(*#5$XWpB4@4M%m`#rAa()UH0hN_{rqIkGfsvF?`fJ{augv&?PeWua|$czJW$A$ zXYvDua-PDFDIHhv_5Q+9^Ueu&V^pqCR9K%F>|Bmca6XtX^+&N;A+`+TiiwR)NQk(d zf;J#x6$?iRz%4RHXnZh=G*zzPTZkUXXt)aXZZ_+e{6bz~G_f3>paS~;<7inL#?5A~ zZ*s5>>t(gg!G>UUvx5%AJl+!yi#Zir#EFM-81!u`oOPK(UZ5XG&tZ%fUw6 zAgenabjxZJ1{~at-OTGOi^eS)YuYZ$r6Sz2bgHM4yomR7+0C((S`$N8SAKuzBb2x> z!Gda8dPq@Ag;DlRep2DuL}!gf@V37m!wRH5qR?KwJ2hZmQI=lW8#$z~c{zkjquSVu1ETiBSCKNPI>+ikUTU2fKI-5xJWd(h!-u_mR-vml z$b!d`AO<}dKFI;FXgZXtJZMrZMcrBFmD3ig|E;l9EIW^@E7WoGp~8DBMqB9 zydXqlTeC@#h(MG}L0F@F$>=oxTlti;h}Q3F@9`S%NX46@(|Er|_##2ti2kuXEXCQJjt4K| z-6K+t=}RZC{BaSR4yMmz%URk7xoFe%b_g~mv5L*Pn$L}xsu3n#5hl%|kXp2fJ;kaG zu~pi&Sb;D$LYJ{BiZ0biD~@!7@Ku8_srfC&7w_%(ANb1D?FbrilnFUP-JY$%m#pAR zqDSMaui&$n;%f}>HDD`lH28jJ+e?dQQgi4{@^>6fT=oUaI(1eyawfg6#qH9a-;tKK zPsLlqbJ(5?9!~~CfG5=Z=LO-vzX&D5-%=HRvz{)`v4x)}sTcV1dy(?KL|89lH=p~s ze*~{+qQOwe;5IW9GU(?@(Pt-aC-@My;3kuZF3MgV3N5I+?lPLAXjC!}+UK!?ad%Xx z|3uesctxdn?V{ZpxGkq2MB&pB(p zU6}v4QY#WD31aO)FEp~+t^h@x*6fisE=Zw=Dl@ZkJ7_r I8N$>50By#EqyPW_ literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/VectorInt.class b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/bin/edu/kit/informatik/VectorInt.class new file mode 100644 index 0000000000000000000000000000000000000000..3aa1f2b7b3ed353ee7081bf0f0fd29f5ae62e633 GIT binary patch literal 885 zcmaJ=%Wl&^6g}f{8j>bW=_5c%`lKiil$20}P-$5pRjL#oQc)Ik!z3}(c^MqLU(kO* ztWd?Gn{1FkNGu}Q@*6Dp2LzNecGN|YD$C>hIQQN&XU5gK*nnN<+kmW z?cNK=?JCc1muptTbKISt7lkP>*-{6p+)=%k<;V3FQvzmFc}l?8+YuPMXZLJxOCXZl z+sW6MeBd;#I3&gsh$0~%bNN~f0uu>DFeZ?y+CA%$->qBjQ&sO+0#j9|p*l6?+S(rl zO>f`s3(Qx~W4OWg2UbHM*=GmkK5?CBma!$PQ9h~`Cn2XzU%mI!`imB5)-G|moyYh)J^iZ zD7F@lmZTlU1+FoA+l(9h#tWbM7C#~Rfu4aB*NLEV1}0{SO=FU=bcn`9OwnTg4h*Y#uaj%#scPONnB;O7-Z@XuaMB7 z46-A_Zrj;Irskl^X&(Kd$^THM!;30g*Vlar~Ow!cpxJ^ z_4+D|)cZVafsKiLC%u{U$KKPyL=7W>j2;PyjzDft`#O3cU^hFhKCef?NEKkA=pYYA zz-qSos}NXokVQ^ly{mooWN|Q1;WIgyDS>h~7|K~+hT7z5(T-m0w*rmsf2FkrvSSr> zD1`r@l$9vxMWOb`0+nW~dn!7qw(~eIP(NFKxX`na3Ja*CXpV-1EnK8AIiD+^jh;7gNdU9Sq#>o@3`m>^+GDo?m%pR_ z{1~p`IKqV^Y=1h#)LddJpD= vertices.length || j >= vertices.length) + return 0; + Matrix resultMatrix = this.toMatrix(); + for (int k = 1; k < pathlength; k++) { + resultMatrix = Matrix.crossProduct(resultMatrix, resultMatrix); + } + return resultMatrix.getSingleElement(i, j); + } + + /** + * Checks if this graph contains the edge. + * + * @param edge + * the edge + * @return true, if contained + */ + public boolean contains(final Edge edge) { + if (edges != null) { + for (final Edge e : edges) { + if (e != null && e.equals(edge)) + return true; + } + } + return false; + } + + /** + * Checks if this graph contains the vertex. + * + * @param vertex + * the vertex + * @return true, if contained + */ + public boolean contains(final Vertex vertex) { + if (vertices != null) { + for (final Vertex v : vertices) { + if (v != null && v.equals(vertex)) + return true; + } + } + return false; + } + + /** + * Converts the graph to an adjacency matrix. + * + * @return the adjacency matrix + */ + public Matrix toMatrix() { + if (vertices == null || edges == null) + return null; + final Matrix result = new Matrix(vertices.length, vertices.length); + for (final Edge edge : edges) { + if (edge != null) + result.setSingleElement(edge.getFromVertex().getId(), edge.getToVertex().getId(), 1); + } + return result; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + String out = "E = { "; + if (edges != null) { + for (final Edge edge : this.edges) { + out += edge.toString() + " "; + } + } + out += "}\nV = { "; + if (vertices != null) { + for (final Vertex vertex : vertices) { + out += vertex.toString() + " "; + } + } + out += "}"; + return out; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/Main.java b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/Main.java new file mode 100644 index 0000000..e901cea --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/Main.java @@ -0,0 +1,84 @@ +package edu.kit.informatik; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; + +/** + * The Class Main. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public final class Main { + + /** The Constant FILENOTFOUND for fileNotFound exceptions. */ + private static final String FILENOTFOUND = "File not Found"; + + /** The Constant IO for IO exceptions. */ + private static final String IO = "IOException occured"; + + /** + * Instantiates a new main. + */ + private Main() { + } + + /** + * Checks if 4 arguments are handed over and calculates the number of + * connection between two nodes (args[1] and args[2]) at the pathlength + * (args[3]) and prints them to the console. + * + * @param args + * the arguments + */ + public static void main(final String[] args) { + if (args.length == 4) { + final String filePath = args[0]; + final int startVertexId = Integer.parseInt(args[1]); + final int endVertexId = Integer.parseInt(args[2]); + final int pathLength = Integer.parseInt(args[3]); + + final Graph graph = Main.readFile(filePath); + System.out.println(graph.getNumberOfConnections(startVertexId, endVertexId, pathLength)); + } + } + + /** + * Reads a file that contains the description for a graph. + * + * @param path + * the path of the file + * @return the graph + */ + private static Graph readFile(final String path) { + FileReader in = null; + + try { + in = new FileReader(path); + } catch (final FileNotFoundException e) { + System.out.println(FILENOTFOUND); + System.exit(1); + } + + final BufferedReader reader = new BufferedReader(in); + try { + final Graph graph = new Graph(); + String line = reader.readLine(); + while (line != null) { + final String[] nums = line.trim().split("\\s+"); + if (nums.length == 2) + graph.add(new Edge(new Vertex(Integer.parseInt(nums[0])), new Vertex(Integer.parseInt(nums[1])))); + line = reader.readLine(); + } + return graph; + } catch (final IOException e) { + System.out.println(IO); + System.exit(1); + } + + return null; + + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/Matrix.java b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/Matrix.java new file mode 100644 index 0000000..f22f760 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/Matrix.java @@ -0,0 +1,204 @@ +package edu.kit.informatik; + +/** + * The Class Matrix. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Matrix { + + /** + * The matrix. (represents the data of the matrix ([row][column]) starting + * with (0,0)) + */ + private int[][] data; + + /** + * Instantiates a new matrix of which every element is 0 + * + * @param iElements + * the number of rows + * @param jElements + * the number of columns + */ + public Matrix(int iElements, int jElements) { + data = new int[iElements][jElements]; + for (int i = 0; i < iElements; i++) { + for (int j = 0; j < jElements; j++) { + data[i][j] = 0; + } + } + } + + /** + * Instantiates a new matrix from a data array + * + * @param data + * the data of the matrx + */ + public Matrix(int[][] data) { + this.data = data; + } + + /** + * Gets a single element of the matrix at the position (row,column). + * + * @param i + * the row + * @param j + * the column + * @return the element at (i,j) + */ + public int getSingleElement(int i, int j) { + if (i < data.length && j < data[i].length) + return data[i][j]; + else + return -1; + } + + /** + * Sets a single element of the matrix to a value + * + * @param i + * row of the element + * @param j + * column of the element + * @param val + * the value that should be set at (i,j) + */ + public void setSingleElement(int i, int j, int val) { + if (i < data.length && j < data[i].length) { + data[i][j] = val; + } + } + + /** + * Gets the number of columns. + * + * @return the number of columns + */ + public int getColumnCount() { + return data[0].length; + } + + /** + * Gets the number of rows. + * + * @return the number of rows + */ + public int getRowCount() { + return data.length; + } + + /** + * Gets a row as vector. + * + * @param row + * the row that should be returned as vector + * @return the row converted to a vector + */ + public VectorInt getRowVector(int row) { + int[] arr = new int[data[row].length]; + for (int i = 0; i < arr.length; i++) { + arr[i] = data[row][i]; + } + return new VectorInt(arr); + } + + /** + * Gets a column vector. + * + * @param column + * the column that should be returned as vector + * @return the column converted to a vector + */ + public VectorInt getColumnVector(int column) { + int[] arr = new int[data.length]; + for (int i = 0; i < arr.length; i++) { + arr[i] = data[i][column]; + } + return new VectorInt(arr); + } + + /** + * Addition of two matrices. + * + * @param m + * the first matrix + * @param n + * the second matrix + * @return the result + */ + public static Matrix addition(Matrix m, Matrix n) { + if (n.getColumnCount() != m.getColumnCount() && n.getRowCount() != m.getColumnCount()) + return null; + + int[][] result = new int[n.getRowCount()][n.getColumnCount()]; + for (int i = 0; i < result.length; i++) { + for (int j = 0; j < result[i].length; j++) { + result[i][j] = n.getSingleElement(i, j) + m.getSingleElement(i, j); + } + } + return new Matrix(result); + } + + /** + * Cross product of two matrices. (m will be multiplied by n [n x m]) + * + * @param n + * the second matrix + * @param m + * the first matrix + * @return the result + */ + public static Matrix crossProduct(Matrix n, Matrix m) { // n x m + if (n.getColumnCount() != m.getRowCount()) + return null; + int[][] result = new int[n.getRowCount()][m.getColumnCount()]; + for (int i = 0; i < result.length; i++) { + for (int j = 0; j < result[i].length; j++) { + // Skalarprodukt + result[i][j] = VectorInt.scalarProduct(n.getRowVector(i), m.getColumnVector(j)); + } + } + return new Matrix(result); + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (obj instanceof Matrix && ((Matrix) obj).getColumnCount() == this.getColumnCount() + && ((Matrix) obj).getRowCount() == this.getRowCount()) { + for (int i = 0; i < this.data.length; i++) { + for (int j = 0; j < this.data[i].length; j++) { + if (this.data[i][j] != ((Matrix) obj).getSingleElement(i, j)) + return false; + } + } + return true; + } + return false; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + String str = ""; + for (int i = 0; i < data.length; i++) { + for (int j = 0; j < data[i].length; j++) { + str += " " + String.format("% 4d", this.data[i][j]); + } + str += "\n"; + } + return str; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/VectorInt.java b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/VectorInt.java new file mode 100644 index 0000000..0bed8e9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/VectorInt.java @@ -0,0 +1,59 @@ +package edu.kit.informatik; + +/** + * The Class VectorInt. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class VectorInt { + + /** The data. */ + private int[] data; + + /** + * Instantiates a new vector int. + * + * @param vec + * the data of the vector + */ + public VectorInt(int[] vec) { + this.data = vec; + }; + + /** + * Scalar product of two vectors. + * + * @param vec1 + * the first vector + * @param vec2 + * the second vector + * @return the scalar product + */ + public static int scalarProduct(VectorInt vec1, VectorInt vec2) { + if (vec1.data.length != vec2.data.length) + return 0; + int sum = 0; + for (int i = 0; i < vec1.data.length; i++) { + sum += vec1.data[i] * vec2.data[i]; + } + return sum; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (obj instanceof VectorInt) { + for (int i = 0; i < data.length; i++) { + if (data[i] != ((VectorInt) obj).data[i]) + return false; + } + return true; + } + return false; + } +} \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/Vertex.java b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/Vertex.java new file mode 100644 index 0000000..f5f03cc --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/Vertex.java @@ -0,0 +1,55 @@ +package edu.kit.informatik; + +/** + * The Class Vertex. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Vertex { + + /** The id. */ + private int id; + + /** + * Instantiates a new vertex. + * + * @param id + * the id of the vertex + */ + public Vertex(int id) { + this.id = id; + } + + /** + * Gets the id of the vertex + * + * @return the id + */ + public int getId() { + return id; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + return "" + id + ""; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if ((obj instanceof Vertex) && (((Vertex) obj).id == this.id)) + return true; + else + return false; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/input.txt b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/input.txt new file mode 100644 index 0000000..6538252 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment3C_Routing/src/edu/kit/informatik/input.txt @@ -0,0 +1,7 @@ +1 0 +1 2 +2 0 +0 2 +2 3 +3 2 +0 3 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.checkstyle b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.checkstyle new file mode 100644 index 0000000..6c7b8f0 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.checkstyle @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.classpath b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.project b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.project new file mode 100644 index 0000000..4aa1e52 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.project @@ -0,0 +1,17 @@ + + + Assignment4A_LangtonAnt + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.settings/org.eclipse.jdt.core.prefs b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/2016-03-19_12-17-51.zip b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/2016-03-19_12-17-51.zip new file mode 100644 index 0000000000000000000000000000000000000000..b026e18c86c1dfed1743e767597c53f5ec60830c GIT binary patch literal 24728 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 nv7(jR@Qhx+e-4RpFN literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/Assignment4A_LangtonAnt.iml b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/Assignment4A_LangtonAnt.iml new file mode 100644 index 0000000..1570ffe --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/Assignment4A_LangtonAnt.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/Terminal.class b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/Terminal.class new file mode 100644 index 0000000000000000000000000000000000000000..7f12059744fce39e4a15609f3c0647944607bb05 GIT binary patch literal 1096 zcmaJLN*jzL)1bm-F-2x9){l0_1?blk=& zxodkA$4L8Ix!gC7v}bWgL5{Qxd=0gA+{Frm;vd(fIH&ujgwLWNDS~>R%xot6?}T)0 zUB?;>1)B_M{~#Y?&$C?7;?F=Q-DFM_DZsyLB`5R-E_+~;FDqV(qJ_ZF5V7w!h5@V`^ z^f~T-e$~Uq0TJ5z;g@3s@qk98mI>dGJXH#$p*RFqiPR%Jrimgwr1+)WVJOjC1W$eg DKXB|e literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/exceptions/FileNotCompalitbleException.class b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/exceptions/FileNotCompalitbleException.class new file mode 100644 index 0000000000000000000000000000000000000000..e7eb34fe89ac35f71eb2b499a33a20f0618de65f GIT binary patch literal 429 zcmbVIJx{|h5Pg@12122b3TD{&knqBSg1S^NMO})zyQwLriCsBP#ouB=V&DhxqY#(! zH6Sq{OJ~2k=Xdw+_3iluz&Vl#0pUVTYcbbeXme{_DZQQx^^mKD*Va_xS{G_){lJzB zS!h2g)YVrpLP+S{%cT^BG&AvCAha*F(Y{aEJIa0tBk#1CrN?7JIIvR{qlJwQ*3c$& zGi}tcE+@*}NbW*NGMmd{ES+xfXEOA6x+0|6zo$+Kt;)Mb|JP)Mcw}prtHw3q;1Ba> z&1W2f)p(iUn;Ih=BSw7$e1P`J=@Zr;`4u4M7_YJkGke%%y#K*M2V0Dok8N~UT04va G?7jnTYHrd1 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/exceptions/GameHasEndedException.class b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/exceptions/GameHasEndedException.class new file mode 100644 index 0000000000000000000000000000000000000000..01163ea180db21784ec91b91a95f525acbec2b87 GIT binary patch literal 415 zcmbVHyH3ME5S%r}1`|kd1O*)(4~Z)XRiZQ~Kw;4YrN7vRIbxrYeMbBi6%qv>z(*n0 z=2bw&uC%(Do!y&#eS3ZZFhJcUjwT;}RRRuhw` zWb#G(a0&fec`rpKO)9<{1aG8`wqwH9Ui2fF+ESZzxIZJfr$wRyEMc{SWq5>cq>Z|) z^SLUoN9{TL1t6 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/exceptions/InvalidParameterException.class b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/exceptions/InvalidParameterException.class new file mode 100644 index 0000000000000000000000000000000000000000..f058bdf91152162a65b74dfdea627ef7ea05cf18 GIT binary patch literal 427 zcmbVHO-sW-5PchCqOn?S)uZ6e4{$GnNTnB15P}Gm-nYpb$0i%uY>I!&liW4(%J1R{jFU(BklwK*T z3hlH#`x=Gt1^Rbtrev;6Ccg&)!3i01LxGK*_=hlZmP|I-9SiuUWvV00VX=dG1OnZd zjJ~XkiMH2jl52rpTqY_XD@zUjZ2In&DuLtppPB~(VWF!^W$lGu+61CeS=&UPQ=?() zPxA-ODz+imLlc6Njc^Sa4dHPD!QTE879RQKA>taf-99tdvBY@ugM|*388II#=(c~Y IGV-wY4p`Z4KL7v# literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/Ant.class b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/Ant.class new file mode 100644 index 0000000000000000000000000000000000000000..3a57cc187ebc9fc55fce2793ef69d2cf4dca7db8 GIT binary patch literal 1926 zcmaJ?-A^1<6#w1*nq?Wj7TT(O$VY8=m%`RUTP?H*h1#tP)KY1|7l+;HGO)~$VV2Yv zeKOW)G&aUq6CaEZjnM~9%13OX@BU4u`a3h*1p(b;?mhRObAI=C?)hE#^Vx5|0~p4; z8bS(PX0ei8wY;ol-*enG!?RYiWy3Ccj-4I1Jq;0s<`rYp@OQJbODkr1-&d z9L@KAv#w~lbXktA5F52@%ez7&mCNPQ^9;J`6wL&}XwXrIMul)HJzoc6>xd&JR#Hba zu-bHJh$%GXE!&)_tSy=DZDXlyGA8d7jPktUTC%QgM!aQxS8z(9&U0=VMa!@yAvKwvl!TOyv^c{BXG7NgI?iA~A?i96yBGxC z5Jy(WSwC>YBHg&>%z3V5mlWDk>HOY#!S0BLVTBV1wR^8VZ2DY8KJ)k z6w#pg1G5!gLVK0wcYZ;@L^~-yLj6;8EbO4`kIcdoG_}7cJZZG3)ETKmwyj{ENeN7CY&RSA+j8%bsnP>?>H{{l^plEPSh%yVAV1564p_Kn|d3$ z=!T4Pqb4_{%pu{?`jH&}@h*CHae5aS^8qhX94-4CgLD{lvDi0+RtR8ut(Q;(hQw%Nez}8)y-@!=o$~NBMvSk~S+j#Sr8oICt?(ReFs-fm^ zql%j4EOAkR`1wGxu`fAVOMdIfLI~-%o?3YFa4=KZU2t45G6QuAd`tcbC@i|-j1%>z}1^5t` n@D(oO>wP50ss)EB(>rWqAVvOD`wJ-z7oyQhP(?-d literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/Board.class b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/Board.class new file mode 100644 index 0000000000000000000000000000000000000000..e187728cfa15084a07b08cfef224dbe264fb2842 GIT binary patch literal 3029 zcma)8Yf}?v6n@?$upusjQM3qXDqcbWY0-L%H@wqwQ9%&Y)`cvv5;nMO0Ij{u)akc& z`n7dBqy136I2~(i=+r5Gt26!DKhfXN+S=#r28@8T!;pRVec$t(bDr~@ll=D2&vO8F z<6{j0g_xPjHjP?tlVuNOoH4_-Mw`-xJ?v)erehhyNofcvlwUI@4R61xbKsge=qiL# zhHEHny>zK<1&C9YnNB4Yf`(0-*h*JhY?l{{4_db69#%LV|3Aq81z6Xk5IH$LXpXy9 z#-7kns<7onGOg*fIc%g`oZ;-4X}b#-ncneC%8Ve0avddD!wlkeJz=a>sA4KH+cZ-X zF*g$%Fk=$1Wu&c}W-0<56=JYnp(5V)!cmv&SoUyIAYN053U{$V!`|TvfSpaJOQ5h( zhla4Ms&y2hID$=xY1pi=X$6YOn~vA9ML`=j-M+J#2`|`IvEHg<+x*Ezo|Iq*>NLbx zuDe$>9SPJc6!nf+u1V5XVtT&HWo?#ic4Wr}OsCrzNYgCZmKikCJ%(e+dww(Ij#vzG zMMzJ3)I({PYYdLI8{?j>hGK>Am@#U0XB}I^ZiQXTP-89>yy>(tW}Y!7PTDCmwNPH6 zW{-}&QrFN}W|D1szs z7+ne!>;;7li-mqHYo$}B6G1QfG+caXfcOFH=*J~WmY%a_=a9no!giTwacMpgbfZGJ zeOJeOxT>&@RGhFJ&LlSY3p&=3#>G)3#dtu+AW|gU7$0W=6dDU1&-dvP+k8eI#E_0* zaUFIu{(Zr<1ozq^xL4*e52v7}`QOU_8*E$0qynN#oYSkqbsg`ZO{kyH;fhkr#yM16 zuR*#UW6%s^k~k4zeOkv22{FXEGsaD};{N4iRnRG~Q~|p%Op<%8lsm%q;PQ-V4UaI= zNLME744S7bY4wQLGdqQJjw2?+ZZl@1W zBq403#~7lFXg#)YwUq;L8%NuAB-zW2ycP5PVkesT#t6KKDQ&JK<^bN{dMyIa2@}+y zG`y)18>I}s8EXns*(Ir{jRX|)IR;pn!(0BN_6{2JD+xTgUcMAL)eE8upeJ@Zhp&?UpOg+P~FcyPpFU=MkpEl3r7#KAe^y_8RL%; zpRvee?COi2n#GwXv_|}j(mk`?;gFm|WJC@dC2(KBo5(ge;Hq(zQXN1YhszP9aEYvE zIemoZgdggHaHlYew8z2}#<&X5sslDM#FQ$mLa4gr8Fp*vt>iV1Fn$Vo&j?h+=Rov) zTky~fI)jI25SKXX^EuR1=P>T4&^Cj}fly^A2j_NB)d(ro&2#sj|6XuEn$6$69Z-4N zo_|-L!_)(MEM@=2ImP@$eQ{mqn?spQ@HETwNhUYNqE1j!H*t<0&MlKy%W|BWz{SIk%SYiKVH{OL`qTbv9&6BkID$f#1% z`W36Zl7EGw;C)$93-@{G2fmt5;1iVLHWmG8fy65F!HLrl0%fAi4;EaAV#P(7AU>Uk dUIP3X1@Jki*cS!BWd*=&82O?2A&~<3=wAXzt7!lL literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/Field.class b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/Field.class new file mode 100644 index 0000000000000000000000000000000000000000..55a68236a14cec1fe3e4aae07fc585b6e44bf5df GIT binary patch literal 1237 zcma)*Z%@-u6vm%Rw{EMbS-u*2_MC8 zfshE%NPO*wGM?Kt(nJkpN$)-Pp7WgFIrr@6udi1CX7N%+7sIf=&ehxBG^xGmKPkiZ7G%Ym+w*8M>D@w${h$ zuc}+iHHOjmw~38cnxOSVwGCat-SVeOSy zi}eKg-c=DrEDl*1Srsy3V%M)Cjs!_n4NKqfTHCtwhHslxTBd3@xmo9qA#DFpfrK7H zaQBTiL)^7HDHwVS#lI5^!eJE;F+zm;M~|Bn)E6e)+&<8oZn^j_jxh!{9mgYDW*Cw+ zmpZo2j{=t1F*iM(!p956TeMBV1fIy4WJrhFang46mWnBq7!urZ_({_~I$_ZMfwUSb zC!k!VMl#4g$>uJ@d^jxVb@ApW6+L{WVj8myb76@klegRDP~Jb9*ENXYqk&Rtw&yhU z6+^s};*aT+aH6_u#-7Dp&!LOikd_Fn+zhu+UYwyR-8JjgXeWP(lBCWbCBcr6km2LwT?zn3v2plN>(_k-{?5)*!D zjaa_m!6(Erqor;y>y`W*!N{gN>)HI5T2(R1XuP9xyG8L zT{SAAt}XimJF>_v zt#8S4DA0b}@tm+I(3Z)r3TQKaMH*;BhlwQG1v(cTPcGJX)@86_ue(y9d%-W;?y4O) zNx^$DCk32ilnw17Sv1b#4fLB;AdFog3u&Iz1*I^d!o&iQq( zGW)nJtD)n2CWdiAz}S>wN!DuiCOJBj$+o7iqP}3_MO-57cC{)!);@kxHZ8tKH5OEe z%ORL6+G;0f%n$Y96uY}dq?s=lL2dP8-o1}1P-N3N+YmOrY6a>vBW zxW?;|j~%v%mYL74>bNe@drZW1ePcrgvU1FB9)4>^yiHZtZc@+2`#$#zL`}LqK)z~xZXQqEb zallLEnDhAn68vzyDeIK-Tm{$U$Uag(M{0w=291DTXz0gt+?lZv*He@_@H{%>0EuCS zRe^pyK-bznDHo*!^sF)5+0rh~FRJ72{(TIL?_qEc7x(be6J)d}7(YOMZEPPm7OA;u zX}cI2O>4Ax7|UtxcNnAH1$C0v{y6+=7nY?p!YR|qrg(Il+QqQdzKa1X8B0m4J)Qim zu^%P6ia7HV35XsB4!Q*!6}I9h_!OUUwYdA76@7s(@fGE7@GZXM+C~px3j_SUgcL4Q z&hT-`q7Ne&$0$jjp!ZcwaW{i&c!Tu5#TWYlZs0wh*|>=f+``8Z#w78IL@E$zl2}E2 zjXOk}Bwi8UGlF9NUd%4nc}gk#z^HGMdxI7WDDj^9n9(AZn4g7^cyDtzg^RdP4~=+( z)Gl+kLjU(+9`ah-blla^r89e>V`$)SoYs-&VgDiFw1$?4%Ai>0mktjOnLvA!mWPpr UIAkWxj%rr<=OXZszzMwbFV0+y+yDRo literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/LangtonGame.class b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/LangtonGame.class new file mode 100644 index 0000000000000000000000000000000000000000..cec97fb49648e60e7e9086ff575d058118b44846 GIT binary patch literal 3150 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 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/UserInputManager.class b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/bin/edu/kit/informatik/langton/UserInputManager.class new file mode 100644 index 0000000000000000000000000000000000000000..ea4f744aa26bfca658e5df5405e2de64da4e17ae GIT binary patch literal 3373 zcmai0X>1&48GhdEG2_j+i#KtaI@iRd_*%y~YNtMMi4!N@)<;u2hjTO;?|!x?-rd>E z%;qRZ3j|7m7J6_rTm>Okh#=7_T~{p%f*<(-Qq@RERr>?_6Nz8&2LUSK{l4+qn{=D5 zwDZ05e(!zGAOH8pH30YH#~M}Qc7E1zbCz!}bY-plobTkj4tc^&rQ=i5LfhpW*-l0)iEAdX{eZd84;6Z#w8f3YiVBBpE zR#)>?N2rtgV#4s#pWVvcmM7wIHU7ZeGU$!ad6QWjnW5+c|`kfrs!g^Y~7n zk+8P4tyb>FFri_bu%U((Q^L*Jc`Iw+5v=D#DwVRDbv#PgREc>lBRuKflz~IwW{J)T ze~%1BGuu!@PsLlN>5t(kQW~ZSo9|4i<2a#7Rl~9YJ6EEh3^-}vF`VL3X9M=jy4mAZ z!m+M3m8uaC4Hn_3FZQu+RIAB(xAY?~xY^`DB zk~RH0a@?gR&rGFz)^*OmgxfSbQhb4DOs&rTP;pe$NOQTYJ=NcA?h!lV&+901 z4KC~UMA~6>RlRZ=-2E3gLmyeEoS~z5+`wmLp{`}Y`zmvyk|iCV=YEu}zntN!I@j?8 zp|I4Oms*X zJtf-Pndnsb<`V7hOmr#yGbQTiOzcqbz7lQeOzcwdp%Sf0UW@z$^>3nkI(Z~n7HYm?W)6^{LqBcK_19it`utLpOL%H?Dk zN7Vg0$!pOH^RX&*kz_=vjY?sS(Z)y_Cltdk`ZQ_Vn>an4m{~+7P$t5eGUgN6GV%f9 zY=H0?QN}qXc*V-|w-|C!$sMmU^mFPy%y}=NM@8Zb5;LxpKFLZsqF)LmE8fI-dq7+_ zp7;u5Ug59W4(g==o+k}drt;GHHl9-N@8W4LJ6TPCz;=GN@RwyP8qkg(B8i`&6IalM zt9*0o$8dphJ`U33y!kI-ik`zEdJ#wHGLF*Eag2V++xQAj(r@q> zy~<~q_vj*K=xtt^H;|!sA?Q8K(qCb#>MzLVq4z7*&(JsUO|E*4DWAc!+#6TXgm2;7 z+&7EN@f<@Dw(=mJS5OC1c!8lPTib&d@g3$|9~z3+3}vS|7M zQyN~|6kPxR= 360) + direction = direction - 360; + else if (direction <= -360) + direction = 0; + } + + /** + * Movees the Ant in the direction it is facing by one unit. + */ + public void move() { + /* + * cos(0°) is one therefore yPos will become smaller by one if the ant + * is facing north. + * cos(180°) is minus one therefore xPos will become smaller by one if + * the ant is facing south. + * cos(90°) and cos(270°) are zero therefore yPos will not increase if + * the ant is facing east or west + */ + yPos -= Math.round(Math.cos(Math.toRadians(direction))); + /* + * sin(90°) is one therefore xPos will become bigger by one if the ant + * is facing east. + * cos(270°) is minus one therefore xPos will become bigger by one if + * the ant is facing west. + * cos(0°) and cos(180°) are zero therefore xPos will not increase if + * the ant is facing south or north. + */ + xPos += Math.round(Math.sin(Math.toRadians(direction))); + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + return yPos + "," + xPos; + } + + /** + * Gets the x pos. + * + * @return the x pos + */ + public int getXPos() { + return xPos; + } + + /** + * Gets the y pos. + * + * @return the y pos + */ + public int getYPos() { + return yPos; + } + + /** + * Sets the x pos. + * + * @param xPos + * the new x pos + */ + public void setXPos(final int xPos) { + this.xPos = xPos; + } + + /** + * Sets the y pos. + * + * @param yPos + * the new y pos + */ + public void setYPos(final int yPos) { + this.yPos = yPos; + } + + /** + * Gets the direction as string. Which converts 90 to O, 180 to S, 270 to W + * and everything else to N + * + * @return the direction as string + */ + public String getDirectionAsString() { + String ret = "N"; + switch (direction) { + case 90: + ret = "O"; + break; + case 180: + ret = "S"; + break; + case 270: + ret = "W"; + break; + default: + ret = "N"; + } + return ret; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Board.java b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Board.java new file mode 100644 index 0000000..a4c7bb7 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Board.java @@ -0,0 +1,146 @@ +package edu.kit.informatik.langton; + +import edu.kit.informatik.exceptions.GameHasEndedException; +import edu.kit.informatik.exceptions.InvalidParameterException; + +/** + * The Class Board. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Board { + + /** The data. */ + private Field[][] data; + + /** The ant. */ + private Ant ant; + + /** + * Instantiates a new board. + * + * @param data + * the data of the board + * @param ant + * the ant + * @throws IllegalArgumentException + * if arguments that are used to instanziate Board have an error + */ + public Board(final Field[][] data, final Ant ant) throws IllegalArgumentException { + if (ant == null) + throw new IllegalArgumentException("ant needs to be initialized"); + else if (data == null) + throw new IllegalArgumentException("data can't be null"); + + this.ant = ant; + this.data = data; + this.data[ant.getYPos()][ant.getXPos()] = Field.White; + } + + /** + * Make turn. + * + * @throws GameHasEndedException + * throws exception if a new turn is not possible + */ + public void makeTurn() throws GameHasEndedException { + ant.move(); + + if (ant.getXPos() < 0 || ant.getXPos() >= data[0].length || ant.getYPos() < 0 || ant.getYPos() >= data.length) + leftBoard(); + + // Turning and coloring + if (data[ant.getYPos()][ant.getXPos()].equals(Field.Black)) { + ant.turn(270); + data[ant.getYPos()][ant.getXPos()] = Field.White; + } else if (Field.White.equals(data[ant.getYPos()][ant.getXPos()])) { + ant.turn(90); + data[ant.getYPos()][ant.getXPos()] = Field.Black; + } + } + + /** + * Left board. + * + * @throws GameHasEndedException + * the exception is thrown if game needs to end + */ + protected void leftBoard() throws GameHasEndedException { + throw new GameHasEndedException("Game ended"); + } + + /** + * Gets the ant. + * + * @return the ant + */ + public Ant getAnt() { + return ant; + } + + /** + * Gets the field at position x,y as string. + * + * @param x + * the x position + * @param y + * the y position + * @return the field as string + * @throws InvalidParameterException + * thrown if x or y outside of bounds of data array invalid + * parameter exception + */ + public String getFieldAsString(final int x, final int y) throws InvalidParameterException { + if (x < 0 || x >= data[0].length || y < 0 || y >= data.length) + throw new InvalidParameterException("x or y is to large"); + + String ret = ""; + if (x == ant.getXPos() && y == ant.getYPos()) + ret += ant.getDirectionAsString(); + else + ret += data[y][x]; + return ret; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + String ret = ""; + for (int y = 0; y < data.length; y++) { + for (int x = 0; x < data[y].length; x++) { + try { + ret += getFieldAsString(x, y); + } catch (InvalidParameterException e) { + e.printStackTrace(); + } + } + ret += "\n"; + } + return ret.trim(); + } + + /** + * @return the width of the board + */ + public int getWidth() { + if (data == null || data.length == 0) + return 0; + else + return data[0].length; + } + + /** + * @return the height of the board + */ + public int getHeight() { + if (data == null) + return 0; + else + return data.length; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Field.java b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Field.java new file mode 100644 index 0000000..da33639 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Field.java @@ -0,0 +1,28 @@ +package edu.kit.informatik.langton; + +/** + * The Enum Field. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public enum Field { + + /** field is white. */ + White, + /** field is black. */ + Black; + + /* + * (non-Javadoc) + * + * @see java.lang.Enum#toString() + */ + @Override + public String toString() { + if (this.equals(Field.White)) + return "" + 0; + else + return "" + 1; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/FileInputHelper.java b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/FileInputHelper.java new file mode 100644 index 0000000..4f6aaa4 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/FileInputHelper.java @@ -0,0 +1,70 @@ +package edu.kit.informatik.langton; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; + +import edu.kit.informatik.Terminal; + +/** + * Helper class for reading text files. + * + * @author IPD Reussner, KIT + * @author ITI Sinz, KIT + * @version 1.1 + */ +public final class FileInputHelper { + + /** + * Private constructor to avoid instantiation. + */ + private FileInputHelper() { + // intentionally left blank + } + + /** + * Reads the specified file and returns its content as a String array, where + * the first array field contains the + * file's first line, the second field contains the second line, and so on. + * + * @param file + * the file to be read + * @return the content of the file + */ + public static String[] read(final String file) { + final StringBuilder result = new StringBuilder(); + + FileReader in = null; + try { + in = new FileReader(file); + } catch (final FileNotFoundException e) { + Terminal.printLine("Error, " + e.getMessage()); + System.exit(1); + } + + final BufferedReader reader = new BufferedReader(in); + try { + String line = reader.readLine(); + while (line != null) { + result.append(line); + line = reader.readLine(); + if (line != null) { + result.append("\n"); + } + } + } catch (final IOException e) { + Terminal.printLine("Error, " + e.getMessage()); + System.exit(1); + } finally { + try { + reader.close(); + } catch (final IOException e) { + // no need for handling this exception + } + } + + return result.toString().split("\n"); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/LangtonGame.java b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/LangtonGame.java new file mode 100644 index 0000000..dbb573d --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/LangtonGame.java @@ -0,0 +1,99 @@ +package edu.kit.informatik.langton; + +import edu.kit.informatik.Terminal; +import edu.kit.informatik.exceptions.FileNotCompalitbleException; + +/** + * The Class LangtonGame. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class LangtonGame { + + /** + * User input manager which manages input from the user and manipulates the + * game accordingly. + */ + private UserInputManager uInputMngr; + + /** + * Instantiates a new langton game. + * + * @param path + * the path + * @param gameType + * the game type + */ + public LangtonGame(final String path, final String gameType) { + try { + uInputMngr = new UserInputManager(readFile(path, gameType)); + } catch (IllegalArgumentException | FileNotCompalitbleException e) { + Terminal.printLine("Error: " + e.getMessage()); + } + } + + /** + * Runs the gameloop. + * + * @throws NullPointerException + * game has not been initilized correctly + */ + public void run() throws NullPointerException { + if (uInputMngr == null) + throw new NullPointerException("game cannot be run because UserInputManager has not bean set"); + while (!uInputMngr.isReadyToQuit()) { + uInputMngr.doCommand(Terminal.readLine()); + } + } + + private Board readFile(final String path, final String gameType) + throws FileNotCompalitbleException, IllegalArgumentException { + final String[] file = FileInputHelper.read(path); + Field[][] fieldArr; + final int width = file[0].length(); + final int height = file.length; + Ant ant = null; + + fieldArr = new Field[height][width]; + for (int i = 0; i < file.length; i++) { + final char[] c = file[i].toCharArray(); + if (c.length != width) + throw new FileNotCompalitbleException("file is not formatted correctly"); + for (int j = 0; j < c.length; j++) { + switch (c[j]) { + case 'N': + ant = new Ant(j, i, 0); + fieldArr[i][j] = Field.White; + break; + case 'E': + ant = new Ant(j, i, 90); + fieldArr[i][j] = Field.White; + break; + case 'S': + ant = new Ant(j, i, 180); + fieldArr[i][j] = Field.White; + break; + case 'W': + ant = new Ant(j, i, 270); + fieldArr[i][j] = Field.White; + break; + case '0': + fieldArr[i][j] = Field.White; + break; + case '1': + fieldArr[i][j] = Field.Black; + break; + default: + throw new FileNotCompalitbleException("file is not formatted correctly"); + } + } + } + if (gameType.equals("torus")) + return new Torusboard(fieldArr, ant); + else if (gameType.equals("standard")) + return new Board(fieldArr, ant); + else + throw new IllegalArgumentException("gameType has to be either 'torus' or 'standard'"); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Main.java b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Main.java new file mode 100644 index 0000000..a5f33ef --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Main.java @@ -0,0 +1,35 @@ +package edu.kit.informatik.langton; + +import edu.kit.informatik.Terminal; + +/** + * The Class Main. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public final class Main { + + private Main() { + } + + /** + * The main method. + * + * @param args + * the arguments + */ + public static void main(final String[] args) { + LangtonGame lg; + try { + lg = new LangtonGame(args[0], args[1]); + lg.run(); + } catch (ArrayIndexOutOfBoundsException e) { + Terminal.printLine("Error: please use 2 arguments to start the program ('path', 'torus' | 'standard')"); + } catch (NullPointerException e) { + Terminal.printLine("Error: " + e.getMessage()); + } + + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Torusboard.java b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Torusboard.java new file mode 100644 index 0000000..158ce75 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/Torusboard.java @@ -0,0 +1,46 @@ +package edu.kit.informatik.langton; + +import edu.kit.informatik.exceptions.GameHasEndedException; + +/** + * The Class Torusboard extends Board. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Torusboard extends Board { + + /** + * Instantiates a new torusboard. + * + * @param data + * the data of the board + * @param ant + * the ant + * @throws IllegalArgumentException + * if arguments that are used to instanziate Board have an error + */ + public Torusboard(final Field[][] data, final Ant ant) throws IllegalArgumentException { + super(data, ant); + } + + /* + * (non-Javadoc) + * + * @see edu.kit.informatik.langton.Board#leftBoard() + */ + @Override + protected void leftBoard() throws GameHasEndedException, IllegalArgumentException { + if (this.getAnt().getXPos() >= this.getWidth()) { + this.getAnt().setXPos(this.getAnt().getXPos() - this.getWidth()); + } else if (this.getAnt().getYPos() >= this.getHeight()) { + this.getAnt().setYPos(this.getAnt().getYPos() - this.getHeight()); + } else if (this.getAnt().getXPos() < 0) { + this.getAnt().setXPos(getWidth() + this.getAnt().getXPos()); + } else if (this.getAnt().getYPos() < 0) { + this.getAnt().setYPos(getHeight() + this.getAnt().getYPos()); + } else { + throw new IllegalArgumentException("leftBoard() should not have been called"); + } + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/UserInputManager.java b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/UserInputManager.java new file mode 100644 index 0000000..29d3cb2 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/UserInputManager.java @@ -0,0 +1,115 @@ +package edu.kit.informatik.langton; + +import edu.kit.informatik.Terminal; +import edu.kit.informatik.exceptions.GameHasEndedException; +import edu.kit.informatik.exceptions.InvalidParameterException; + +/** + * The Class UserInputManager. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class UserInputManager { + + /** The board. */ + private final Board board; + + /** The boolean ready to quit used to store if game should end. */ + private boolean readyToQuit; + + /** + * Instantiates a new user input manager. + * + * @param board + * the board + */ + public UserInputManager(final Board board) { + this.board = board; + readyToQuit = false; + } + + /** + * Converts commands to actions that manipulates the Board. + * + * @param command + * the command as string + */ + public void doCommand(final String command) { + final String[] arr = command.split("[\\s,\\,]+"); + if (arr != null && arr[0] != null) { + try { + switch (arr[0]) { + case "move": + if (arr.length != 2) { + throw new InvalidParameterException("move expects 1 parameter"); + } + final int turnNumber = Integer.parseInt(arr[1]); + for (int i = 0; i < turnNumber; i++) { + board.makeTurn(); + } + break; + case "print": + if (arr.length != 1) { + throw new InvalidParameterException("print expects 0 parameter"); + } + Terminal.printLine(board.toString()); + break; + case "position": + if (arr.length != 1) { + throw new InvalidParameterException("position expects 0 parameters"); + } + Terminal.printLine(board.getAnt().toString()); + break; + case "field": + if (arr.length != 3) { + throw new InvalidParameterException("field expects 2 parameters"); + } + final int column = Integer.parseInt(arr[1]); + final int row = Integer.parseInt(arr[2]); + + try { + Terminal.printLine(board.getFieldAsString(row, column)); + } catch (final edu.kit.informatik.exceptions.InvalidParameterException e) { + throw new InvalidParameterException( + "coordinates are outside the board they have to be from 0 to " + + (board.getHeight() - 1) + " for the first parameter and from 0 to " + + (board.getWidth() - 1) + " for the second parameter"); + } + break; + case "direction": + if (arr.length != 1) { + throw new InvalidParameterException("print expects 0 parameters"); + } + Terminal.printLine(board.getAnt().getDirectionAsString()); + break; + case "quit": + if (arr.length != 1) { + throw new InvalidParameterException("quit expects 0 parameter"); + } + readyToQuit = true; + break; + default: + throw new InvalidParameterException( + "Invalid command. Commands are: 'quit', 'direction', 'field ', " + + "'position', 'print', 'move '"); + } + } catch (final InvalidParameterException e) { + Terminal.printLine("Error: " + e.getMessage()); + } catch (final GameHasEndedException e) { + readyToQuit = true; + } catch (final NumberFormatException e) { + Terminal.printLine("Error: Expected Number"); + } + } + } + + /** + * Checks if is program ready to quit. + * + * @return true, if is ready to quit + */ + public boolean isReadyToQuit() { + return readyToQuit; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/input.txt b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/input.txt new file mode 100644 index 0000000..968d8fa --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4A_LangtonAnt/src/edu/kit/informatik/langton/input.txt @@ -0,0 +1,3 @@ +0000 +0000 +0N00 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.checkstyle b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.checkstyle new file mode 100644 index 0000000..6c7b8f0 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.checkstyle @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.classpath b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.project b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.project new file mode 100644 index 0000000..4edf762 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.project @@ -0,0 +1,17 @@ + + + Assignment4B_Bank + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.settings/org.eclipse.jdt.core.prefs b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/2016-03-19_12-17-51.zip b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/2016-03-19_12-17-51.zip new file mode 100644 index 0000000000000000000000000000000000000000..37ec6e7457547eb8c2af3c8eb3dabd5a3137882c GIT binary patch literal 10327 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 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/Assignment4B_Bank.iml b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/Assignment4B_Bank.iml new file mode 100644 index 0000000..1570ffe --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/Assignment4B_Bank.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/bin/edu/kit/informatik/Account.class b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/bin/edu/kit/informatik/Account.class new file mode 100644 index 0000000000000000000000000000000000000000..e7758f13e6e14056c88c1a5d939a311d3dd4fc79 GIT binary patch literal 2028 zcmaJ>T~ixX7=BJZNC?YUnnKc~6l=A~(l**wt%lM978|9-8ipBq;kZebbRpSImtE@k zC%ks-h2wb1h0aKD?2NUy{ZZ<3b~hwo=rGyy^}g@(@t(u$fByUnz)e(Q2nn3i>uzz! zaEgYxW!WvwF?NcJwVLIcP7D!&iEV99D>gN=QCzET>ox8U38Z?v%T}wc*;=)!3yf-h z=0mqt)olS$7Km3hb7$GA^Eg)3Sg6L?(7a(9&VoQRUoICm1R^pbfiT7uj9@|_oG)y| zkQBJsgDN+hdP8e2+6}j*o6fy&YkJ!;EHi;gj1NQLtb$?0+^Hf&Y51(JP;!J)u#&1nJaSsse*f0k-cfRb+ayTb&$vZqZ#li$rATv37VZ7 z1lS+=g@O<9(J795Mm<#UKCTNSDwb>4^c6$CASGz+HE9aXuNVzeb6lH8D}BU*?)2^S zp5gqPdbCi&TWnI8zbL;U`AYcTASB<7H}b7;l#LvL!tW?o-}5}o@sfIovFwkC<(^~Y z1tvESapt9(JwQs$9bifgA0Yi3SYRW+6rc;|TrB65$wx;28&8V5(0}_hbNB^>?JRb+XGoM>M>zZhC7{itMw7 z&nZbZz%{BWvg&p6x#97cA`(j+@yL>AoB$F%g3u^$kjL7GtOk%7B8^HPl9vwg?n@u> zn`0*UfVWv>0b{s>H175RW{v=*FICtJmU zpq{|oz~t1)orLq4M_&qM`ln;^z}^Q*;Vw^NK&^ zRj}EWT{`Oa!RC%SlfwtRoV}|co#x99aMvXj)>2>K)+Uvu{=g@PxSL$;U|9<7;Ir;L z&3Ol(|H|n8{(aZyqUxhgEK=EOfKUjO4Xe_>4j!CrgYXJSqeEEpzF*>zH-7aWXCZO< literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/bin/edu/kit/informatik/Bank.class b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/bin/edu/kit/informatik/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..6657e47a3215d8764b711ab68e2da000d89b46d7 GIT binary patch literal 2497 zcmah~T~iZh7(Fl9kPkMZDe(gWBB%{1NUM~#B3SV=6{IbSLj78j1y_YIo#B|dlnTO z*iM0{C-+p*H4V=^6UYrX7h>pCXy1lhcr1x54vLs=g=nromBO`0M=uVu97V_W49k|< z<+e*5qKx#-#c))iXTAJ|a@kxo%4gigYQ?m@^N)(=vS&GV965Rz#&sKIaxOjYHXpJ6 zE60*Jg1oSKj|Iw2tfNhPu4ONd2s?!V9mg<8cgm){=-u;OCSy{y$4Ri}5u;R6=-#n5e&?i&z?Q&i2`m;BvODpk zA(mY-AF&lJx;yO|#idDOIc$iOYgU{G8{M9hBAnN8K_talgo4D&<|Q2koMp*^D7M{O zXG14=-g6CmWx;fLij7d{BU%<$bWBNL{GsLDE4ju)+5AGsmq;qaO6Ib&VzJhH7F?$i zLcNvP>N%TsnvIHli7dAq_sJ2&bLuo_bLL8^=<8q81AsK zHn+@p)hd@vHwgp980I%jhyYGU3CtCHV3e!o)Pgh~`(`uFND{Y^kAvN&lCr+9V+m!} z%2-}DZ8pKccKx~qC*E z6iLYbF_D2o{AMDYpiTU7`uHo(9^PdTB_Q8a3!kp>R1@!+{3`VP8d_&pvF9by`Hq)p z`^gX6%WE1MuWh_$*janI+Q%Qb@`JG-2lzx78E}N={6R;U;%`Pp`EG6v+1dQhXzN%- z*CZF|{u&NFL23<0X4CJkqVM;}SiXjStu(AXM_0cb$!ImaU&GK3Xvt{W-LdCr`A&P2 z(Vo5e%SY&};p5I1M30aQI3q;VA*9elPQAPy!C@T5AaXd3KAb}y7x_Ge0o>qe(J&OS zt819UDPKbhlNiMq6&~imIL*BX`ic1|R~pVRGL7gf^u&;T4PB{yP5*FTVH{^e<&TLh zCiDu`M)ftE8_hmLH1a~;WNWy%E+HuONtSqoluogbqdv{<0IE*2H>BA{LxfzDPpKK| z723ss&+0VpkcQaQzLf^cAJtw&*0b;Ovs_{^3(R!6!Q}RO=JqhNlpq4NpUEy`BGmjR zlS#W>-7UJu`M8aw%feJDK;We@QA^9@XUsF_X0mivmP z-lUDUXww}I!n>H}r+*DapZ!=sr_TO5-%5*;BCh&%lhrk@BE%ZU3|ATv2e=!j7*Ux( z|4^v)IPU@!7nU{LkTN#;eMlR)F8c)Z;7mwBk?slZNS}`Kv>20+_zsHv zaTCD9hWaP!3KG8Gl9~e{gt{b7FuH3ExBZXo7u;RNLVB?VD_~ctVRIB`o YKoKgaQ9`tBR`-2FaI_x0;!E)U1Jva57ytkO literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/bin/edu/kit/informatik/Container.class b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/bin/edu/kit/informatik/Container.class new file mode 100644 index 0000000000000000000000000000000000000000..0b6b29dd41e6a147a2b081c14c75da1dd44970c8 GIT binary patch literal 775 zcmZuuOH0E*7@X}Ru{E|@-&$Yjp{-&rdQt=tJQY1Cy>H{Ht2Kc%6@Qk3B6#oz_@l(x z?L(2Uu=&2-nfYe2U*8{}0QRuzA|p^$S3Un;C%z7^qxeB4`rbc@!bIv&#V&FJlXvn_ z`W+eG_~-3A6(j<#41%Z^vZ^*y_{aU*1A$zqo`_maLye{o=N#%#Cr1KnwKV8Zu->BN zNpz)($YR1n0VRQKt==ktK0V~&n5yEz#h5_3$q;9~hqj6@WxJzz(~JVyX~|fdesGve zZgrQTx+*!db~jQ@{Q5OE+?yeKy;e{2{0kQ-5cxRN)y8pYq_b<@ z0UOMh<@;s07}r(|%WsZ11r)iDvpcs4pxk(e*VukzA>J_cVhPjSDLAvjK_k8Nk# znck*PwN6|5!V9)KRp{tUuhVg+5B&rB2lTD4eX82??QRl;3>{`RyTAP|=bZ1d{Qmg< z4*)um@x!CgXr|`cC#_t&l^)Avr;VI7+1_WRt!X1^&F1{j6rPzdt{Lr9MtZz`U}VA^ z%_(dcv$C_fo=iGtSZOn>(3C6@r|>?ZP&s8h<)F=4Z<-3KSE1}h=F4>}cw3@F3R+Jl zWd`BJ1|30El!FL#1W+z_Ass%H$=xO$ev~OxC5fPaZhFMbo;F6N7&Da2j2crzM%I#N z_fX4Sv1S#vmcm)&OQ2pOm7-lsDZ?Y9qnWvME)gB_qd}ozJ zXU$x{d7Tn&E197vnMmO`oP z`$(J+9GN1e^A~j@`I!uZDvNG287rNWevFhRF1`^9HD3hOLE;hbc%=5*#7yHR6|a|%+6V=^=jxg@87$ayHWDV-&cmd>Nj zq)7v>OH49xia1n(TxKwrwbJ996iQgs+c`}HFrdH*I;l{*`sL9%Ybs@CgBZjaKTbcj z0UUQ7LwKD`t{GEv=D?UjbE%T9%^JiB49idu=TlwaqKXa$aDlZf7sE?B-oRx_Y0S)+ zX%1!E$|QM@HA!6b2?;SGAx2kuI!i3ER+PMF0J52a5@1|M5`ChCrDFnptS42Srpj3< zU1&{qc0_P6GnXATk6E&es*1~Hx9H3@KxZysFFdl!c;}HtX8&@@@mHq>7ay-WpZfWp zmBOajGAd)N~bq4X>LSORgGf8Dk4Ju(PXC&l4ve{rP4KpOo~x8+(EF zg5^-`E;c?yee40k!>!9`lmv3d91Ez+pZ4*nI=+Ohu{dAEhVPw>pTXC-C{G<-+S^`Lr#*b~SHoffVT{rO`xs+CW52+s z1I*V&Q4&OZ5Zj4wC(mLyY@_V7g^d?b#$A*iTI?rV52Lg&PC3~G>3x96H5<7O?_*Rd z!xKM}l5DpC-90lQ-j zT51^w`}3w0 zLyI99a$LY!jNzOuMz`Ik;{`FsT`@=nM{F^+@!e5cc^PAeEryqo>g+Q|7Rsahn`4xs z2QRrL{X@!3WS7FOAmN+vc^AVs*piL{9R>a=Hk`I-8)~Vquss$F+e%1BvOQISx?||b z;M_BV)291aav((=Oe!*l5b-zS3R};j78B^eB->yL$1qKG(p2Uub;#NpY<7?qG`M6l z=LTd%;il@PQD0`0JM+7jzcRl8he-4`?>+Xgl-cKR*->TYY2!v!%v{R9nmxYS|D6*4 z9{HLvqU?`(yG4Or;m=WF%Qg?6x-Dq>yxj|^;6QiuaZ(z?^H2VXOZb(u{2qh6Pmw<0 zJby^oAF*jZrdXdK!uy^0)J`8`0hyv8$}U%wYOWob2q7GDr$mI(MW{z8=WK936kfq` z7w$#cN-NZ^f*WSDyX+l!8weBlf}y@7y!jQisV%^$T~Ql$m@bv*#j9?rcbQ0HL~Jb< zP(vm1D@0qgWr;t0^0&9RJes)JfJF}PE!OHAO7bm<-QhmH#WnYxjlo%KkphN@J0m`> z7e@*afdAkAiva2C8qoysnv1EOztRalVycqFD_iCMicwKGZgwXL&f70dD z@&G4>TffJtWt { + + /** The account number. */ + private int accountNumber; + + /** The bank code. */ + private int bankCode; + + /** The balance. */ + private int balance; + + /** + * Instantiates a new account (balance is initialized with 0). + * + * @param bankCode + * the bank code + * @param accountNumber + * the account number + */ + public Account(int bankCode, int accountNumber) { + if (bankCode < 0 || accountNumber < 0) { + throw new IllegalArgumentException(); + } + this.bankCode = bankCode; + this.accountNumber = accountNumber; + balance = 0; + } + + /** + * Tries to withdraw money from the account (Fails if this would make + * balance negative). + * + * @param amount + * the amount that should be withdrawn + * @return true, if successful + */ + public boolean withdraw(int amount) { + if (balance - amount < 0 || amount < 0) { + return false; + } + + balance -= amount; + return true; + } + + /** + * Increases the balance of the account by 'amount'. + * + * @param amount + * the amount + */ + public void deposit(int amount) { + if (amount < 0) + throw new IllegalArgumentException("amount must be positive"); + balance += amount; + } + + /** + * Gets the account number. + * + * @return the account number + */ + public int getAccountNumber() { + return accountNumber; + } + + /** + * Gets the bank code. + * + * @return the bank code + */ + public int getBankCode() { + return bankCode; + } + + /** + * Gets the balance. + * + * @return the balance + */ + public int getBalance() { + return balance; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (obj instanceof Account && ((Account) obj).accountNumber == this.accountNumber) + return true; + return false; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Comparable#compareTo(java.lang.Object) + */ + @Override + public int compareTo(Account o) { + if (o.getAccountNumber() > this.getAccountNumber()) + return -1; + else if (o.getAccountNumber() < this.getAccountNumber()) + return 1; + + return 0; + } + + @Override + public String toString() { + return bankCode + "," + accountNumber + "," + balance; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/src/edu/kit/informatik/Bank.java b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/src/edu/kit/informatik/Bank.java new file mode 100644 index 0000000..a1a4933 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/src/edu/kit/informatik/Bank.java @@ -0,0 +1,135 @@ +package edu.kit.informatik; + +/** + * The Class Bank. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Bank { + + private MinimaList accounts; + private int bankCode; + + /** + * Instantiates a new bank. + * + * @param bankCode + * the bank code + */ + public Bank(int bankCode) { + accounts = new MinimaList(); + this.bankCode = bankCode; + } + + /** + * Creates an account. + * + * @param accountNumber + * the account number + * @return the index of the account + */ + public int createAccount(int accountNumber) { + Account acc = new Account(bankCode, accountNumber); + if (accounts.contains(acc)) { + throw new IllegalArgumentException("Account already exists."); + } else { + int index = 0; + for (int i = length() - 1; i >= 0; i--) { + // As soon as acc is bigger than current element + if (acc.compareTo(accounts.get(i)) > 0) { + index = i + 1; + break; + } + } + accounts.add(acc, index); + return index; + } + } + + /** + * Removes the account at the index. + * + * @param accountNumber + * the account number + * @return true, if successful + */ + public boolean removeAccount(int accountNumber) { + int index = accounts.getIndex(new Account(bankCode, accountNumber)); + if (index < 0) + return false; + return accounts.remove(index); + } + + /** + * Checks if account exists in this bank. + * + * @param accountNumber + * the account number + * @return true, if the account exists + */ + public boolean containsAccount(int accountNumber) { + if (accounts.contains(new Account(this.bankCode, accountNumber))) { + return true; + } + return false; + } + + /** + * Transfers money from one account to another. + * + * @param fromAccountNumber + * the account number of the account money is withdrawn from + * @param toAccountNumber + * the account number of the account money is deposited to + * @param amount + * the amount + * @return true, if successful + */ + public boolean transfer(int fromAccountNumber, int toAccountNumber, int amount) { + int fromIndex = accounts.getIndex(new Account(bankCode, fromAccountNumber)); + int toIndex = accounts.getIndex(new Account(bankCode, toAccountNumber)); + if (fromIndex < 0 || toIndex < 0) + return false; + + if (accounts.get(fromIndex).withdraw(amount)) { + accounts.get(toIndex).deposit(amount); + return true; + } + return false; + } + + /** + * Length. + * + * @return the int + */ + public int length() { + return accounts.size(); + } + + /** + * Gets the account at the index. + * + * @param index + * the index + * @return the account + */ + public Account getAccount(int index) { + return accounts.get(index); + } + + @Override + public String toString() { + return bankCode + "\n" + accounts; + } + + /** + * Gets the bank code. + * + * @return the bank code + */ + public int getBankCode() { + return bankCode; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/src/edu/kit/informatik/Container.java b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/src/edu/kit/informatik/Container.java new file mode 100644 index 0000000..73c2474 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/src/edu/kit/informatik/Container.java @@ -0,0 +1,55 @@ +package edu.kit.informatik; + +/** + * The Class Container. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Container { + + /** The account. */ + private Account account; + + /** The next element in the list. */ + private Container next; + + /** + * Instantiates a new container. + * + * @param account + * the account + */ + public Container(Account account) { + this.account = account; + this.next = null; + } + + /** + * Sets the next element. + * + * @param next + * the new next element + */ + public void setNext(Container next) { + this.next = next; + } + + /** + * Gets the next element. + * + * @return the next element + */ + public Container getNext() { + return next; + } + + /** + * Gets the account. + * + * @return the account + */ + public Account getAccount() { + return account; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/src/edu/kit/informatik/MinimaList.java b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/src/edu/kit/informatik/MinimaList.java new file mode 100644 index 0000000..806a787 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment4B_Bank/src/edu/kit/informatik/MinimaList.java @@ -0,0 +1,199 @@ +package edu.kit.informatik; + +/** + * The Class MinimaList. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class MinimaList { + + /** The first container that stores the first element of the list. */ + private Container firstContainer; + + /** The last container that stores the last element of the list. */ + private Container lastContainer; + /** The number of elements of the list. */ + private int size; + + /** + * Instantiates a new minima list. + */ + public MinimaList() { + size = 0; + firstContainer = null; + lastContainer = null; + } + + /** + * Adds an element at the end of the list. + * + * @param account + * the account + */ + public void add(Account account) { + if (firstContainer == null) { + this.firstContainer = new Container(account); + this.lastContainer = this.firstContainer; + } else { + Container tmp = new Container(account); + this.lastContainer.setNext(tmp); + this.lastContainer = tmp; + } + this.size++; + } + + /** + * Gets the index of an element. + * + * @param account + * the account + * @return the index + */ + public int getIndex(Account account) { + int pos = -1; + int i = 0; + Container pointer = firstContainer; + while (pointer != null) { + if (pointer.getAccount().equals(account)) { + return i; + } + pointer = pointer.getNext(); + i++; + } + return pos; + } + + /** + * Adds an element to the list at the given index + * + * @param account + * the account + * @param index + * the index + */ + public void add(Account account, int index) { + if (index >= size || index < 0) { + this.add(account); + } else if (index == 0) { + Container tmpContainer = new Container(account); + tmpContainer.setNext(firstContainer); + firstContainer = tmpContainer; + this.size++; + } else { + Container pointer = getContainer(index - 1); + Container tmpContainer = new Container(account); + tmpContainer.setNext(pointer.getNext()); + pointer.setNext(tmpContainer); + this.size++; + } + } + + /** + * Removes the element at the index from the list. + * + * @param index + * the index + * @return true, if successful + */ + public boolean remove(int index) { + if (index >= size || index < 0) { + return false; + } else if (index == 0) { + firstContainer = firstContainer.getNext(); + this.size--; + return true; + } else if (index == size - 1) { + lastContainer = getContainer(index - 1); + lastContainer.setNext(null); + this.size--; + return true; + } else { + + this.size--; + return true; + } + } + + /** + * Gets the first element of the list. + * + * @return the first + */ + public Account getFirst() { + return firstContainer.getAccount(); + } + + /** + * Gets the last element of the list. + * + * @return the last + */ + public Account getLast() { + return lastContainer.getAccount(); + } + + private Container getContainer(int index) { + if (index < 0 || index >= size) { + return null; + } + + Container pointer = firstContainer; + int i = 0; + while (i < index) { + pointer = pointer.getNext(); + i++; + } + return pointer; + } + + /** + * Gets the account at the index. + * + * @param index + * the index + * @return the account + */ + public Account get(int index) { + if (index < 0 || index >= size) { + return null; + } + return this.getContainer(index).getAccount(); + } + + /** + * Checks if element is part of the list. + * + * @param account + * the account + * @return true, if element is part of list + */ + public boolean contains(Account account) { + Container pointer = firstContainer; + while (pointer != null) { + if (pointer.getAccount().equals(account)) { + return true; + } + pointer = pointer.getNext(); + } + return false; + } + + /** + * @return the size of the list + */ + public int size() { + return size; + } + + @Override + public String toString() { + String ret = ""; + Container pointer = firstContainer; + while (pointer != null) { + ret += "\t" + pointer.getAccount() + "\n"; + pointer = pointer.getNext(); + } + return "\t" + ret.trim(); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.checkstyle b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.checkstyle new file mode 100644 index 0000000..b34102d --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.checkstyle @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.classpath b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.project b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.project new file mode 100644 index 0000000..0344e71 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.project @@ -0,0 +1,17 @@ + + + Assignment5A_ConnectFour + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.settings/org.eclipse.jdt.core.prefs b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/2016-03-19_12-17-51.zip b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/2016-03-19_12-17-51.zip new file mode 100644 index 0000000000000000000000000000000000000000..170b61151345c2094de7388e5403af07c0518ced GIT binary patch literal 15031 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 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/Assignment5A_ConnectFour.iml b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/Assignment5A_ConnectFour.iml new file mode 100644 index 0000000..1570ffe --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/Assignment5A_ConnectFour.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/ConnectFourBoard.class b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/ConnectFourBoard.class new file mode 100644 index 0000000000000000000000000000000000000000..ec2e41926ba953236b46be96d9aa852bf8d21e0b GIT binary patch literal 4407 zcmbW4TW}NS701tNR~L)55e7kG$zg3Eu|x#DQXojx+}SSECbv~5(`MQt(8hk<(2f;mCp2qBoycjB+izyn+^A~l z-1i10ds@#6w5$KW;J6=Z>i9d$NNhDTb5x!4jtSb+mU$r!#ifRH<7gNvJu6ca?GY$6 zt>#lkR?9lJoC-40=N}_YyO`1DY#scY)47~BrRI)m_OzKzs<~WhbuL700<|7iXEg=K zDjJ_#r*vhrI`33-3e(Ihs--E0X)D-jUciblHB&p2`ZSsQwOy(sRJ@~60SNjrP(9qjAo>bq;t4SGaaHs0#%jdO%`%F z-q$Ttl6qhfP{3(=bajdujF@x%+9dot(2!0i8&C1lUYQQ_(oI-8gSDfYW$W;U+$Ek( z%k%=zM%;t?OiRCP8n)_4>6hs!Pi|c&Wk{czW-+d2xL&vbTq9GkEFg2;n~xuoX_yce z6?%Taa3T_s0o@wm^Zp49R|NB>i$Y!HH?~rz zUy|v|?1BMA9GJQ0m&KkFY1Oc6Sj(73*45Y<4B;wzbuE|mG);yG&AOy%T3OvtZLQ>E zrcrk5aCh5uol2lB4UOwvEkx4-aswfVww2t?-O^pqb6L#_Q;v)v&8|sW?h2VqniD8^ zp3~F7q(D!Xd$XI^_CH2ym~{5FJQae3E8AR>oSarIHDha*Od6f%@JN2j{);kQqRXJE z&dnk41Zpamy&6gDEcT4r&nmpkLMB7>6=abxoB36lzD6)ZLL9 zKeDD@&1u#-3rW`bj~tBuya#z1-zU)fHKeor7ZOYKWFpdZn_`JbFcSO~)%tGJQwixd zDdK@e+97r>QY7&{Jr!$3&p676xvI>P!^l+JPf0hYg7?wIk-rHNb5m1GTs)eJ&}mVYL}?%I@P(Y)OFhC zw)(D9rQ14!orziyeK+Br6BHLoVxlERL(biFJR*I>K&lGv5TMIOg!q(mKoE={q@F(9e$}J;8-7z2FBNJ2#mWM0v-N^ zfDjF^^-)P02bgsL_8`=u003A3kcXi*l(qoi62j&(OnM1My^QO>OcS_%hBAbd!F$}` z;TB&rLpfK3a?ZPE5pFa32`KG=cM@ZMxSIWLKuA;3Fs>9 z`VPpwMu+ITq|*1`Sg(P@>t*!ji}dD;^yZ87=8N<$(-%E@t)5HmL->w4^g3}%oVM1| zdj@Xi(BlTv!)xe2(p!VU@6cQCb?fP^f$q{>cZ&<|ngZ)qcagfjCX z9t*#7q-}N2@ud0iBydYE%k|9Lz~-DO%07f0Y+j{no?}&6?&cQ^(I3l9sVp-^Bw+&< zjDN~$E~9m){pGVyQ;`GR$IOi94Dm#aYYz&sQ{XdRCFiG0dx?un|L^eff8clMKOG_N z#m9>mA1~&CxR(c*49wUJk$4|^fQ)T=Os$dPtebSVmI`=PZEQ487gjrLBSyKiRFOV(b NApx?!2^l`R@^6>^FP8uS literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/ConnectFourGame.class b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/ConnectFourGame.class new file mode 100644 index 0000000000000000000000000000000000000000..c040822391c72c2ee6338b8932161e3f434e8271 GIT binary patch literal 718 zcmaix-%b-j6vn^PU0GPR6tGD7qfkU`d%@m#hw*|Y5R;;THVt|=ZHGFvJ4=RL6CZ^q z@Y)2yNWug7GQ5FurfHNw6K>9&Gjryb?|kR?pI=u1UgMRA3}H=n(y*tJQ0c?iL?ThW zuo`PE+sSsEnjH~I4=!Q)NPH1tU+8Z5p>@Qsgh1)zG}#qebfqB_Ya>waZnbO@#@;Bc zlD7n>RBjU7YTS`N983oAFzz8sSb2crBf#VYSW$pS7$f9rO3U|Y)RLwlT75~Ft;KE8 zZwjMqJ-l?2&+3G*K1$`Cfmx_yQte|N3myuDr4gDM(nLy&et<>F%bL{WQQctPp&LSK}xWxSUkcUmNjWs@Qk-?i1hE z6VdMNisRvYex29VmfOlYkiRq0hSh^2yXNrj*&%BkXBp1fc#acXZSgDdIbFGcU%5o^ z@d8snko!L9oZ&b%_&)=e2{}CG2o^f{!&ROu9_SzMV890o-;k}GA@>tc&arH>bF7~J my|!EjmOINtV1cVeWci%O@-22@$X@3j7a7NH{{`n6yu1PaWuU|W literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/InputManager.class b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/InputManager.class new file mode 100644 index 0000000000000000000000000000000000000000..3367262516cfa6e46d65963e1c9cd3d6ba445c13 GIT binary patch literal 3222 zcma)8U2qfE75*-gSs@l23lrl&k~M#pWD7ZNXs7@Kc5I>q+r&0bZ1cC4*7kzDD|T1> zg*I(MXqvcfO4Bw@(rG3yerP%^oggSo$WzmqJoKS2?Mz?VnLhQoGo9(AO~1R6ECobb zX=d-a_nv$1Ip6uapZ@389RQExrwUdGJZfYM$9dBT zASm#_DgCUT%<0x_a(Mcbk?{o9n$}r8XJ-5C`FY*S3PcW7nMOUwv}Sh;G)&vN!_94n z>Ri)jTNY&v*afFovXOtaW9ZonWA?KJlXr+oft7nq%k+8#0@2vGK(Now8es&`sA4tL z5Sj$^e#fz$l$I`Oq-9Df?a<1)xti`6DXsksg|>HU?K7s4%W8WZ`&>`wo{XI<%v(Kj zJx`^525*jgrll=!u7bci6%AOaV7$g z2uWXdr!V_472WuXKxj^P=cJc?m#0J6DWH@+B6WB|#V&k}fnl5}=s5!P1$#^3xjQx) z0&xjSmxr*Iy7^8IVIN7~I0Xj;y6Qk-oX;3}&$KN!dBimwAL;(eS_pjto1|3DIG< zQNFNc2b2K4C z3sj8bIiB+Dk~DcmU#y<@CIlY#vAjPP&6tw%jtVqK>&iGTkgTLz1ti-ts(_}n%626i zrEMow=$NhqM%tpQqiGrB&B&@SFhc_vNBvgTpxG=PlX7cLg(H7BU&bbrqZy zXsM!Gg0i<@=CXzp!g+F*i&hu~^vj@mLB%BrRG97>qzD#Yx%UkfFXEdFcRimsWSvda z%dUIeQ@(1q6fqUT%L1|Tg(Z}YtY-NYDC)*E-L2xyc^I$Y1qD|GHdif3=W@oZo;%>o z7Um7hTh53uUX{$>5!m(R$y63FXn1pWwolLHmPIIdT_9S$>VV_u7t(ay`Qd^$Jkx6z ztgKtZ{atpgDtD=n4*0!mnThz8y8ykfJM_`IIt7SeR}+`*h9xIngXEX%!Sd2wuQVH# zT2Zfl@K9UL4Rv)V&(<2A`vFh3)c?5u{*d$Vno&>BoF3Hke!Efd2A52Cq_+QtN7q8=G2yZ;1dRvNw{7$X>^Bh3s_x4tqLO@~z?Q2ss7Ejqw{;8;?A2 z9g+BLG*8^XgV)g#4_rsgw>o}@)$tDzxrw%G9g*!tL<*Ny?vS zOZX!vd;Cd!37>M(<4@8{_$YB_5o>N^|3sws2A=#l9;DGrVol;s!_Ug=1OEDlXh{UR zZ{n#$P=1RTx``1QvxL7^MLb_&En?E&`)%S*up;MJWwRuwh!e!4rHITTk|k<(5vwDo z{DTXnm7H9${gsQ6GydpATz@*(c2@fy0sadDirQH~d};E$JCo#gyI7M=iO04O5C?-qJ~ zD}!wtqobV?Iw+%)A)3H;bn)Mfx8$Q2JF$c(@BtqYzeEbxu^S(w2YJ zF$IfqeC;#&s$KjHd%33aw^nJ~xK?e9HYv*I#51_eT|TgXO2I-}!7ChJ-9TO6rY)re hPjZx**}yny{eZ*@-$BwKu%A{_w_!PT-|@NL{V#%WP8I+F literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/Main.class b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..05376f560a26bd43379833c3320b2fb78d5a10f3 GIT binary patch literal 534 zcmZ{gUrWMJ7{;HY)4AopGBvBK=t2t`QFlf+f)T8`FofvpsB0Z{8?3GG)lEV{AD|Bv zJsW}$#^8N<&N=VzdG>z)e0%{o$G(n?K+~DT)=Wi~@}GjxlaZQPH&XdJG=b_=zDjE@ zeb>4hO`UNhkiSsAiY^7R?aoj@>je|XL>5L7IphT@w(_0Z*c&*C`MveWLoX;C_$aQCoq^scRht bG&tN$VT}}C;z^UR0@LiEmFC!`&S38s3$SmQ literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/Terminal.class b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/Terminal.class new file mode 100644 index 0000000000000000000000000000000000000000..b390b8b450dcad0d22e436cc97ad372e7073502e GIT binary patch literal 1096 zcmaJ}0XF5(PlpVzlmllarsw@2_!br z@BS#`eba%CN^CN1=iYPAJNKOT^VhfU0G6?)p^xFBXhqh63@z#H_<_qqd0=gcz?B|% zG-Mct_W65mIo#W|Hn#VL9WwMuk72SFH>7VpjdpfKAX=M(w?t53(5tp1JsGYs^q0yF zhRid+B{W=M7(ahVL!M#kw72fHqp%(Zg1cSL910lLF!YC-`lrKCxF!ZrWEeYBlNzoV zFfnRk4C4&hY9eW}bS}2sFkoO(p{E!|dZ1*jaw7+_OP!ZxDAc4U-bC)U2)6jPBN&P` z-{ww(2U5MqMFah~q6l@eAl#FO3^TR=_)XU3+JW>!MNT^<8e;Fs4(aVyl!^jwnz)7A zlYdduNDW)p%{LMj6N2sh@AQTm&sM0(394xKK;y_kc7NI2fnmWpHe z2-C;7|M^u1i%k-={39-BiQ)l4)GmXuA**pkNA-+YCsB{^m=G0uXycb^h7m&T`{Xx6 CjO;!D literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/exceptions/IllegalMethodCallException.class b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/bin/edu/kit/informatik/exceptions/IllegalMethodCallException.class new file mode 100644 index 0000000000000000000000000000000000000000..5ba5f31baaeacf8ce4dfd08c23e63b30258a289e GIT binary patch literal 436 zcmbV|y-ve06orpNNFWpnK`^i&Hhv_$Fd&M$R3IS*28z17iAhZzyGk6yYcU})@Blm% z;wJnJhy`Ei%HO@m_PKt2dwv0MggAu9a4fT$PnF}!+}g4bPEEOdNaf5aYbt)BwakUS zlx||PfzbNws~5s&*t!$j<(O4}LcI)qQj#XtUPlSAmN-eY|6?G))?=6snEhYBi3UB?Pk^{qX1i= data[0].length) { + throw new IllegalArgumentException( + "The column is outside of the board. It has to be a number from 0 to " + (WIDTH - 1)); + } + + final int row = (HEIGHT - 1) - getTokenInColumn(column); + + if (row < 0) { + throw new IllegalArgumentException("column is full"); + } + + char currentPlayer; + if (isFirstPlayersTurn) { + currentPlayer = FIRST_PLAYER; + } else { + currentPlayer = SECOND_PLAYER; + } + data[row][column] = currentPlayer; + + // Check if someone has won + + if (hasWonDiagonalTopLeft(row, column, currentPlayer) || haskWonVertically(row, column, currentPlayer) + || hasWonHorizontal(row, column, currentPlayer) || hasWonDiagonalTopRight(row, column, currentPlayer)) { + playerWon = currentPlayer; + return; + } + isFirstPlayersTurn = !isFirstPlayersTurn; + } + + private boolean haskWonVertically(final int row, final int column, final char currentPlayer) { + // Check below the token + int below = 0; + for (int i = 1; i <= 3; i++) { + if (isOnBoard(row + i, column) && data[row + i][column] == currentPlayer) { + below = i; + } else { + break; + } + } + // return true if more than four tokens are aligned vertically + return ((1 + below) >= 4); + } + + private boolean hasWonHorizontal(final int row, final int column, final char currentPlayer) { + // Check horizontal + int horizontalLeft = 0; + for (int i = 1; i <= 3; i++) { + if (isOnBoard(row, column - i) && data[row][column - i] == currentPlayer) { + horizontalLeft = i; + } else { + break; + } + } + int horizontalRight = 0; + for (int i = 1; i <= 3; i++) { + if (isOnBoard(row, column + i) && data[row][column + i] == currentPlayer) { + horizontalRight = i; + } else { + break; + } + } + // return true if more than four tokens are aligned horizontally + return ((horizontalLeft + 1 + horizontalRight) >= 4); + } + + private boolean hasWonDiagonalTopRight(final int row, final int column, final char currentPlayer) { + // Check diagonally topRight to bottomLeft + int topRight = 0; + for (int i = 1; i <= 3; i++) { + if (isOnBoard(row - i, column + i) && data[row - i][column + i] == currentPlayer) { + topRight = i; + } else { + break; + } + } + int bottomLeft = 0; + for (int i = 1; i <= 3; i++) { + if (isOnBoard(row + i, column - i) && data[row + i][column - i] == currentPlayer) { + bottomLeft = i; + } else { + break; + } + } + // return true if more than four tokens are aligned diagonally + return (topRight + 1 + bottomLeft >= 4); + } + + private boolean hasWonDiagonalTopLeft(final int row, final int column, final char currentPlayer) { + // Check diagonally topLeft to bottomRight + int topLeft = 0; + for (int i = 1; i <= 3; i++) { + if (isOnBoard(row - i, column - i) && data[row - i][column - i] == currentPlayer) { + topLeft = i; + } else { + break; + } + } + int bottomRight = 0; + for (int i = 1; i <= 3; i++) { + if (isOnBoard(row + i, column + i) && data[row + i][column + i] == currentPlayer) { + bottomRight = i; + } else { + break; + } + } + // return true if more than four tokens are aligned diagonally + return (bottomRight + 1 + topLeft >= 4); + } + + private int getTokenInColumn(final int column) { + for (int i = 0; i < data[column].length; i++) { + // Count elements starting from the bottom of the field + if (data[(HEIGHT - 1) - i][column] == '-') { + return i; + } + } + return HEIGHT; + } + + /** + * Checks for if game has ended. + * + * @return true, if has ended + */ + public boolean hasEnded() { + if (playerWon == FIRST_PLAYER || playerWon == SECOND_PLAYER) { + return true; + } else { + return isFull(); + } + } + + /** + * Checks if the board is filled completely. + * + * @return true, if is full + */ + private boolean isFull() { + for (int i = 0; i < WIDTH; i++) { + if (getTokenInColumn(i) < HEIGHT) { + return false; + } + } + return true; + } + + /** + * Checks if first player has won. + * + * @return true, if first player has won + */ + public boolean hasFirstPlayerWon() { + return (playerWon == FIRST_PLAYER); + } + + /** + * Checks if second player has won. + * + * @return true, if seceond player has won + */ + public boolean hasSecondPlayerWon() { + return (playerWon == SECOND_PLAYER); + } + + /** + * Gets one field/cell of the board. + * + * @param row + * the row or y-coordinate of the field + * @param column + * the column or x-coordinate of the field + * @return the field's value + */ + public char getField(final int row, final int column) { + if (!isOnBoard(row, column)) { + throw new IllegalArgumentException("Coordinates are not on the board."); + } + return data[row][column]; + } + + @Override + public String toString() { + String out = ""; + for (int y = 0; y < HEIGHT; y++) { + for (int x = 0; x < WIDTH; x++) { + out += Character.toString(data[y][x]); + } + out += "\n"; + } + + return out.trim(); + } + + /** + * Checks if coordinates are on board. + * + * @param row + * the row or y-coordinate + * @param column + * the column or x-coordinate + * @return true, if is on board + */ + public boolean isOnBoard(final int row, final int column) { + return !(row < 0 || row >= HEIGHT || column < 0 || column >= WIDTH); + + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/ConnectFourGame.java b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/ConnectFourGame.java new file mode 100644 index 0000000..b99b0ad --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/ConnectFourGame.java @@ -0,0 +1,29 @@ +package edu.kit.informatik; + +/** + * The Class ConnectFourGame. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class ConnectFourGame { + + /** The input manager. */ + private final InputManager inputManager; + + /** + * Instantiates a new connect four game. + */ + public ConnectFourGame() { + inputManager = new InputManager(); + } + + /** + * Runs the game. + */ + public void run() { + while (!inputManager.isReadyToQuit()) { + inputManager.runCommand(Terminal.readLine()); + } + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/InputManager.java b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/InputManager.java new file mode 100644 index 0000000..63d944e --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/InputManager.java @@ -0,0 +1,112 @@ +package edu.kit.informatik; + +import edu.kit.informatik.exceptions.IllegalMethodCallException; +import edu.kit.informatik.exceptions.UserInputException; + +/** + * The Class InputManager. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class InputManager { + private final String invalidCommand; + private final ConnectFourBoard board; + /** The boolean ready to quit used to store if game should end. */ + private boolean readyToQuit; + + /** + * Instantiates a new input manager. + */ + public InputManager() { + invalidCommand = "Error: Invalid command. Commands are: 'quit', " + + "'field ,', 'print', 'throwin '"; + board = new ConnectFourBoard(); + readyToQuit = false; + } + + /** + * Converts commands to actions that manipulates the Board. + * + * @param command + * the command as string + */ + public void runCommand(final String command) { + if (command == null) { + Terminal.printLine(invalidCommand); + return; + } + final String[] arr = command.split("[\\s]"); + + String[] parameters; + try { + parameters = arr[1].split("[\\,]"); + } catch (final ArrayIndexOutOfBoundsException e) { + parameters = new String[0]; + } + + if (arr != null && arr[0] != null) { + try { + switch (arr[0]) { + case "quit": + if (parameters.length != 0) { + throw new UserInputException("quit expects zero parameters"); + } + readyToQuit = true; + break; + case "field": + if (parameters.length != 2) { + throw new UserInputException("field expects two parameters: field ,"); + } + Terminal.printLine(Character.toString( + board.getField(Integer.parseInt(parameters[0]), Integer.parseInt(parameters[1])))); + break; + case "print": + if (parameters.length != 0) { + throw new UserInputException("print expects zero parameters"); + } + Terminal.printLine(board.toString()); + break; + case "throwin": + if (parameters.length != 1) { + throw new UserInputException("throwin expects one parameter: throwin "); + } + + board.throwIn(Integer.parseInt(parameters[0])); + + if (board.hasEnded()) { + if (board.hasFirstPlayerWon()) { + Terminal.printLine("P0 wins"); + } else if (board.hasSecondPlayerWon()) { + Terminal.printLine("P1 wins"); + } else { + Terminal.printLine("draw"); + } + } else { + Terminal.printLine("success"); + } + break; + default: + throw new UserInputException(invalidCommand); + } + } catch (final UserInputException e) { + Terminal.printLine("Error: " + e.getMessage()); + } catch (final NumberFormatException e) { + Terminal.printLine("Error: expected number(s) as parameter(s)"); + } catch (final IllegalArgumentException e) { + Terminal.printLine("Error: " + e.getMessage()); + } catch (final IllegalMethodCallException e) { + Terminal.printLine("Error: " + e.getMessage()); + } + } + } + + /** + * Checks if is program ready to quit. + * + * @return true, if is ready to quit + */ + public boolean isReadyToQuit() { + return readyToQuit; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/Main.java b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/Main.java new file mode 100644 index 0000000..35f3fa8 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/Main.java @@ -0,0 +1,25 @@ +package edu.kit.informatik; + +/** + * The Class Main. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public final class Main { + + private Main() { + } + + /** + * The main method. + * + * @param args + * the arguments + */ + public static void main(final String[] args) { + final ConnectFourGame game = new ConnectFourGame(); + game.run(); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/Terminal.java b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/Terminal.java new file mode 100644 index 0000000..947998d --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/Terminal.java @@ -0,0 +1,64 @@ +package edu.kit.informatik; + + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +/** + * This class provides some simple methods for input/output from and to a terminal. + * + * Never modify this class, never upload it to Praktomat. This is only for your local use. If an assignment tells you to + * use this class for input and output never use System.out or System.in in the same assignment. + * + * @author ITI, VeriAlg Group + * @author IPD, SDQ Group + * @version 4 + */ +public final class Terminal { + + /** + * BufferedReader for reading from standard input line-by-line. + */ + private static BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + + /** + * Private constructor to avoid object generation. + */ + private Terminal() { + } + + /** + * Print a String to the standard output. + * + * The String out must not be null. + * + * @param out + * The string to be printed. + */ + public static void printLine(String out) { + System.out.println(out); + } + + /** + * Reads a line from standard input. + * + * Returns null at the end of the standard input. + * + * Use Ctrl+D to indicate the end of the standard input. + * + * @return The next line from the standard input or null. + */ + public static String readLine() { + try { + return in.readLine(); + } catch (IOException e) { + /* + * rethrow unchecked (!) exception to prevent students from being forced to use Exceptions before they have + * been introduced in the lecture. + */ + throw new RuntimeException(e); + } + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/exceptions/IllegalMethodCallException.java b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/exceptions/IllegalMethodCallException.java new file mode 100644 index 0000000..0a249c0 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/exceptions/IllegalMethodCallException.java @@ -0,0 +1,21 @@ +package edu.kit.informatik.exceptions; + +/** + * The Class IllegalMethodCallException. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class IllegalMethodCallException extends RuntimeException { + + /** + * Instantiates a new illegal method call exception. + * + * @param string + * the string + */ + public IllegalMethodCallException(final String string) { + super(string); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/exceptions/UserInputException.java b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/exceptions/UserInputException.java new file mode 100644 index 0000000..06b1ca3 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5A_ConnectFour/src/edu/kit/informatik/exceptions/UserInputException.java @@ -0,0 +1,21 @@ +package edu.kit.informatik.exceptions; + +/** + * The Class UserInputException. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class UserInputException extends Exception { + + /** + * Instantiates a new user input exception. + * + * @param string + * the string + */ + public UserInputException(final String string) { + super(string); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.checkstyle b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.checkstyle new file mode 100644 index 0000000..b34102d --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.checkstyle @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.classpath b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.project b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.project new file mode 100644 index 0000000..279d085 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.project @@ -0,0 +1,17 @@ + + + Assignment5B_Bank + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.settings/org.eclipse.jdt.core.prefs b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/2016-03-19_12-17-51.zip b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/2016-03-19_12-17-51.zip new file mode 100644 index 0000000000000000000000000000000000000000..4727f3ed976cebd26348f7e00344c841b0552e0a GIT binary patch literal 24620 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 + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/Account.class b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/Account.class new file mode 100644 index 0000000000000000000000000000000000000000..831765c7bb23b90dc2e1b1914637e75ed69109de GIT binary patch literal 1690 zcmZ`&ZF3q`6n-uXfzTysX-We`yQ#GW(gs`WOQnrXYOBmdJ7YS`q<--Nw`3F8MY5#+ z4L>^egFhf2bjBo(ozeQ$AEiEb?A|_B!?O}Dt z4XUp9%pde*;OmvfkdfZFE<3@IwK7W85`4>5wJ?-MiOTQE{|a9-LC4$?&_d3 z>?tpJ_-#w|1K0Ob$O_zvxH(=3?ntlg978)>a!)yd?=+Ru_jldErR#cu>Zrl)avHOk z)36r=E|k_scpJgM^*Xh3V;TY%Z6qcRgi>ej=M)4wzl{Te91b z16TXe%XqNm?g}id|G%;|intNT*3Rd$A62EEyTMj_AfHpEQoa0?>dBto0tIcWa2yk9 zq;QQqP0;BLcZ2bHxv-83B9V?4M3uRsGYqVqY$+Xj$BRd4|`uy<+2I+}G;$`^swz+?cfM|Im#1)O3qA-Qoc^I0yfd@OS1U6S;*>hqLtML#%D|)6`v_)Oe4+zGxWY=rp~`w zIf7mM0m+3I$h^etX7=0>&i_#<9w1j)IKX_xIzZuPW?ER_|C{Uz6cMLq;|=6+iJrsX zBHqSjz5(s9GjlJ|BSy$XgqG$OV+Qz@#QtFmD+wVO)1Sg38yI?uEn-Y6R(?UD*e1W? z3nZ-l%4X=3Qhc9b!zoKPzzt-u%&s?)r?#3$&a^n;QN&wB7a@8au?$yV{6N{H778hPG{%T_Jb;@gGYLKViOn&K4i0^TJ=@kSA&_n!) zM10>G?Zu3u!iHuS~a0J$EK*9==Uhh`t)Csg*I^j literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/AccountHolder.class b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/AccountHolder.class new file mode 100644 index 0000000000000000000000000000000000000000..986ea64ee30c49a19622b142d17dcd11e3d3ad39 GIT binary patch literal 788 zcmah`T~8W86g`(k5Znr`_)#qt`vlv@O&Z@cCXI>Fgs6!P@53_C(Ph^xLw{8tG?AG2 z&>!HBGTxoVszB10nS1ZtbI(0z9-kim0@%fN9vMPSc81=S(w+*tQQQ|=U3ouzKN^Pm zI0`y4&Lc}GUy9$t3q;uS&f1sK*Mve>#RGjR`jX%@U*9iutis+NVLlKq@1<)Q527%X z!RfHymN9`&2)TU~Dt$nx*QfE*m6Jw`kUfk#vIq-{Hi{?_ta_tW0Ab0-9CAstY$KmW zD>mj)Ae5RalqvI1(GJYQkuQRlh*gr0i&_0k4G3SF|FeX}**&R`UJaj-7{+X#+Z9iei|^$b?|T;*9nl{-K4j4dpphGphj6&xzP`=?HrOKIN!;H4mhVf{^r4 O{!B3M%>-|muG%vWla1s6 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/Bank.class b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..a0d2d90a853db8c020ff9a924112cd9848f9dbfc GIT binary patch literal 5144 zcmcgvTW}NS75>(iELp6%SQs!@VJ`6vI|(KR3{HXx!NwPY!C(@auB8PQ%e#)W29vg= zm$XT9ZPKJIq%9uAR+24~v=1F% zwfpb+&pF?BzH|2H!+*c~8vrf15<-cBg?eJFdDyU<4fC*-8qsWHxOtmq4u=p>F!z{t zTx(8h=8@*Up<{a7RuCTI%ML4{D^NNW1QMF9DOlZI#7)vj+s!?OX^d#yylqoZ-ftW+ zHG3?@-EV!4En8-^*{vC=qHphw$E`8b-f1Nhda7;4{kgPm<)y9N`JZenHZr8A z_G&{((p1@P#kJ&smNMkoTMXDojkJR5V(_GRq&lP}68qA6N$%`DwUn%1^^vsT&YZYE{&s zo~#mtf~q1rr3mGRja1t1)kYkereUO3lUnxuoKZcMwoFq`y6ked7LU6sVX2A{S%8|1 zMwpDZrXX0`*;#jxi}#Jk^-<>bMn*I<;qMj9ttvKR zlY)6ibbE&Y>#$5)qa0YmHMMocGIV(M&DtVp!`2YCC|Fq}i$Y@+?YNsNVX*B^2hV4S z9EDyrq<;6R*e0goY+fRO?JDlW4yu!jyQebCUg(saJ5_Yb&T<;{>v79Wgs@A&;v&g; zyhhN49??s$$1v5xJm_=183 zbuq>>Ejy;!Zfu#FP2%l~;*Aq?UB0NZ@n-ZYJL4)6pwz>*<=QJKESl#f!r8uGK?U_K zlhD^Y3y{^*s?VV&q9`0aCr7j6=grUFUUaJZbD`+l!hV}E#D6)tEBb9MKHQ^?dZV)< zrH@$0b-$5ipdXBI1dpnC1SUtY$5YzZWE5!?Hpbi@=rj}h_!PZlhZkiZ#R(PT;;77x z#E-=&N1=k{GeVM4$pI5IT-T4^((wPp9osFTk6LNN7IGd_@l||{V3zZcJ#LoikBn(a9(ziyp<{9|%6$R+L?ZpxSSqgXFy!b|E<$M% zE3Bl3OL^)oL8Y9}cvmS0F0Ph4s}WT2eil?-E4Z?c)+PL{s-M8@`XyH|uYMBI!3k7d z!GgD)EsJ=qM1a?&ye^}o<(Q8ZsOHK7cQY1a37_c33CiNqc9|FA6w?Uu-Rem!A8cq` zHi6jYK>cMbm_*HBb-)WZfz=t@mWw#sfzilB*I^Z!oMUj-}_Y z(qFs(Dx#C<8l?TaB@^gowt)+L+t<79`ls(tqGfOrdj>1_PGDeZ27{G{GI%(Hp$Q!R ztrJ*itVe{`Ev&~@)}Wmv-p$YcJ$&lm*<&kq@UYRv>%;sNdh6X3eZX-XAvggXcVL## z(}Oq)gMg25RjTT)409#P6&~GhU{(licL?+mn7m5eZxFr|rLTTT2G(ip^l0cgk4=p( z4ZQ?69dzohfVW;1$l&;C1Opeip|7X$`llb1UZBeWna@Iffa&bPT=cWU_EIDJScUzB zdH~yTkcXyz^x#llZTozveIC@gq(uOhaCZ|<;!y%yPu+cqL;w6w1%*?lKUcHd={JTKeGHxQ$eKOquD&T$^LKM=lP+myrBkcVx0AD=Dg z+&@l3_YO0;M0A&##}y*WF!x_mV3*K}ck|F~^3iSb+8|60+>VVRHVvJ;bJ5AWBIs&- zbUcW8=ww*SwAz(JxAm6jIHjrruOON?s$Rc}u8Y}8^`3H(?%YYW*7-EPN4(dF_d4;u z&+p0y{C0fE(foUk;%l5#A32!aFVHR@^DZBAhmZMA4|4;p3a3<)s_<0IW3$srj`X5!3*i^^(O zU8{CmYfCG519xlMN>{C#U|G?&Tcva_TDxs`b?sW)+Irb`>)Ni0vhVkwGbhPp5c=#E z9?tE*eed_Z-{t>@qaS|rFn~qs^Z-f}PP01t>aI-Y>XNA~=}eEAOI}&G!c1Lxk=2>Z z<}y12@G6vVHMf~{-Daw@Zq4ScR(noiOvW-hc3zUcurJ9swL!tRnZvRQvs;Ty+0Du7 z+LEbckJ-w{MupOglbtCu*O##r&OU`9O~v|%q>also4<*3=awmWs%zFMc$?E5RtO%H z85jej6bj=F_}~v#FdvwNMH zNy@wP(VOc^QU^0mBy3)-6xoyMONCH{(*l^TP*FstORP*!GG%rfh+>99P*g5rC`_!b zX&ti3#kou})!7)LxU&q*#vFxly_s~omCZJ%dwR@NheD)!^njXm0nAgFTsYH;zGQcY zl?kFoA+R!&NoSTuLzs(NQRbWw5~vGczQW=nGFv;^t=?QRoyyj=q_&ye$qq+^mH7q( z3j|H5)5^6`LbH>Gnu~e^r<0WMo4vi32%IP;@F)z9sKh=O4F=B8ddj73jfi&7G_X_@ zQrb%$`%;r;dwaSsl}l-Y$~5O2xB#uxr*&1I z*-c80Ab{<~Tt0}^M3k|5(%UR&jvzixvzr|q;?F@`WWV%fg%FoeT(-D9>1t)|=~T{4 zrn2tGOBEJ6!=u)YUWSWoG@Y`dy=KPjv2qsKly7d5H3ZHwVO4Di8*y0xo9L}WoNP(u ztWGOq;Bx#K6~I}t7QYoBa(tksMZCZ?uo>;P;9?dAgzA=>bwN;VC2KASqElfbWe`xV zh+EQqnIRdo!-U+D%w$(n^kt1r-DWoDJoZ|dY&w;)y6vdI#$jL-k_NVdD~l%Aavg=5 zBAggai54wrkHRJnbad*61Hht6iS#j(2J{Vi!QhML%vkE z*bsGq4TYUCz1d`naxGXs5zO1&li3!iD`#ymSE9 zjNsIYbh_Iz8GaRZ8TfNtH;l(4McNR;)%c_YzP}I_ZKzo%9~y$VN#XoL$8#kup!=wP zO|EGiV~Hd;8~7A%p(O0?2+=G~ZL^oe-iX^okal@$kWi_kjbx%BZ*ly9R(0KtmYh%| z_RyE|reOkaVTcr-Yj(3KPjre?AS-QW+HA3958_UaXM$LPy$0^W-7E#Nz1>n4%qzn9 znj)eEaWAK63}PQw-k!{Lb!5!#LEKO8*=(}xXt#p+8>-acp#S!w#3LYwpA+G4cNVg$dpT?ZkMJlnRJiC6W8VCn?yVvQyZId>B0`V^swe(ARjaE z03N4i#s6(r98_50sNa<*SK#~k_7h_j4L)JueteU>5GQBS`a9NOVoP`0tF6q)m?Et* z^00wrI6H`^m3pz=u4SUBbS}zZo$823vwgk2=}gY*h&qjoi1TFZym)lp$z_vXryfM4 z_sKn3di@D(B-8#e%#!|p1ka`WDaUc?JS;hlvb`HHM&})8s05zqP`+dl8gL9KVNJUp zF8!F zYDRTX5eH=DC?$w&3jWE!KTBN|%=0FQ=Nahq1Y)14YyhG|^O@axqeP~2+rt7cj28_2 z5dXsZjVdfCV)A7f%PO^5VQR4&RV3G$^j{798(!p2ESX&=b+(ix1@q;LB9?jouCP4C z9$6wJA{$~d741%Mw=(T!mUvV2A~VHOt$QckNf&j|_AVA}?X20dQ8RJ1c;rtF{0Cm4 z>XWRAxP3F7`p3>vTImDVc?f|jk=^)wWK<%9R=d&)xn7I zYw|)XwOT6uH)ON$ra~pFx>30=za7Et*+VF z9Kvy>0yH@$4CQg@q!n+d66MiWZWU8C(^N99xrUX=apg0VUz&r-Y^#-{o!BO3rX*rI zrv8$R&78WO|C$4;l(5t|sr#;zr*bLAUXiD;a-9cmH3)8_zgx5kjFQl|wJ_rEhv+SyQ1#eHLd zi=Auc%)(9ZFuUC>)6O>391%|XueNs3(4`KkMZ8(3ARJXGl;at|$esSq-u!NV*~w@5 zsAG$uisxg`$k3r9Q6X=SsQFT=YI7}+gvwGebTKzA?bfQK97v28`{WN8<_ncDgQW8C zw5NoBdHTVpupDRbYpMPkLOGv#Lc;4HVaH2_knv5y@BGYg%reYfJJk)R}zLgV~@LRkevttKQIf$A4nAUm-bJvHf z2NA0sKzslT2e9}cmc$-I`JUr1KEfG1be^%?8hW?_IIBRY;@fHb9>q8UoXz)IUS<7B z_8QLm(+=0IQz)Z1$dcYuZqr2}Y*8LE!UhfRKb`aMO z;06bqtAHDa4?Bd7(tQwrIfz>a@M+!IbAYlW4%VaR#2n66W+X@nf>(Rr2Lm}IQ<=qBiX0pgi~FUkm_nyOoU#5P{H`iWw) z)7p$O{mn*$=s#r>%i?9#Wz);%mQ_+l9!ZY! zx0@(ah&Z094S#6>dpz}Ro+q(lwf%P3w;$u}M{j-j9=5NJuV3oT`{j+aukYD+#&A69 z-#C(biTAUyc;*`3TU#$3e1rG(oBAi+%lnq8-tc{S2Rn~1`}NCj`c)%e{#sttw0#MzkW(1 zA96-Mnm8QHd)Ol%H8Np)cQ6sqE?erz5D7*~2l1#go0T~1`s+Zk*=&!}E`HGUseU99 zhxa%U=#UJHd6^LUF)0>L4C2YXPSaD;B)P%%z8_!_pR>#hImYKcGHe@taVPfU8ua5@ zdf+a4;I()J*Wn3Vk8k0V_#SS+3%C(K!A*FPe)|e;!7p$tUgP}@d>U_)_3z^|%7fb# z*-p0Jp~yZ}fiJ2#*h4Ses}|!fbrugFR^lGjhWpe;9wuCY{i>ZO2T6Qc_3+#v&3l$7 z2G`)L>IOWh?!*Cg7amgk@UZ$CH{cK9QS}Y(f)8OpJ%vH_E#AM2r?n>@pofsHt|vZ2 z$;A^()sxyMOEAvyNe^+&)c)dQpJ}#V5o4GhdI!_*+ivUo`BoxxT8X6r-_ahnnDOfG z`Q#_Ax%jS(CA#T&hEG9aoTTR~C7P(c8Zk|AR+Ef33*iqik3Jc|v&XQ64~G0HtKr|X z%I1v=yvIdLF^HpW756yi{=R0yV~8+c|6`sW&kg(dgCQ zm?6nmmngqti4tM>c|H7=U8Up)MSKJJ&C@ti8?PF`+e66bQhwk$M(^io;}=+={E*0g zgpUzXD|x<^d$()Jb*WmG>8fUztASlQic2N6OGk03n|A3~D<;{c_2cDC4fwtAMC&I6 zUwLVH=`r~Ur9?JpWTq5!D|wgk!HRp~^Bx$MCH-sxUe*%WbyLulAc#M3X1i`;LFnfc z+-f>gzR5Q+Yg29be;$C(bAYwmduVN_qKn|Vgg z>p7g$Ef%R@AO8YfF;=qV)P$JLtuZk=OL1zkgJzaD;=LQu5zHcWMiYx{6Jk|V4ydu8 z7$TPKQoo~4B#gYnGUoRzU;co#co&^4SAor1~7epv-vOo~>RCg4@pE{Q9bP!H( zEIdYA_@j_E6tQeEtP)2w*s1|FzQC|5h$$rVOw#yta&-x_-C9+~`mlVMVLM&0oi5l; z2P{Ye$ueTtMJF&UPn$=<9wM|5SO{$s`%eRVLZOk>MBDSrXsJeRLg#Uxh|oOWF2t?Qq`4)S?RLyP$H86YICR8L7CLMA3aMTh@$N$_cdHS} z9S-3e{1N}DP(I?%(||cdMfx!@R#6$@8V|*)Buui593n?OH_}j1DrpA2U?!vd94uAy z=n2*QwYCO5sutI)IBrn$aT_-zUr-CR;?A?dxr*DZOACnvyLD+HircMA3rQ`zb!j2~ zy<3yW$MXPNnSLEp`9COP^qnQ@Jw(c>O8#2q=d%D>P+;9dr;l+kCFD;i|6g*}70P)YAZs{dc< C;4;ww literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/Main.class b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..c21841011ef1a74a98dddf69f4c0bc4fcbd88c84 GIT binary patch literal 536 zcmZ{g%SyvQ6o&t4)24~(MSHU57#i(IXJMlkDH(X(PG845!|saL=REN5geRwwdNomjk%XFs zdg3mtVnS+Mc_dz40cNn=B>=G&Y|CPkAj0R}Xx)~K@nE>SL~`z4g;fU6V;6hBdUn9+m}-cenEN~vlU d1=Q$qJ%u$=co7XW305FCn`oszwy4iw`xnHsaMl0- literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/Terminal.class b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/Terminal.class new file mode 100644 index 0000000000000000000000000000000000000000..05e9eddd4c46771a09422b0518174ecbad9cf292 GIT binary patch literal 1096 zcmaJj<#3tKz-{YC*n4iDCeFw0BH4Q0-YrGy=4IwSz?**Y}OVO~ldFTn>b~U6K z`VZ~*w&mLXzO}h~$Q{X$5n?u&At9qMOsHYx^J!J}AdXnug^Lwi}xl+YC(k z(ax>iBF}oN(smlJ?PijMQ4ONd;V*=WrRV%I&nR-3r3}01`ZHoqLDIi8bZGRD_w=?% zRrMJ;gRyf4bLSYnrx-fL)vp-)LX8xz(|3l(fjq|JimFn`3B)}8s&04b6cg2*gr#moox(p9u3<@H_ct5UCprpgLwSib<)iPQ=n(?ppbQv6cwFs#yB3Qv9m DOYQ7W literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/exceptions/InvalidCommandException.class b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/bin/edu/kit/informatik/exceptions/InvalidCommandException.class new file mode 100644 index 0000000000000000000000000000000000000000..1be63f50e5db54c2de9d9209082a0d1618888b91 GIT binary patch literal 421 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 data; + + /** + * Instantiates a new bank. + * + * @param bankCode + * the bank code + */ + public Bank(final int bankCode) { + this.bankCode = bankCode; + data = new MinimaList>>(); + } + + /** + * Adds a user. + * + * @param firstName + * the first name + * @param lastName + * the last name + * @param personnelNumber + * the personnel number + */ + public void addUser(final String firstName, final String lastName, final int personnelNumber) { + final AccountHolder accHolder = new AccountHolder(firstName, lastName, personnelNumber); + data.add(new Pair>(accHolder, new MinimaList())); + } + + /** + * Adds an account. + * + * @param accountNumber + * the account number + * @param personnelNumber + * the personnel number + * @return true, if successful + * @throws InvalidCommandException + * the invalid command exception + */ + public boolean addAccount(final int accountNumber, final int personnelNumber) throws InvalidCommandException { + Container>> container = data.getFirstContainer(); + while (container != null) { + if (container.getData().getFirst().getPersonnelNumber() == personnelNumber) { + container.getData().getSecond().add(new Account(bankCode, accountNumber)); + return true; + } + + container = container.getNext(); + } + throw new InvalidCommandException( + "the person with this personnel number(" + personnelNumber + ") is not at this bank."); + } + + /** + * Removes an account. + * + * @param accountNumber + * the account number + * @return true, if successful + */ + public boolean removeAccount(final int accountNumber) { + if (containsAccount(accountNumber)) { + Container>> container = data.getFirstContainer(); + while (container != null) { + final Pair> pair = container.getData(); + final int index = pair.getSecond().getIndex(new Account(bankCode, accountNumber)); + + if (pair.getSecond().remove(index)) { + return true; + } + container = container.getNext(); + } + } + return false; + } + + /** + * Deposits money. + * + * @param accountNumber + * the account number + * @param amount + * the amount + */ + public void deposit(final int accountNumber, final int amount) { + final Account acc = getAccount(accountNumber); + acc.deposit(amount); + } + + /** + * Withdraws money. + * + * @param accountNumber + * the account number + * @param amount + * the amount + * @return true, if successful + */ + public boolean withdraw(final int accountNumber, final int amount) { + final Account acc = getAccount(accountNumber); + return acc.withdraw(amount); + } + + /** + * Internal bank transfer. + * + * @param fromAccountNumber + * the from account number + * @param toAccountNumber + * the to account number + * @param amount + * the amount + * @throws InvalidCommandException + * the invalid parameter exception + */ + public void internalBankTransfer(final int fromAccountNumber, final int toAccountNumber, final int amount) + throws InvalidCommandException { + + final Account from = getAccount(fromAccountNumber); + final Account to = getAccount(toAccountNumber); + if (to == null || from == null) { + throw new InvalidCommandException("either the account (" + fromAccountNumber + + ") the money shouled be transfered from or the account (" + toAccountNumber + + ") the money should be transefered to does not exist."); + } + if (!from.withdraw(amount)) { + throw new InvalidCommandException("amount could not be withdrawn from account (" + fromAccountNumber + ")"); + } + to.deposit(amount); + } + + /** + * Gets the account count of an account holder. + * + * @param personnelNumber + * the personnel number + * @return the account count + */ + public int getAccountCount(final int personnelNumber) { + Container>> container = data.getFirstContainer(); + while (container != null) { + final Pair> pair = container.getData(); + if (pair.getFirst().getPersonnelNumber() == personnelNumber) { + return pair.getSecond().size(); + } + container = container.getNext(); + } + return 0; + } + + /** + * Checks if account is contained. + * + * @param accountNumber + * the account number + * @return true, if contained + */ + public boolean containsAccount(final int accountNumber) { + Container>> container = data.getFirstContainer(); + while (container != null) { + final Pair> pair = container.getData(); + if (pair.getSecond().contains(new Account(bankCode, accountNumber))) { + return true; + } + container = container.getNext(); + } + return false; + } + + /** + * Gets the account. + * + * @param accountNumber + * the account number + * @return the account + */ + public Account getAccount(final int accountNumber) { + Container>> container = data.getFirstContainer(); + while (container != null) { + final Pair> pair = container.getData(); + final int index = pair.getSecond().getIndex(new Account(bankCode, accountNumber)); + if (index >= 0) { + return pair.getSecond().get(index); + } + container = container.getNext(); + } + return null; + } + + /** + * Balance. + * + * @param accountNumber + * the account number + * @return the int + * @throws InvalidCommandException + * the invalid parameter exception + */ + public int balance(final int accountNumber) throws InvalidCommandException { + final Account acc = getAccount(accountNumber); + if (acc == null) { + throw new InvalidCommandException( + "the bank (" + this.bankCode + ") does not contain the account (" + accountNumber + ")"); + } else { + return acc.getBalance(); + } + } + + /** + * Gets the bank code. + * + * @return the bank code + */ + public int getBankCode() { + return bankCode; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(final Object obj) { + return (obj instanceof Bank || ((Bank) obj).bankCode == this.bankCode); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/BankRegistry.java b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/BankRegistry.java new file mode 100644 index 0000000..0ea3645 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/BankRegistry.java @@ -0,0 +1,335 @@ +package edu.kit.informatik; + +import edu.kit.informatik.exceptions.InvalidCommandException; +import edu.kit.informatik.list.Container; +import edu.kit.informatik.list.MinimaList; + +/** + * The Class BankRegistry. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class BankRegistry { + private boolean readyToQuit; + private final MinimaList banks; + + /** + * Instantiates a new bank registry. + */ + public BankRegistry() { + readyToQuit = false; + banks = new MinimaList(); + } + + /** + * Run the bank registry + */ + public void run() { + while (!readyToQuit) { + try { + processCommand(Terminal.readLine()); + } catch (final InvalidCommandException e) { + Terminal.printLine("Error: " + e.getMessage()); + } + } + } + + private boolean processBankActions(final String action, final String[] parameters) throws InvalidCommandException { + switch (action) { + case "addbank": { + if (parameters.length != 1) { + throw new InvalidCommandException("addbank expects one parameter: addbank "); + } + final int bankCode = Integer.parseInt(parameters[0]); + addBank(bankCode); + Terminal.printLine("OK"); + return true; + } + case "adduser": { + if (parameters.length != 4) { + throw new InvalidCommandException("adduser expects four parameters: " + + "addbank ;;;"); + } + final String firstName = parameters[0]; + final String lastName = parameters[1]; + final int personnelNumber = Integer.parseInt(parameters[2]); + final int bankCode = Integer.parseInt(parameters[3]); + + addUser(firstName, lastName, personnelNumber, bankCode); + Terminal.printLine("OK"); + return true; + } + case "addaccount": { + if (parameters.length != 3) { + throw new InvalidCommandException("addaccount expects three parameters: " + + "addaccount ;;"); + } + final int accountNumber = Integer.parseInt(parameters[0]); + final int personnelNumber = Integer.parseInt(parameters[1]); + final int bankCode = Integer.parseInt(parameters[2]); + + addAccount(accountNumber, personnelNumber, bankCode); + Terminal.printLine("OK"); + return true; + } + case "removeaccount": { + if (parameters.length != 2) { + throw new InvalidCommandException( + "removeaccount expects two parameters: removeaccount ;;"); + } + final int accountNumber = Integer.parseInt(parameters[0]); + final int bankCode = Integer.parseInt(parameters[1]); + + removeAccount(accountNumber, bankCode); + Terminal.printLine("OK"); + return true; + } + case "containsaccount": { + if (parameters.length != 2) { + throw new InvalidCommandException( + "containsaccount expects two parameters: containsaccount ;"); + } + final int accountNumber = Integer.parseInt(parameters[0]); + final int bankCode = Integer.parseInt(parameters[1]); + + Terminal.printLine(new Boolean(containsAccount(accountNumber, bankCode)).toString()); + return true; + } + case "getaccountnumber": { + if (parameters.length != 1) { + throw new InvalidCommandException( + "getaccountnumber expects one parameter: getaccountnumber "); + } + final int personnelNumber = Integer.parseInt(parameters[0]); + + Terminal.printLine(new Integer(getAccountCount(personnelNumber)).toString()); + return true; + } + default: + return false; + } + } + + private void processCommand(final String command) throws InvalidCommandException { + final String action = command.split(" ")[0]; + String[] parameters = new String[0]; + if (command.split(" ").length >= 2) { + parameters = (command.split(" ")[1]).split(";"); + } + + switch (action) { + case "deposit": { + if (parameters.length != 3) { + throw new InvalidCommandException( + "deposit expects three parameters: deposit ;;"); + } + final int accountNumber = Integer.parseInt(parameters[0]); + final int bankCode = Integer.parseInt(parameters[1]); + final int amount = Integer.parseInt(parameters[2]); + + deposit(accountNumber, bankCode, amount); + Terminal.printLine("OK"); + break; + } + case "withdraw": { + if (parameters.length != 3) { + throw new InvalidCommandException( + "withdraw expects three parameters: withdraw ;;"); + } + final int accountNumber = Integer.parseInt(parameters[0]); + final int bankCode = Integer.parseInt(parameters[1]); + final int amount = Integer.parseInt(parameters[2]); + + withdraw(accountNumber, bankCode, amount); + Terminal.printLine("OK"); + break; + } + case "transfer": { + if (parameters.length != 5) { + throw new InvalidCommandException("transfer expects five xparameters: " + + "transfer ;;;;"); + } + final int fromAccountNumber = Integer.parseInt(parameters[0]); + final int fromBankCode = Integer.parseInt(parameters[1]); + final int toAccountNumber = Integer.parseInt(parameters[2]); + final int toBankCode = Integer.parseInt(parameters[3]); + final int amount = Integer.parseInt(parameters[4]); + + transfer(fromAccountNumber, fromBankCode, toAccountNumber, toBankCode, amount); + Terminal.printLine("OK"); + break; + } + case "balance": { + if (parameters.length != 2) { + throw new InvalidCommandException( + "balance expects two parameters: balance ;"); + } + final int accountNumber = Integer.parseInt(parameters[0]); + final int bankCode = Integer.parseInt(parameters[1]); + + Terminal.printLine(new Integer(balance(accountNumber, bankCode)).toString()); + break; + } + case "quit": + if (parameters.length != 0) { + throw new InvalidCommandException("quit expects zero parameters: quit"); + } + readyToQuit = true; + break; + default: + if (!processBankActions(action, parameters)) { + throw new InvalidCommandException( + "command not found, supported commands: 'quit', 'balance ;', " + + "'containsaccount ;', 'getaccountnumber " + + "', 'transfer ;;" + + ";;', 'withdraw ;" + + ";', 'deposit ;;', 'removeaccount " + + ";;', 'addaccount ;;" + + "', 'addbank '"); + } + } + } + + private void addBank(final int bankCode) throws InvalidCommandException { + final Bank b = new Bank(bankCode); + if (bankCode <= 0) { + throw new InvalidCommandException("bank code has to be a positive integer"); + } + if (banks.contains(b)) { + throw new InvalidCommandException("bank with this bank code already exists"); + } + banks.add(b); + } + + private void addUser(final String firstName, final String lastName, final int personnelNumber, final int bankCode) + throws InvalidCommandException { + + if (!(isValidName(firstName) && isValidName(lastName))) { + throw new InvalidCommandException("names have to be in lowercase and can only contain characters a-z"); + } + if (!(isNaturalNumber(personnelNumber) && isNaturalNumber(bankCode))) { + throw new InvalidCommandException("numbers have to be natural numbers"); + } + final int index = banks.getIndex(new Bank(bankCode)); + if (index < 0) { + throw new InvalidCommandException("bank (" + bankCode + ") does not exist"); + } + banks.get(index).addUser(firstName, lastName, personnelNumber); + } + + private boolean isNaturalNumber(final int number) { + return (number > 0); + } + + private boolean isValidName(final String name) { + if (name == "") { + return false; + } + + final char[] chars = name.toCharArray(); + for (final char c : chars) { + // If char is not a lower-case letter + if (!(Character.isLowerCase(c) && Character.isLetter(c))) { + return false; + } + } + return true; + } + + private void addAccount(final int accountNumber, final int personnelNumber, final int bankCode) + throws InvalidCommandException { + if (!(isNaturalNumber(personnelNumber) && isNaturalNumber(bankCode) && isNaturalNumber(accountNumber))) { + throw new InvalidCommandException("numbers have to be natural numbers"); + } + final int index = banks.getIndex(new Bank(bankCode)); + if (index < 0) { + throw new InvalidCommandException("bank (" + bankCode + ") does not exist"); + } + banks.get(index).addAccount(accountNumber, personnelNumber); + } + + private void removeAccount(final int accountNumber, final int bankCode) throws InvalidCommandException { + if (!(isNaturalNumber(accountNumber) && isNaturalNumber(bankCode))) { + throw new InvalidCommandException("numbers have to be natural numbers"); + } + final int index = banks.getIndex(new Bank(bankCode)); + if (index < 0) { + throw new InvalidCommandException("bank (" + bankCode + ") does not exist"); + } + banks.get(index).removeAccount(accountNumber); + } + + private void deposit(final int accountNumber, final int bankCode, final int amount) throws InvalidCommandException { + if (!isNaturalNumber(accountNumber) || !isNaturalNumber(bankCode) || !isNaturalNumber(amount)) { + throw new InvalidCommandException("numbers have to be natural numbers"); + } + final int index = banks.getIndex(new Bank(bankCode)); + if (index < 0) { + throw new InvalidCommandException("bank (" + bankCode + ") does not exist"); + } + banks.get(index).deposit(accountNumber, amount); + } + + private void withdraw(final int accountNumber, final int bankCode, final int amount) + throws InvalidCommandException { + if (!isNaturalNumber(accountNumber) || !isNaturalNumber(bankCode) || !isNaturalNumber(amount)) { + throw new InvalidCommandException("numbers have to be natural numbers"); + } + final int index = banks.getIndex(new Bank(bankCode)); + if (index < 0) { + throw new InvalidCommandException("bank (" + bankCode + ") does not exist"); + } + banks.get(index).withdraw(accountNumber, amount); + } + + private void transfer(final int fromAccountNumber, final int fromBankCode, final int toAccountNumber, + final int toBankCode, final int amount) throws InvalidCommandException { + if (!isNaturalNumber(fromAccountNumber) || !isNaturalNumber(fromBankCode) || !isNaturalNumber(toAccountNumber) + || !isNaturalNumber(toBankCode) || !isNaturalNumber(amount)) { + throw new InvalidCommandException("numbers have to be natural numbers"); + } + + if (fromBankCode == toBankCode) { + // Internal bank transfer + final int index = banks.getIndex(new Bank(fromBankCode)); + if (index < 0) { + throw new InvalidCommandException("bank (" + fromBankCode + ") does not exist"); + } + banks.get(index).internalBankTransfer(fromAccountNumber, toAccountNumber, amount); + } else { + // external bank transfer + withdraw(fromAccountNumber, fromBankCode, amount); + deposit(toAccountNumber, toBankCode, amount); + } + } + + private int getAccountCount(final int personnelNumber) { + Container container = banks.getFirstContainer(); + while (container != null) { + final Bank bank = container.getData(); + if (bank.getAccountCount(personnelNumber) > 0) { + return bank.getAccountCount(personnelNumber); + } + container = container.getNext(); + } + return 0; + } + + private boolean containsAccount(final int accountNumber, final int bankCode) throws InvalidCommandException { + final int index = banks.getIndex(new Bank(bankCode)); + if (index == -1) { + throw new InvalidCommandException("bank with this bankcode does not exist"); + } + return banks.get(index).containsAccount(accountNumber); + } + + private int balance(final int accountNumber, final int bankCode) throws InvalidCommandException { + final int index = banks.getIndex(new Bank(bankCode)); + if (index == -1) { + throw new InvalidCommandException("bank with this bankcode does not exist"); + } + return banks.get(index).balance(accountNumber); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/Main.java b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/Main.java new file mode 100644 index 0000000..d3e05c6 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/Main.java @@ -0,0 +1,22 @@ +package edu.kit.informatik; +/** + * The Class Main. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public final class Main { + private Main() { + } + + /** + * The main method. + * + * @param args + * the arguments + */ + public static void main(final String[] args) { + final BankRegistry bankRegistry = new BankRegistry(); + bankRegistry.run(); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/Terminal.java b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/Terminal.java new file mode 100644 index 0000000..d7a1ee3 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/Terminal.java @@ -0,0 +1,67 @@ +package edu.kit.informatik; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +/** + * This class provides some simple methods for input/output from and to a + * terminal. + * + * Never modify this class, never upload it to Praktomat. This is only for your + * local use. If an assignment tells you to + * use this class for input and output never use System.out or System.in in the + * same assignment. + * + * @author ITI, VeriAlg Group + * @author IPD, SDQ Group + * @version 4 + */ +public final class Terminal { + + /** + * BufferedReader for reading from standard input line-by-line. + */ + private static BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + + /** + * Private constructor to avoid object generation. + */ + private Terminal() { + } + + /** + * Print a String to the standard output. + * + * The String out must not be null. + * + * @param out + * The string to be printed. + */ + public static void printLine(final String out) { + System.out.println(out); + } + + /** + * Reads a line from standard input. + * + * Returns null at the end of the standard input. + * + * Use Ctrl+D to indicate the end of the standard input. + * + * @return The next line from the standard input or null. + */ + public static String readLine() { + try { + return in.readLine(); + } catch (final IOException e) { + /* + * rethrow unchecked (!) exception to prevent students from being + * forced to use Exceptions before they have + * been introduced in the lecture. + */ + throw new RuntimeException(e); + } + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/exceptions/InvalidCommandException.java b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/exceptions/InvalidCommandException.java new file mode 100644 index 0000000..b65cd62 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/exceptions/InvalidCommandException.java @@ -0,0 +1,20 @@ +package edu.kit.informatik.exceptions; + +/** + * The Class InvalidCommandException. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class InvalidCommandException extends Exception { + + /** + * Instantiates a new invalid command exception. + * + * @param message + * the message + */ + public InvalidCommandException(final String message) { + super(message); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/list/Container.java b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/list/Container.java new file mode 100644 index 0000000..04c00ad --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/list/Container.java @@ -0,0 +1,58 @@ +package edu.kit.informatik.list; + +/** + * The Class Container. + * + * @author Hannes Kuchelmeister + * @version 1.0 + * @param + * the generic type + */ +public class Container { + + /** The data. */ + private final T data; + + /** The next. */ + private Container next; + + /** + * Instantiates a new container. + * + * @param data + * the data + */ + public Container(final T data) { + this.data = data; + this.next = null; + } + + /** + * Sets the next. + * + * @param next + * the new next + */ + public void setNext(final Container next) { + this.next = next; + } + + /** + * Gets the next. + * + * @return the next + */ + public Container getNext() { + return next; + } + + /** + * Gets the data. + * + * @return the data + */ + public T getData() { + return data; + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/list/MinimaList.java b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/list/MinimaList.java new file mode 100644 index 0000000..ded3f2b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/list/MinimaList.java @@ -0,0 +1,224 @@ +package edu.kit.informatik.list; + +/** + * The Class MinimaList. + * + * @author Hannes Kuchelmeister + * @version 1.0 + * @param + * the generic type + */ +public class MinimaList { + + /** The first container that stores the first element of the list. */ + private Container firstContainer; + + /** The last container that stores the last element of the list. */ + private Container lastContainer; + /** The number of elements of the list. */ + private int size; + + /** + * Instantiates a new minima list. + */ + public MinimaList() { + size = 0; + firstContainer = null; + lastContainer = null; + } + + /** + * Adds an element at the end of the list. + * + * @param element + * the account + */ + public void add(final T element) { + if (firstContainer == null) { + this.firstContainer = new Container(element); + this.lastContainer = this.firstContainer; + } else { + final Container tmp = new Container(element); + this.lastContainer.setNext(tmp); + this.lastContainer = tmp; + } + this.size++; + } + + /** + * Gets the index of an element. + * + * @param element + * the account + * @return the index + */ + public int getIndex(final T element) { + final int pos = -1; + int i = 0; + Container pointer = firstContainer; + while (pointer != null) { + if (pointer.getData().equals(element)) { + return i; + } + pointer = pointer.getNext(); + i++; + } + return pos; + } + + /** + * Adds an element to the list at the given index. + * + * @param element + * the element + * @param index + * the index + */ + public void add(final T element, final int index) { + if (index >= size || index < 0) { + this.add(element); + } else if (index == 0) { + final Container tmpContainer = new Container(element); + tmpContainer.setNext(firstContainer); + firstContainer = tmpContainer; + this.size++; + } else { + final Container pointer = getContainer(index - 1); + final Container tmpContainer = new Container(element); + tmpContainer.setNext(pointer.getNext()); + pointer.setNext(tmpContainer); + this.size++; + } + } + + /** + * Removes the element at the index from the list. + * + * @param index + * the index + * @return true, if successful + */ + public boolean remove(final int index) { + if (index >= size || index < 0) { + return false; + } else if (index == 0) { + firstContainer = firstContainer.getNext(); + this.size--; + return true; + } else if (index == size - 1) { + lastContainer = getContainer(index - 1); + lastContainer.setNext(null); + this.size--; + return true; + } else { + + this.size--; + return true; + } + } + + /** + * Gets the first element of the list. + * + * @return the first + */ + public T getFirst() { + return firstContainer.getData(); + } + + /** + * Gets the last element of the list. + * + * @return the last + */ + public T getLast() { + return lastContainer.getData(); + } + + /** + * Gets the container. + * + * @param index + * the index + * @return the container + */ + private Container getContainer(final int index) { + if (index < 0 || index >= size) { + return null; + } + + Container pointer = firstContainer; + int i = 0; + while (i < index) { + pointer = pointer.getNext(); + i++; + } + return pointer; + } + + /** + * Gets the element at given index. + * + * @param index + * the index + * @return the element + */ + public T get(final int index) { + if (index < 0 || index >= size) { + return null; + } + return this.getContainer(index).getData(); + } + + /** + * Checks if element is part of the list. + * + * @param element + * the element + * @return true, if element is part of list + */ + public boolean contains(final T element) { + Container pointer = firstContainer; + while (pointer != null) { + if (pointer.getData().equals(element)) { + return true; + } + pointer = pointer.getNext(); + } + return false; + } + + /** + * Size. + * + * @return the size of the list + */ + public int size() { + return size; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + String ret = ""; + Container pointer = firstContainer; + while (pointer != null) { + ret += "\t" + pointer.getData().toString() + "\n"; + pointer = pointer.getNext(); + } + return "\t" + ret.trim(); + } + + /** + * Gets the first container. + * + * @return the first container + */ + public Container getFirstContainer() { + return firstContainer; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/list/Pair.java b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/list/Pair.java new file mode 100644 index 0000000..559e348 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment5B_Bank/src/edu/kit/informatik/list/Pair.java @@ -0,0 +1,50 @@ +package edu.kit.informatik.list; + +/** + * The Class Pair. + * + * @author Hannes Kuchelmeister + * @version 1.0 + * + * @param + * the generic type + * @param + * the generic type + */ +public class Pair { + + private final T first; + private final U second; + + /** + * Instantiates a new pair. + * + * @param first + * the first + * @param second + * the second + */ + public Pair(final T first, final U second) { + this.first = first; + this.second = second; + } + + /** + * Gets the first element of the pair. + * + * @return the first + */ + public T getFirst() { + return first; + } + + /** + * Gets the second element of the pair. + * + * @return the second + */ + public U getSecond() { + return second; + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.checkstyle b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.checkstyle new file mode 100644 index 0000000..c9f8d32 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.checkstyle @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.classpath b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.project b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.project new file mode 100644 index 0000000..b34b47b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.project @@ -0,0 +1,17 @@ + + + Assignment6A_EulerApproximation + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.settings/org.eclipse.jdt.core.prefs b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/2016-03-19_12-17-51.zip b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/2016-03-19_12-17-51.zip new file mode 100644 index 0000000000000000000000000000000000000000..b318d7fd9b9b87f6df3b54c6c11adb29e3d48cb4 GIT binary patch literal 11358 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 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/Assignment6A_EulerApproximation.iml b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/Assignment6A_EulerApproximation.iml new file mode 100644 index 0000000..1570ffe --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/Assignment6A_EulerApproximation.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/Command.class b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/Command.class new file mode 100644 index 0000000000000000000000000000000000000000..3c9f1c7a2580f32cb27cf59bbe3c04b45700efdc GIT binary patch literal 1732 zcmaJ>T~`xV6x}zIWI`Mer+|XtLxGY^fT*psHHcsgZ8U&(fVI;0We6i3NhUa%uokaf zed$l=W1src2a8o%?JBF!{U`ks+I=UnrVx3_oqO&%`|PvNIr;nb@5cZ>#=44-z>vM& z$m}|P#&I9lysG6pyO~_ATD9D56=8v%C)U1|saWn#Chs*Jr1T z&6g{V>-Y<#mrQLkf3CJ|#}J93kEXiq$00DF;UX>xMCV(+spM%cg$}0FW*5VUG(-@M zL5*RU8J;#AUz$fXsL~vZ;i>?nX+lE`QTg?uhHmr-oG&`Az1pa5+1|RfRk5WEwX#*& zv^+=N17jQt49PJ~uAQhgdCX`y2Th`9G^UG_i~p@tr-(bY-)fyeUov&N5`k{|JZ#gN za#8Kxa?RbhJ%7FSU;MQW1X5>pK`Q*IhR<+|3h!H$hD}PN$<&#xlR@(uuH!}=3s_Wf zhh$F9hlVBGC8+(hVO0p)-%f39>xo_Vv#GCSpM8%Nn!Z)uU9t88O;z;7@i_`AzW6`# zLEX2j8t&tPK$qot)j@>ej|BIzh<+s$+{dGTGC(=RpjiqZV#F*(4l!;%$K4PlDEBg_R(waWax%zcr0 z$C!1B+^&&bGVqk%T;LX;Z&+1?cHKxPULj@lhhJdYn0bNOcepyj^tejq<3yey;$(m| z7APXIW&LjzkSghNw-_blOtvy*cyhB5F@D4BGk!ElM+4(b0H`$`T7Uu{@&C0cTYK>I zFDHWMIs|v&CgxhfKQNW7F@1zjO1Hwt3(D=EacMA|xKT{MMAmqT+dm?be)fGxB!+)_ z^AClU{FFe{fgp5=CEdj^av0?rO<_4mIY3~-(%Ni%H$|59+@rM*${S8VMCC>bp&}1l z2=Sep-J&%|WGU9bAtp-?6yvxwFMGVATt33`^ht$8kWuFA;)c8}%^(9QYFrn_5mx?! Rcz;|759t}gBYYX0=D!}WQYZib literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/CommandLineParser.class b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/CommandLineParser.class new file mode 100644 index 0000000000000000000000000000000000000000..7e49d023021e0c1a4eb858a6cded166b92cdf738 GIT binary patch literal 3115 zcma)8U3U}L72Veo9$6m1D8}T2*n?wiNtSI&AYTRtBgvp(Nni`R#-#2b4fe$Hj4~P# zrzuU-kCcSA=~vRwq@|>3y;h!pwzgK=@Yt@^hyI(sWi{P*BrIj2)%0OTb7#)k=bU}d zK3D(z&tL8VID$VYXcHJP3YD={(;YLd%eJ$oyXNXx++JJLt-`cv8E18;Y&Z)10$nfZ zSM;%>ZY_^xFTG^sU4cFEY&t!eNi1cuxuvP>`Ak9}G~KY9bsf`M9v9ddx2>|PTkf1* ztQY}w2t+K~)voA8v!LZ`@kX`tW#c(*sBE~}F>7KdrVYJZG2J17z4J5K%&DcblQWa) zWG*?g6lbhl0IGoIt{C?LG-JKQyvo|af>zQUea&zUN1)R&^unt-`y9ap#07!y!0db~ z7eBp}n>;z4loSk*f`JAF19b`n+7?p+?Z-^ZbSDIS;mDkTKW-O{Abi-XVh=(c5ZI?; zCw2+!mZW7WYnKcsr(Y@>k`Ftt7w2@xlh6C-7Jc zubknmnU-EuaRB`S0a>%mMW8zzd2maD%y~e?K@1863BFzL-tdFQvgVz$uAW~_>m{!O z=^jxLmF_zX$FZFNVkBnqV)?}&MsY~N*cUpc)(I-Ug2VJEmx^*LhFZm1d@z0hM?CBp zu?3z|u^UhGML4pU3gTIeD|k-e(H5lCt5R_c$C*yvwyqeCo3pp8J=7|L|FJ3KGT!ql zPGC|%v7LgX+-r+e2fxHsB#>lk=gy~c0{g!V>6D7o5^3kM;ZkY(THLN!ZV)eETEQ9W zt0AS7R|qauwALsK{vBYRn(C!A{D-ntp{9K~4`=P<+WtqEJ;*%s9{(_NGGcr#vI z!LqoViu1BK-)u4`_hDYeSFyk~^(ymdMyk8X#!>P$b<ZZ;WQ#)?1(MVa?L%1%l} z67476Il;LI1W|;gU`=3GgZ{McuBfn4qIKRdx##|HB9aKgfvbR0Zkmn>yF#U_sNf3I zckLP(GW|pgYNf2#RlF*t)KTKRbfs(qcunAtoP_sh8YiOm%8KC_nx&a#P1h`M%4mAI zG3$c3iq{o9DYpdSWE*a!k=B_~=Rf46Z6sDB_GHB@ z77PxcA2WxfoJBD$i0k-?9L|IC>1Qf_j$cp+>;uDMf+MXOsVUhn08>lX@t)jH(&Q_< zj-2;5p_awB_)-ao19K16nw-9)~GCF z&sOp)Q>IZYcoiw=;ug)?6(?^@netfaslzo6=~3y<>CYtD#eO`B9cbrD;i?S*u7geM zPQK%b1z7|up^dcVX~z3QTpiw~aJYM+$8atcu6C@I>@a=(+Lvza^p%5-~(95Xa|b`3Upa--H^fqYlx=k2YUB z5qWaeG8GOpm)>`V|G@yEz!t)HhC{=f7)i(O`9H?)nE!C-NiH)R2>3q5Xr_vzG2h`T zp4r62=qGfA%S%?<#w*FIXXM^poZQ6JP4q=Wo&HbZTkzH1RFRskBFiWnI1%-em<>E5 z&1b*Vd{1;_3v(OjsAtJQwel~ZhtGX1L*phLKqsCcB?n2(AXh^eKo}7WBgShQBbeuO zFJTO29Kt#d<2C-BdlN@-6HnnIJdF*u*e4jrZ9MPMc!aG$g6cHNrwiV8hv>10i!A#9 zGkK9uKE}CLf0A_XMMvjncv!*LK7*h4{y}9>*+B=6{u=-I7t@yTM~5Y+OUL(Dk?)4N zTE!}V>=zrO@!udsFYCKn=cJ!43&h#J3GCyh z^kNGAI7N%o;>uo4E}uI(tk%Q|G+@5A@-ed6!q^PBhqarg=-FhbgshiR zPt9jLrEdIE(%lu1e_ZOwH;61d?)Y82zwmeXZ_iipt9yS7o{8SYZ`haZ*$w#TxnLJg z?6|*Rk4^Y%i-kYp{o4fTV#xitg~yq6guhWd$u79XFH%@i)SyVEL}eke+FmH975wgV U<}3IsZ?|w}`$mtCJ?r297s;m4_y7O^ literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/Eulerapproximator.class b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/Eulerapproximator.class new file mode 100644 index 0000000000000000000000000000000000000000..8b605e6515154d403742743239ea49042c9cf4a8 GIT binary patch literal 1089 zcma)5(M}UV6g|^!*>>4lD7HdDthLe>k%Hip#6SQeNrgnP3A~u;c7UbJZnK>l_yYfd z`0gW76CskwyWeDtceaI+;Db%Jz4z|D=bU?H`s>e+p8)3ZTt|o@FY4`b!+-SzxK zF6~Bnwe1L>H=Dk9WK+fSb!ZF&2mAvsJKWtXZ`2NiB^mnHH@4odFKxYhyHsIFR(c(q z(zo5c7Yy-b&uvNW$|`r-B8nJ8PVS4W+dixbKWn$Lt|zlR>vGxlxznvP4CQ&NC46bq z_=?@)HAmDL*bYN9xchIC!DY+uxu zu3$GMQMLk*ofxRWgn@pVuh_0w59DnrTD6#Gai_|CTjkwioaU{@8{X{ZeG7po17VDr z$RJL_f)=ipL+%rXFef*f!ua7dWQUEB6E&{_d0We zNZ~Z2)z2|muuiG3qcuY-gI3otN+{z<5%vh7j}ofVo(|OKF@>j;rI5fh%EYPmp+D`N z-!Q|pCLJ6Vl|QvW5|I0f)Cm$KrvCyn+h=%osWc=y8VZ?@jh=`k%>YFt2`7z7BA&Xj TcCJgVC^dwV5n`I7IE4AXq2t-w literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/IllegalNumberException.class b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/IllegalNumberException.class new file mode 100644 index 0000000000000000000000000000000000000000..8c1c76fcc29eb9d101459d1881f8c08f15daca62 GIT binary patch literal 477 zcma)(zfQw25XL{JX#$}%rBEbbVryE746qe-K_DSTEJfMf)CAM~L5YKSEv8BgJOB@c zI42cIz`%0n^Zo9-JNy0P^$oxo1~v=^Pb?~bDU~m?ySzxbl1u+ONkq((n<|});_^8X zk4om54U=K_fj@CS;aTi|B^a!8nMpNeXbruP!Mw;9!a)n09kgLFxPi<>BX`T^iD2jl zdBl^D7gERTOHJPQG*gAl;)xgP?mgYT%V4LXEO}ga{e?0(v%D%I zaV7O!M}O~rqU&%B+K}E3Fz7^^k+ms0CC|vWM=NZ+)MNF7fZHlx& mm#h|;5~*2hG+x2|sc=B#VXd&=P-_L^v4cKo(7#Z%fxS;hDP-CJ literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/Main.class b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..2ca9e67d3dd02bf750e32f5df0d7fc4ce41a8d87 GIT binary patch literal 541 zcmZ{gT}uK%6o%i?)pa+&%JQo&Beb9;>dxp!2!ibc3?aH2*GWg+T^M)!U)>}W^aJ`) z(V127B4c3AymRKf=b7{U^YI1X0tY5i3^g%~ovDl*8N7tb=aHN`w_FA$42JTAzj9~B zgOPJTm(!+Zjpdx7;r`RUL)JcFFjQO5?i!;PDH)79?Y@a^hQkfj-O%@WFw__iT+M~DQHG_r z-8}X*Vp_%IYj8Cpg31PW2Gd*CG8}Cp{L_PQ?OqrwPh3m=XG@RpRAb`|)R6`bq-fEM zNSmb2DKd(g;{|eWN!q5}rbj>#21?kXQ-1k~Vu6%JnbOMOCNTsGpC~^qXv`u#1yoTZvmDXXDXTe}q*K`c1s(8mjQ{`u literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/Terminal.class b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/bin/edu/kit/informatik/Terminal.class new file mode 100644 index 0000000000000000000000000000000000000000..05e9eddd4c46771a09422b0518174ecbad9cf292 GIT binary patch literal 1096 zcmaJj<#3tKz-{YC*n4iDCeFw0BH4Q0-YrGy=4IwSz?**Y}OVO~ldFTn>b~U6K z`VZ~*w&mLXzO}h~$Q{X$5n?u&At9qMOsHYx^J!J}AdXnug^Lwi}xl+YC(k z(ax>iBF}oN(smlJ?PijMQ4ONd;V*=WrRV%I&nR-3r3}01`ZHoqLDIi8bZGRD_w=?% zRrMJ;gRyf4bLSYnrx-fL)vp-)LX8xz(|3l(fjq|JimFn`3B)}8s&04b6cg2*gr#moox(p9u3<@H_ct5UCprpgLwSib<)iPQ=n(?ppbQv6cwFs#yB3Qv9m DOYQ7W literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Command.java b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Command.java new file mode 100644 index 0000000..8f1d717 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Command.java @@ -0,0 +1,72 @@ +package edu.kit.informatik; + +/** + * The Enum Command. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public enum Command { + + /** set command. */ + SET("set", 1), + + /** quit command. */ + QUIT("quit", 0), + + /** invalid command. */ + INVALID("", -1); + + /** The command. */ + private final String command; + + /** The param count. */ + private final int paramCount; + + /** + * Instantiates a new command. + * + * @param command + * the command + * @param paramCount + * the param count + */ + private Command(final String command, final int paramCount) { + this.paramCount = paramCount; + this.command = command; + } + + /** + * Gets the command. + * + * @return the command + */ + public String getCommand() { + return command; + } + + /** + * Gets the param count. + * + * @return the param count + */ + public int getParamCount() { + return paramCount; + } + + /** + * converts string to command. + * + * @param str + * the str + * @return the command + */ + public static Command convertToCommand(final String str) { + for (final Command command : Command.values()) { + if (command.getCommand().equals(str)) { + return command; + } + } + return INVALID; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/CommandLineParser.java b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/CommandLineParser.java new file mode 100644 index 0000000..6defcb4 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/CommandLineParser.java @@ -0,0 +1,80 @@ +package edu.kit.informatik; + +/** + * The Class CommandLineParser. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class CommandLineParser { + private static final String COMMAND_NOT_FOUND = "not valid command. Use: 'set ', 'quit'"; + private static final String WRONG_PARAMETER_COUNT = "the command expects %d parameter"; + private boolean readyToQuit; + + /** + * Instantiates a new command line parser. + */ + public CommandLineParser() { + readyToQuit = false; + } + + /** + * Runs the command line parser + */ + public void run() { + while (!readyToQuit) { + runCommand(Terminal.readLine()); + } + } + + private void runCommand(final String command) { + if (command == null) { + error(COMMAND_NOT_FOUND); + return; + } + final String[] arr = command.split("[\\s]"); + String[] parameters; + if (arr.length > 1) { + parameters = arr[1].split("[\\,]"); + } else { + parameters = new String[0]; + } + + switch (Command.convertToCommand(arr[0])) { + case QUIT: + if (parameters.length != Command.QUIT.getParamCount()) { + error(String.format(WRONG_PARAMETER_COUNT, Command.QUIT.getParamCount())); + } else { + readyToQuit = true; + } + break; + case SET: + if (parameters.length != Command.SET.getParamCount()) { + error(String.format(WRONG_PARAMETER_COUNT, Command.QUIT.getParamCount())); + } else { + set(parameters); + } + break; + default: + error(COMMAND_NOT_FOUND); + break; + + } + } + + private void set(final String[] param) { + try { + final int n = Integer.parseInt(param[0]); + final double rounded = Math.ceil(Eulerapproximator.calcEuler(n) * 1000.0) / 1000.0; + Terminal.printLine(Double.toString(rounded)); + } catch (final NumberFormatException e) { + error("set expects where n is a number as parameter"); + } catch (final IllegalNumberException e) { + error(e.getMessage()); + } + } + + private void error(final String str) { + Terminal.printLine("Error, " + str); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Eulerapproximator.java b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Eulerapproximator.java new file mode 100644 index 0000000..2e999f1 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Eulerapproximator.java @@ -0,0 +1,47 @@ +package edu.kit.informatik; + +/** + * The Class Eulerapproximator. + * + * @author Hannes Kuchelmesiter + * @version 1.0 + */ +public final class Eulerapproximator { + private static final String NOT_NATURAL = "the number is not a natural number"; + + private Eulerapproximator() { + } + + /** + * Calculates eulers number. + * + * @param n + * the n + * @return the double + * @throws IllegalNumberException + * the illegal number exception + */ + public static double calcEuler(final int n) throws IllegalNumberException { + // Check if n is natural number + if (n < 0) { + throw new IllegalNumberException(NOT_NATURAL); + } + + final double tmp = 1.0 / faculty(n); + if (n == 0) { + return tmp; + } else { + return calcEuler(n - 1) + tmp; + } + + } + + private static double faculty(final int n) { + assert n >= 0; + if (n == 0) { + return 1; + } else { + return faculty(n - 1) * n; + } + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/IllegalNumberException.java b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/IllegalNumberException.java new file mode 100644 index 0000000..2d55726 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/IllegalNumberException.java @@ -0,0 +1,27 @@ +package edu.kit.informatik; + +/** + * The Class IllegalNumberException. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class IllegalNumberException extends Exception { + + /** + * Instantiates a new illegal number exception. + */ + public IllegalNumberException() { + super(); + } + + /** + * Instantiates a new illegal number exception. + * + * @param message + * the message + */ + public IllegalNumberException(final String message) { + super(message); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Main.java b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Main.java new file mode 100644 index 0000000..eaa33f0 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Main.java @@ -0,0 +1,28 @@ +package edu.kit.informatik; + +/** + * The Class Main. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public final class Main { + + /** + * Instantiates a new main. + */ + private Main() { + } + + /** + * The main method. + * + * @param args + * the arguments + */ + public static void main(final String[] args) { + final CommandLineParser cParser = new CommandLineParser(); + cParser.run(); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Terminal.java b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Terminal.java new file mode 100644 index 0000000..95ea53a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6A_EulerApproximation/src/edu/kit/informatik/Terminal.java @@ -0,0 +1,67 @@ +package edu.kit.informatik; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +/** + * This class provides some simple methods for input/output from and to a + * terminal. + * + * Never modify this class, never upload it to Praktomat. This is only for your + * local use. If an assignment tells you to + * use this class for input and output never use System.out or System.in in the + * same assignment. + * + * @author ITI, VeriAlg Group + * @author IPD, SDQ Group + * @version 4 + */ +public final class Terminal { + + /** + * BufferedReader for reading from standard input line-by-line. + */ + private static BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + + /** + * Private constructor to avoid object generation. + */ + private Terminal() { + } + + /** + * Print a String to the standard output. + * + * The String out must not be null. + * + * @param out + * The string to be printed. + */ + public static void printLine(final String out) { + System.out.println(out); + } + + /** + * Reads a line from standard input. + * + * Returns null at the end of the standard input. + * + * Use Ctrl+D to indicate the end of the standard input. + * + * @return The next line from the standard input or null. + */ + public static String readLine() { + try { + return in.readLine(); + } catch (final IOException e) { + /* + * rethrow unchecked (!) exception to prevent students from being + * forced to use Exceptions before they have + * been introduced in the lecture. + */ + throw new RuntimeException(e); + } + } + +} \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.checkstyle b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.checkstyle new file mode 100644 index 0000000..c9f8d32 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.checkstyle @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.classpath b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.classpath new file mode 100644 index 0000000..373dce4 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.project b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.project new file mode 100644 index 0000000..00286b4 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.project @@ -0,0 +1,17 @@ + + + Assignment6B_Bank + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.settings/org.eclipse.jdt.core.prefs b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/2016-03-19_12-17-51.zip b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/2016-03-19_12-17-51.zip new file mode 100644 index 0000000000000000000000000000000000000000..8cf5f30b88a512702026e8306f10230e919b4c2d GIT binary patch literal 25877 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 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/Account.class b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/Account.class new file mode 100644 index 0000000000000000000000000000000000000000..da49e9ba638a22ae984eab1521a1bd135836981f GIT binary patch literal 1316 zcmZ`&T~8B16g{)MZJ}(X7AS>QY4NLDK8i}Bv4#W*CL|RfFf|ZNoNm{$bi0e~R{RP6 z2QlHvCtgTE5>3=+f0TM>ccGQkCY`x6J@=e@&)oj{{q;M5MJz@jF-#h@PO)LSMbm!c zw3^&C8^vW^cRIEkfx-~qbBh%-!gW!5aqsB>$%Rqr$n+g*LH z8+)$l*aJu~jQXPOY_rpLvsELzlwHV0F^o~cIL0uRFL$Xn+?HwAOIl?R4C5+72#aV! zMFe4n;j(EPKH&>qwW#7m+0nUG;Vn~~gG^z4p|$gtKdb>9Ut;g=Z1%k zw;gU#h5z*Kzg9`x5`NFAm`9NWDRIT(Z32(vwH~LuOX@;)s=LC5u7?2+mA2t@TDtMn z6h^5*Me_oP95pA?P{~LLk10wBhiR8Y$FxTXF^DLwLv;E;NP*84&Y-40B9b{k>>GwR z6IahL@}rPGMY51NMe3M9GA3!A^k^oaP^2P_B(BkV9a&7#4%$6JWawUea$X_Ki$p0B zVL@{u{h@T3%3<`Ic$6th^{d(>3W-4R^d~6Ch0PP>(yvdE>lTq9c_2@#M)b2pH|L2b z{k#kDIBt+6^CV@k5QR5!E08e)nKU)77KBLc03rFv7p#$>azrYA+rHuh#PE>R9$^Bd z9>w&9V!B6BffS>EC2r$RAX%hcSP>F(f?V=E6(s_z9--<30zyVj_DfD)PG0Yuto2P! zT~2=4H@Scrszr>6O?8R~(PqA2Ho-n4H}ezhgl2=jhZylsDLSPN5mJuiu5VYoaoEN< eUXk(JJ)UV7o@rRXU6K-mL9ZnGy+@&h`+ot%fz>|% literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/AccountHolder.class b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/AccountHolder.class new file mode 100644 index 0000000000000000000000000000000000000000..8d326b50757f5f925562a86bffa45befe4822910 GIT binary patch literal 788 zcmah`%TC)s6g@W%2?;JqO`t%_tLh>#4{s0~P$g6e6)B>XK-o{6Aq+TnP% zCQ(PGMdS(9OK~lNNW|UXTl-Rmnov4dX*M(G%yFYd$bU&XvJ3~aF3PA7oO+{G0^zNTDHM!1=c1T- z^Dd@QB2=0xmKpPzXh(M8Bot9gq{_rk$-KT$eZt4)Ym)GBZddA~X8~&U#`wa78SZNS zQ^Dit`=}7SKTAv9w! z#~GmJ-{FnFIYiap8p88ehN%7Gd=3lzF7Pa1kvo@o#xiE{9&`ABcbxSzJXe=E;z^d5 ztY?^W)-&7=b1pM7V-DDwt||W()t~HSR0W&-WJkMM!_#PD!bxCn6udnVynkiuRoz0^BryS;X1#>p<2u07X#+RV&F5mwlB&Ae{*&YPLp z-m&RxR?1bVnC9RaCv7RHL4|PIbWMfYVLfxnwdZ?JWwYkZVLRvcD^yO{vl-J}%5wTk zrRE$TF0uc(X=h6goJysfrHp&tnNM5U{*Rr{U)Fz8|0$Fow==eTlIYt9J0|%dd}1g= zje$6JDU`K$Ojbf6VIYF?DE25MOAw49i5i)=*FY2%3N^!a#u{B(n6|PP%;|ZOP7FIK zbAHmy+Vb5GhTW@nPNAU`chR20Ma^{jV$RAcw6}XabrmMuteu(lnHNXMBZ>nG2TRDg zMYS0AqeW;oM{%fh`9=O1TG1xc9#S|`jKK3jF#d?Y|hDKta(pZt~OIC&jJdqr8L|^m}15V#*ZmP+6M;( zL+tEw%35@7CzFffF@=E=%2~mb-Yq$wbgbN{Wku#1Nytgph5SE)YGr1XQN##63`V8%!$vO-EuK6n0xQ-vm=tjtF{w&%p7-K^vBX7;vjK6?A zQ93dmn#8h!n_}Z|&b~$dHT0-!+L@d`RYdqG4r0O~e8s@?l4MswJ#R}He9^#Hwffd` zOXfWHj+&ldxoOH-SmXuAjZ5A`AG5~N$EQu6+7xe>A$;4wcLa^p@^n6&#LEU=5gZkH zibDT21K-2v+q9eSyj>J0-wzz(q-B}^7clGXWx$Ayp;K#V_ zHIFlFw-g|`rP1ghy`=CH18)lOGH3dlTxlh;$0nSmY|1)k%cWN-m)OHH3oTq;#-AG@ zB;+dPTSBf%Mk{qRhAO_tVenbS$VJW$@w2vb9o3zU?_zi729i_jsC^f8_w3p^LnFU2joy@%-8v4h;m9+EEvq$;ZX)f$VLYt2JL)A0wrfKdy15OLb5^$o)5f{wTx)PeFCHOe zg-7uTj(w8zlhZe;Z<2Nrf}!O`x`h)-6sC5cM;L{Y5h-NFK?GNJb~jF;M)nD#~ID0 zQ;Rwtuo=e%t`IiknnQ>ykFY|MWb+K8QZp~|EF)8lBoX?M;Ybup(Yw4LNLAqyV+FdG zHQnEntkiJ8r#t#Kj`ZZoj&zrzcjY$1_c%w>dw&C$N$-mVdUaa9G1gq*K25R5co|>N z)DG(64FuE%d}_6f2%%6w$csG7h!9E$p*X@q$m4T}e9SH7^Z2-2A$$^@jq8{m?YWOg z*=kSI8fI1*EknVzDTHL16(6;%6vUBivlyg@%G6CPn*cu(fLwB`y9;TN>$T|ACoX%3z>j|Ci#>9fW@ z&e84Gl*rE3Y$fnp_>vF*7U4_hO>}mx;meeIq>CtDSRElQQK%X<{Jl|Z%y-yI?=kut z?80v~Hm@TT8}n<_O?r1ZzRtH0XNK?%e3MT(F4TT3%B%|CqKw;ZIl_n_ifaSN8GlJ6 z3TcUA`~?2O6n`y}B_7BU_uVJGTTViVfBa>{=T`6ki;_zly;9s7M|SS1(nX2nySIa$ z>bF(~UtPoNn;3ehxTkJwI-W!Cv!(rwx5D4q7~aEEe7}f)6e)NmpmD{gQN?&y_yqz97=xq_>09)B7Gxm z@>W9q8p*Crs5RV?WGje-SGAEnqj)L*sZ)A)ZDT;K5kJMxm{g2V2GzjVpYt_@yZ-|< C1a{c~ literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/BankRegistry.class b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/BankRegistry.class new file mode 100644 index 0000000000000000000000000000000000000000..9b6be0f95e9c2bb43d802d787d00b90db3ad2646 GIT binary patch literal 3344 zcmbtWYf~F#6n@^2WFcJ$v_Km!(rQ&m3sgmGp{4gKEu~tNmU`=wEOfc-;$~^7x7OQ# zuyxd`4kknX!I${157kmp|dC&v|zfQVfnWe#vg$_gtRyoadb6`#*1g3!o40 z8i*-$*!hLt87Js<+)2-$vjS(P_mJhzoVKT&Lf~IE5Lc+5wk}$|vz9y6dun3Z&IJmI z2^tj?nuhh=Lg38y9`t?d@-W>76lzADDc1@Xd|P2xC7Zp&>tr4nqLam7!qzt4LHdRQRLLF*rps>+I0!fARu;bbz3v&~;|BN*;OE4RUy__{W zX8DeMj}GI(1&76KTMtu_4I(qFd|n75sLr9TF#|0Mo7X8Ng$&vR@fHDgkBJU!Wl4-c z;yOcC%2*xfI;T)A#7emeYKYWN*}=hF&RcMUu#7P8kOX|d#DnOhixb$s6?ncvb7xl> z*+bF!zy@To)4&dvzsg$i)3!dxRv&8}oU5-t-aVb_IvmWo{yLL3Nax*8b`KVRG|FZ>g z?kZ<+H1HjFYM_kM=wygZQb-+L%-QpS@WvvCt+pfEH_QGDQAZedbdS}nmCPTRd`;yIi#a9*LMLKPA8 z6kfuF%-9Kuoi|})lA_CbZeTfXp~Oi?XQd8B*POf*hEc1~FzI`9(P>eyrkqKq!?8>U z-Wr2c;H_R)7p+-zcuuKISRAJuTd9lY^k(p~30LMRML|dL43M+~6>2S$W@P%LH=DQp zb^CVFgb&tKheZ>YW$RQI8A)LfwQ}>CiP!N4!8vZ;UOYwCD()n`YOb1i6K`>MQS)L) zy{}3#{7vAjrbfL5KW86vWYIPVCB?8aw657&^aXFd&ni=i4O-?`ZNxq&B# zXr=h9&o0BvuApvw8TH?w;VW&uiJx^k&Su211!h(AT!>&jMgQzpIHr<(gyd^{XQM6Idq7E(UsuuWjMwA?NQhd2_nI;-BtS}@DlFt zkAIHlO#BwQ6uv`dq^+B2de85ZqlXo)|MgqjO*<YG@9fnW%>q^fEyYc5uf^Em@Sj%FrbvMnguCVTsnJcx{n5NejC)}F7Q3c zlZI?ld>IG&6Pd)0o$X6FvPwqC?h$4^Fr)C}=W^Q%!xheNvJ zj8LOdCTMvaCn7LOJ_k8(((C8>F14E3Hli63!ba928Ds7EtFOY5xt@l3px6pXG-JWVQR$m^_5+@~9sE+tNv5~riYpctPe zgev-l?GfI`2tMqB6kdd2SA=j@^byng2qk%ip|1X~^v`LIMFeH(6~#h`fE6;3Y-@_& zKy4=3+TN5{!V5Pebr_lC3SJs-Wpk`0lQtCkp%LG8GoL ztnAz3^wsO>mpxFgGs_T!(=XeXf0_Ql?q#wo_I-Enz7(Ml?#T3{YQL{tUbbDsCAz04aOi;(x3FYLmd@{lP%p&;Cb91yM$r&SNj<0fvbg3 zCdx44WiOBY7&omV%Fwu)5KVPU5`*rndKu2P(f*r9*Dwb`q#SWA<5?K-XpiIT;1rZj zKLSY6L$f2TlRBr$sAdkA$h{?>O6t3y-^qzn{MS{vLXhCtyH<)F<)!~t*OKzo1Mwbe4i)&@$=hv08epHML}WRjOW3rO#&MpNAa0X>}l{u+qjC7 z!s>~BuY;)$C&BCCi5VpdDfuBlX+|uiv2#B%FK+Sa4hghVB3Z^ z=_ow(^Zq>395B;o5Y2Kgy^O}Djv`iFT*FPK`ptm@gIGTRlv`imec~luMV7fSz literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/Terminal.class b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/Terminal.class new file mode 100644 index 0000000000000000000000000000000000000000..62a580da2a6b1ee2576d53623a170d63d26e5be5 GIT binary patch literal 1096 zcmaJ<`%lwQ7(I6z>sC7kgW;GWDn2$qDo@2BF&Z_*DTXaG{8+jRT(-7LX?^@xiU~_x zqQCn`8Nb_g50%)Y-R}1|-}%nDKYxAu4qy%23L*?wc-_|AMFf-1HbC!e+>ogM@JOr~cs~cX@q}8+GoM7!q4%Q`o}WW{4Jw zHHO$Tr_L2zVwk$PNkNKXx|iFrTfSHETy9uh%p}qnS1|Smo64tCk6Ri>kYUL7*$g$8 zRA`vgki`^3d@H1sD_mGxtf^3ulhxA<6N92~tzs<+l1t8uGo;JH=5KuKfV)-Wpvf6B zWyds{HNzG190XNFF)INRB!PD3ONMYlN`c6DoGY;+}3ah zcS&8xCp!kazm?5h;b`|F78K0WEq$Djn`nq+6DE6VUJGLkH)cgai^ivLzf z#g;WJL07QKkPik05PQDu35!4fX!4dP99zW-)}<61baRIHsvf(}2dNmXrr_Za+nwEh zHv^M;4161;NV8PMGt9UECfd0C75Oieh~O%H<5UjhF%v{&luQmGR_Rw}N9NnOHfT|) z2$-dL*Ml~#TSTWD6i?zN=0boCs+0hUGu)a#N8xXb1>(Cngpr`ja4*0hBSMUKw57xt zKSTZ;_dmbtU}c{Ot^EkXae{b2C32V1K#)y}Jfa<*^nnvZYLj9>iC)_HrR-tYqEiHq Fe*;hn>{kE) literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/commandline/Command.class b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/commandline/Command.class new file mode 100644 index 0000000000000000000000000000000000000000..4f560a01aff59b88f3399b805e8d3ff57c5d9e36 GIT binary patch literal 2547 zcma)7*>h866#sqAa&OXG8m>^bRu&PO6bNNiTCiyvAkZeIH*F1|a+}JHEvl+zyI7fRBoi@UNL7ap;t-f~s?A`WshP%; z(*`=^lXW`S`p!(LShaJ-N=s7b4Xl$dI&~zN)Qrus%s4XgxPeZo3FshD?xk8I*GU5b zDPFJRZ2?v!aM8eec;(k+16|m}NTZzjgi0f2&*U9B9Hoq%pR&t2$t$5BE?kjF*#cdw z0n|VvV_*X|O7D&V6R$9r>U^%k_Os&VS_y3E4Ze&gQQ({LmI>tGun_?^V%aHIQ>AD2 zgR3MET*R;gCb zIHz-RYK$g62V^gppp}~|+SOW_suL~Vr0L*V!8$cC)X#Ric)UA@w#ZEfNV(UFa)lM; zsw&FGRFqq&C|6EV?vVQI zLiGF&kv6xv%x?Dsym}YA6u;YTzOE^Lui}FqGvrnLKE)sKnqiOP`xSp!GmkX%#}xmD zZob*z2NZuY;5AR_%3w$dh69=zZA6SI!I^+=o^7~1rv#$`pE=eLB$ePoz;8~tl#i4W zOa*%-AS{=u%v|h)6l@3reL_%4Ngu-(q zzB-a5{yI`5?RBKBySVfV+t!A6_&dwSfoDr!DF?T+(DkA<81m6+kS?J zW1MZDX49|m)jV6iMB5cM{W`Yc7P|2*dhk77#ZTCd+w^h|JMjp+@Fy?ZyDFlL%72pv zRJhE+@lbAt`nn(Bz0gMYJcqj;|p4l0L6<3ZD*Kn_0$V%5wvH2+Nfok-j_H;FGbR6X?+QIm56U?kb8UNwkM_OTA)zA5cs_#tw6qX2kWKZQBJ>bn`~mU*c5V2I MFWc}nzESk%zl(bc^Z)<= literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/commandline/CommandLineParser.class b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/commandline/CommandLineParser.class new file mode 100644 index 0000000000000000000000000000000000000000..38047aa7b12709fc199602ce94790bae0c79d1ec GIT binary patch literal 7782 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 N&={0jBBIsO{{>dy-QfTL literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/exceptions/AccountDoesNotExistException.class b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/exceptions/AccountDoesNotExistException.class new file mode 100644 index 0000000000000000000000000000000000000000..cc67ce3e35b012ddef98b31cb0a6b3d2122b0174 GIT binary patch literal 376 zcmbVIF;2rk5S(?K7)-zsydYhm;0mZ9LP9_)D-BWl%jJM2&K>tFaFc zE3O2#(*!Z$alM?`a-wI2 zB^>A8=whl%ZuGVphZn90!~FjyuLY7_!UeX5(OWSk3y_b zL`y+4v$H$W?(FjG;}gIM1_>g<(3FjuaZqd@oS*B!Gi4Tqc?s-ntuBhfH8$M3sx5kT2X@9%U+Z7}RYGRV^)OzrK0 niKycr4RjCRvGyj72&rHy3}lEgz=l+Pv584|Q<$(N7$N%xF3e~& literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/exceptions/BankDoesNotExistException.class b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/bin/edu/kit/informatik/exceptions/BankDoesNotExistException.class new file mode 100644 index 0000000000000000000000000000000000000000..0533ffa075f4a04f934f81d4cc7207266ade9bd2 GIT binary patch literal 367 zcmbVIJx{|>3_Pc41EG)#b|f}n;0+)l1Y+Q8in@ThzorIE()UpEg8H|ZkQn#@{3wKj zDmE6DJD+XIcmDi({{V1=QG$qY%(K>%5{$TeU(aoj((t0-=OErS=EA!2%5yXJ;d&vB z!g7=#CTu;~7i%i(9?b86FgOz@;hfOh-J1~NOF!cjJ**DV$AFOK;&|N7r(ECJX~l%i z+!wZ**jhThY{ubH8p28bPlu<3^wzg^!8g(!+5R)jK^Fr%P{;ZiC{yQDF;R8+qk;bZ g8&+Pm5g}Dfm4OT~Mp)BosB5~Uysk{xP>hg$15|Kb3;+NC literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Account.java b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Account.java new file mode 100644 index 0000000..46e57fd --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Account.java @@ -0,0 +1,95 @@ +/* + * + */ +package edu.kit.informatik; + +/** + * The Class Account. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Account { + private final int accountNumber; + private final int bankCode; + private int balance; + + /** + * Instantiates a new account. + * + * @param accountNumber + * the account number + * @param bankCode + * the bank code + */ + public Account(final int accountNumber, final int bankCode) { + if (accountNumber < 0 || bankCode < 0) { + throw new IllegalArgumentException("Numbers must be > 0!"); + } + this.accountNumber = accountNumber; + this.bankCode = bankCode; + } + + /** + * Adds money to the account + * + * @param amount + * the amount + */ + public void deposit(final int amount) { + if (amount <= 0) { + return; + } + + balance += amount; + } + + /** + * Withdraws money from the account + * + * @param amount + * the amount + * @return true, if successful + */ + public boolean withdraw(final int amount) { + if (amount < 0 || balance - amount < 0) { + return false; + } else { + balance -= amount; + return true; + } + } + + /** + * Gets the balance. + * + * @return the balance + */ + public int getBalance() { + return balance; + } + + /** + * Gets the account number. + * + * @return the account number + */ + public int getAccountNumber() { + return accountNumber; + } + + /** + * Gets the bank code. + * + * @return the bank code + */ + public int getBankCode() { + return bankCode; + } + + @Override + public boolean equals(final Object obj) { + return (obj.getClass() == Account.class && ((Account) obj).accountNumber == this.accountNumber + && ((Account) obj).bankCode == this.bankCode); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/AccountHolder.java b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/AccountHolder.java new file mode 100644 index 0000000..2da8c7b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/AccountHolder.java @@ -0,0 +1,56 @@ +package edu.kit.informatik; + +/** + * The Class AccountHolder. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class AccountHolder { + private final String firstName; + private final String lastName; + private final int personnelNumber; + + /** + * Instantiates a new account holder. + * + * @param firstName + * the first name + * @param lastName + * the last name + * @param personnelNumber + * the personnel number + */ + public AccountHolder(final String firstName, final String lastName, final int personnelNumber) { + this.firstName = firstName; + this.lastName = lastName; + this.personnelNumber = personnelNumber; + } + + /** + * Gets the first name. + * + * @return the first name + */ + public String getFirstName() { + return firstName; + } + + /** + * Gets the last name. + * + * @return the last name + */ + public String getLastName() { + return lastName; + } + + /** + * Gets the personnel number. + * + * @return the personnel number + */ + public int getPersonnelNumber() { + return personnelNumber; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Bank.java b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Bank.java new file mode 100644 index 0000000..70102ca --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Bank.java @@ -0,0 +1,221 @@ +package edu.kit.informatik; + +import java.util.ArrayList; + +import edu.kit.informatik.exceptions.AccountDoesNotExistException; +import edu.kit.informatik.exceptions.AccountHolderDoesNotExistException; + +/** + * The Class Bank. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Bank { + + /** The bank code. */ + private final int bankCode; + + /** The data. */ + private final ArrayList>> data; + + /** + * Instantiates a new bank. + * + * @param bankCode + * the bank code + */ + public Bank(final int bankCode) { + this.bankCode = bankCode; + this.data = new ArrayList>>(); + } + + /** + * Adds the user. + * + * @param firstName + * the first name + * @param lastName + * the last name + * @param personnelNumber + * the personnel number + */ + public void addUser(final String firstName, final String lastName, final int personnelNumber) { + final AccountHolder accHolder = new AccountHolder(firstName, lastName, personnelNumber); + data.add(new Pair>(accHolder, new ArrayList())); + } + + /** + * Adds the account. + * + * @param accountNumber + * the account number + * @param personnelNumber + * the personnel number + * @return true, if successful + * @throws AccountHolderDoesNotExistException + * the account holder does not exist exception + */ + public boolean addAccount(final int accountNumber, final int personnelNumber) + throws AccountHolderDoesNotExistException { + for (final Pair> pair : data) { + if (pair.getFirst().getPersonnelNumber() == personnelNumber) { + pair.getSecond().add(new Account(accountNumber, bankCode)); + return true; + } + } + throw new AccountHolderDoesNotExistException(); + } + + /** + * Removes the account. + * + * @param accountNumber + * the account + * @throws AccountDoesNotExistException + * the account does not exist exception + */ + public void removeAccount(final int accountNumber) throws AccountDoesNotExistException { + for (final Pair> pair : data) { + if (pair.getSecond().remove(new Account(accountNumber, bankCode))) { + return; + } + } + throw new AccountDoesNotExistException(); + } + + /** + * Withdraws money from an account. + * + * @param accountNumber + * the account number + * @param amount + * the amount + * @return true, if successful + * @throws AccountDoesNotExistException + * the account does not exist exception + */ + public boolean withdraw(final int accountNumber, final int amount) throws AccountDoesNotExistException { + final Account acc = getAccount(accountNumber); + if (acc == null) { + return false; + } + return acc.withdraw(amount); + } + + /** + * Adds money to an account. + * + * @param accountNumber + * the account number + * @param amount + * the amount + * @throws AccountDoesNotExistException + * the account does not exist exception + */ + public void deposit(final int accountNumber, final int amount) throws AccountDoesNotExistException { + final Account acc = getAccount(accountNumber); + if (acc == null) { + throw new AccountDoesNotExistException(); + } + acc.deposit(amount); + } + + /** + * Transfers money from one account to another. + * + * @param fromAccountNumber + * the from account number + * @param toAccountnumber + * the to accountnumber + * @param amount + * the amount + * @return true, if successful + * @throws AccountDoesNotExistException + * the account does not exist exception + */ + public boolean transfer(final int fromAccountNumber, final int toAccountnumber, final int amount) + throws AccountDoesNotExistException { + final Account fromAcc = getAccount(fromAccountNumber); + final Account toAccount = getAccount(toAccountnumber); + if (!fromAcc.withdraw(amount)) { + return false; + } + + toAccount.deposit(amount); + return true; + + } + + /** + * Gets the number of accounts. Returns 0 if personnelNumber is not known in + * this bank. + * + * @param personnelNumber + * the personnel number + * @return the number of accounts + */ + public int getNumberOfAccounts(final int personnelNumber) { + for (final Pair> pair : data) { + if (pair.getFirst().getPersonnelNumber() == personnelNumber) { + return pair.getSecond().size(); + } + } + return 0; + } + + /** + * Checks if account is contained. + * + * @param account + * the account + * @return true, if successful + */ + public boolean containsAccount(final Account account) { + try { + final Account comp = getAccount(account.getAccountNumber()); + return account.equals(comp); + } catch (final AccountDoesNotExistException e) { + return false; + } + } + + /** + * Returns the balance of the account with the corresponding bank code. If + * there is no account with that bankCode -1 is returned. + * + * @param accountNumber + * the account number + * @return the balance, if unsuccessful -1 + * @throws AccountDoesNotExistException + * the account does not exist exception + */ + public int balance(final int accountNumber) throws AccountDoesNotExistException { + final Account acc = getAccount(accountNumber); + return acc.getBalance(); + } + + private Account getAccount(final int accountNumber) throws AccountDoesNotExistException { + final Account comp = new Account(accountNumber, bankCode); + for (final Pair> pair : data) { + if (pair.getSecond().contains(comp)) { + return pair.getSecond().get(pair.getSecond().indexOf(comp)); + } + } + throw new AccountDoesNotExistException(); + } + + /** + * Gets the bank code. + * + * @return the bank code + */ + public int getBankCode() { + return bankCode; + } + + @Override + public boolean equals(final Object obj) { + return (obj.getClass() == Bank.class && ((Bank) obj).getBankCode() == this.bankCode); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/BankRegistry.java b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/BankRegistry.java new file mode 100644 index 0000000..616f339 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/BankRegistry.java @@ -0,0 +1,233 @@ +package edu.kit.informatik; + +import java.util.ArrayList; + +import edu.kit.informatik.exceptions.AccountDoesNotExistException; +import edu.kit.informatik.exceptions.AccountHolderDoesNotExistException; +import edu.kit.informatik.exceptions.BankDoesNotExistException; + +/** + * The Class BankRegistry. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class BankRegistry { + + /** The banks. */ + private final ArrayList banks; + + /** + * Instantiates a new bank registry. + */ + public BankRegistry() { + banks = new ArrayList(); + } + + /** + * Adds the bank. + * + * @param bankCode + * the bank code + */ + public void addBank(final int bankCode) { + banks.add(new Bank(bankCode)); + } + + /** + * Gets the account number. + * + * @param personnelNumber + * the personnel number + * @return the account number + */ + public int getAccountNumber(final int personnelNumber) { + int counter = 0; + for (final Bank bank : banks) { + counter += bank.getNumberOfAccounts(personnelNumber); + } + return counter; + } + + /** + * Adds the user to the bank. + * + * @param firstName + * the first name + * @param lastName + * the last name + * @param personnelNumber + * the personnel number + * @param bankCode + * the bank code + * @throws BankDoesNotExistException + * the bank does not exist exception + */ + public void addUser(final String firstName, final String lastName, final int personnelNumber, final int bankCode) + throws BankDoesNotExistException { + final Bank bank = getBank(bankCode); + bank.addUser(firstName, lastName, personnelNumber); + } + + /** + * Removes the account. + * + * @param accountNumber + * the account number + * @param bankCode + * the bank code + * @throws BankDoesNotExistException + * the bank does not exist exception + * @throws AccountDoesNotExistException + * the account does not exist exception + */ + public void removeAccount(final int accountNumber, final int bankCode) + throws BankDoesNotExistException, AccountDoesNotExistException { + final Bank bank = getBank(bankCode); + bank.removeAccount(accountNumber); + } + + /** + * Deposit. + * + * @param accountNumber + * the account number + * @param bankCode + * the bank code + * @param amount + * the amount + * @throws AccountDoesNotExistException + * the account does not exist exception + * @throws BankDoesNotExistException + * the bank does not exist exception + */ + public void deposit(final int accountNumber, final int bankCode, final int amount) + throws AccountDoesNotExistException, BankDoesNotExistException { + final Bank bank = getBank(bankCode); + bank.deposit(accountNumber, amount); + } + + /** + * Withdraw. + * + * @param accountNumber + * the account number + * @param bankCode + * the bank code + * @param amount + * the amount + * @return true, if successful + * @throws AccountDoesNotExistException + * the account does not exist exception + * @throws BankDoesNotExistException + * the bank does not exist exception + */ + public boolean withdraw(final int accountNumber, final int bankCode, final int amount) + throws AccountDoesNotExistException, BankDoesNotExistException { + final Bank bank = getBank(bankCode); + return bank.withdraw(accountNumber, amount); + } + + /** + * Transfer. + * + * @param fromAccountNumber + * the from account number + * @param fromBankCode + * the from bank code + * @param toAccountNumber + * the to account number + * @param toBankCode + * the to bank code + * @param amount + * the amount + * @return true, if successful + * @throws AccountDoesNotExistException + * the account does not exist exception + * @throws BankDoesNotExistException + * the bank does not exist exception + */ + public boolean transfer(final int fromAccountNumber, final int fromBankCode, final int toAccountNumber, + final int toBankCode, final int amount) throws AccountDoesNotExistException, BankDoesNotExistException { + final Bank fromBank = getBank(fromBankCode); + // internal bank transfer + if (fromBankCode == toBankCode) { + return fromBank.transfer(fromAccountNumber, toAccountNumber, amount); + } + final Bank toBank = getBank(toBankCode); + // transfer between two different banks + if (fromBank.containsAccount(new Account(fromAccountNumber, fromBankCode)) + && toBank.containsAccount(new Account(toAccountNumber, toBankCode))) { + if (fromBank.withdraw(fromAccountNumber, amount)) { + fromBank.deposit(toAccountNumber, amount); + return true; + } else { + return false; + } + } else { + throw new AccountDoesNotExistException(); + } + + } + + /** + * Contains account. + * + * @param accountNumber + * the account number + * @param bankCode + * the bank code + * @return true, if successful + * @throws BankDoesNotExistException + * the bank does not exist exception + */ + public boolean containsAccount(final int accountNumber, final int bankCode) throws BankDoesNotExistException { + final Bank bank = getBank(bankCode); + return bank.containsAccount(new Account(accountNumber, bankCode)); + } + + /** + * Balance. + * + * @param accountNumber + * the account number + * @param bankCode + * the bank code + * @return the int + * @throws AccountDoesNotExistException + * the account does not exist exception + * @throws BankDoesNotExistException + * the bank does not exist exception + */ + public int balance(final int accountNumber, final int bankCode) + throws AccountDoesNotExistException, BankDoesNotExistException { + return getBank(bankCode).balance(accountNumber); + } + + /** + * Adds the account. + * + * @param accountNumber + * the account number + * @param personnelNumber + * the personnel number + * @param bankCode + * the bank code + * @throws BankDoesNotExistException + * the bank does not exist exception + * @throws AccountHolderDoesNotExistException + * the account holder does not exist exception + */ + public void addAccount(final int accountNumber, final int personnelNumber, final int bankCode) + throws BankDoesNotExistException, AccountHolderDoesNotExistException { + final Bank bank = getBank(bankCode); + bank.addAccount(accountNumber, personnelNumber); + } + + private Bank getBank(final int bankCode) throws BankDoesNotExistException { + if (!banks.contains(new Bank(bankCode))) { + throw new BankDoesNotExistException(); + } + return banks.get(banks.indexOf(new Bank(bankCode))); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Main.java b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Main.java new file mode 100644 index 0000000..825c518 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Main.java @@ -0,0 +1,29 @@ +package edu.kit.informatik; + +import edu.kit.informatik.commandline.CommandLineParser; + +/** + * The Class Main. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public final class Main { + + /** + * Instantiates a new main. + */ + private Main() { + } + + /** + * The main method. + * + * @param args + * the arguments + */ + public static void main(final String[] args) { + final CommandLineParser cParser = new CommandLineParser(); + cParser.run(); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Pair.java b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Pair.java new file mode 100644 index 0000000..c68d444 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Pair.java @@ -0,0 +1,50 @@ +package edu.kit.informatik; + +/** + * The Class Pair. + * + * @author Hannes Kuchelmeister + * @version 1.0 + * + * @param + * the generic type + * @param + * the generic type + */ +public class Pair { + + private final T first; + private final U second; + + /** + * Instantiates a new pair. + * + * @param first + * the first + * @param second + * the second + */ + public Pair(final T first, final U second) { + this.first = first; + this.second = second; + } + + /** + * Gets the first element of the pair. + * + * @return the first + */ + public T getFirst() { + return first; + } + + /** + * Gets the second element of the pair. + * + * @return the second + */ + public U getSecond() { + return second; + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Terminal.java b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Terminal.java new file mode 100644 index 0000000..af6c4c5 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/Terminal.java @@ -0,0 +1,68 @@ +package edu.kit.informatik; + + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +/** + * This class provides some simple methods for input/output from and to a + * terminal. + * + * Never modify this class, never upload it to Praktomat. This is only for your + * local use. If an assignment tells you to + * use this class for input and output never use System.out or System.in in the + * same assignment. + * + * @author ITI, VeriAlg Group + * @author IPD, SDQ Group + * @version 4 + */ +public final class Terminal { + + /** + * BufferedReader for reading from standard input line-by-line. + */ + private static BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + + /** + * Private constructor to avoid object generation. + */ + private Terminal() { + } + + /** + * Print a String to the standard output. + * + * The String out must not be null. + * + * @param out + * The string to be printed. + */ + public static void printLine(final String out) { + System.out.println(out); + } + + /** + * Reads a line from standard input. + * + * Returns null at the end of the standard input. + * + * Use Ctrl+D to indicate the end of the standard input. + * + * @return The next line from the standard input or null. + */ + public static String readLine() { + try { + return in.readLine(); + } catch (final IOException e) { + /* + * rethrow unchecked (!) exception to prevent students from being + * forced to use Exceptions before they have + * been introduced in the lecture. + */ + throw new RuntimeException(e); + } + } + +} \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/commandline/Command.java b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/commandline/Command.java new file mode 100644 index 0000000..6f3fcb4 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/commandline/Command.java @@ -0,0 +1,87 @@ +package edu.kit.informatik.commandline; + +/** + * The Enum Command. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public enum Command { + + /** The addbank. */ + ADDBANK("addbank", 1), + /** The adduser. */ + ADDUSER("adduser", 4), + /** The addaccount. */ + ADDACCOUNT("addaccount", 3), + /** The removeaccount. */ + REMOVEACCOUNT("removeaccount", 2), + /** The deposit. */ + DEPOSIT("deposit", 3), + /** The withdraw. */ + WITHDRAW("withdraw", 3), + /** The transfer. */ + TRANSFER("transfer", 5), + /** The getaccountnumber. */ + GETACCOUNTNUMBER("getaccountnumber", 1), + /** The containsaccount. */ + CONTAINSACCOUNT("containsaccount", 2), + /** The balance. */ + BALANCE("balance", 2), + /** The quit. */ + QUIT("quit", 0), + /** The invalid. */ + INVALID("", -1); + + private final String command; + + /** The param count. */ + private final int paramCount; + + /** + * Instantiates a new command. + * + * @param command + * the command + * @param paramCount + * the param count + */ + private Command(final String command, final int paramCount) { + this.paramCount = paramCount; + this.command = command; + } + + /** + * Gets the command. + * + * @return the command + */ + public String getCommand() { + return command; + } + + /** + * Gets the param count. + * + * @return the param count + */ + public int getParamCount() { + return paramCount; + } + + /** + * converts string to command. + * + * @param str + * the str + * @return the command + */ + public static Command convertToCommand(final String str) { + for (final Command command : Command.values()) { + if (command.getCommand().equals(str)) { + return command; + } + } + return Command.INVALID; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/commandline/CommandLineParser.java b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/commandline/CommandLineParser.java new file mode 100644 index 0000000..e1e1034 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/commandline/CommandLineParser.java @@ -0,0 +1,289 @@ +package edu.kit.informatik.commandline; + +import edu.kit.informatik.BankRegistry; +import edu.kit.informatik.Terminal; +import edu.kit.informatik.exceptions.AccountDoesNotExistException; +import edu.kit.informatik.exceptions.AccountHolderDoesNotExistException; +import edu.kit.informatik.exceptions.BankDoesNotExistException; + +/** + * The Class CommandLineParser. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class CommandLineParser { + private static final String SUCCESSFULL = "OK"; + private static final String NOT_NATURAL = "parameters have to be natural numbers"; + private static final String ACCOUNDHODLER_DOES_NOT_EXIST = "the accountholder does not exists within the bank"; + private static final String BANK_DOES_NOT_EXIST = "the bank does not exist"; + private static final String ACCOUNT_DOES_NOT_EXIST = "account does not exist in this bank"; + private static final String COMMAND_NOT_FOUND = "not valid command.'"; + private static final String WRONG_PARAMETER_COUNT = "the command expects %d parameter"; + private static final String WRONG_STRING_FORMAT = "strings have to be lowercase"; + private static final String UNEXPECTED_ERROR = "something unexpected went wront :("; + + private boolean readyToQuit; + + private final BankRegistry bankRegistry; + + /** + * Instantiates a new command line parser. + */ + public CommandLineParser() { + bankRegistry = new BankRegistry(); + readyToQuit = false; + } + + /** + * Runs the command line parser + */ + public void run() { + while (!readyToQuit) { + runCommand(Terminal.readLine()); + } + } + + private void runCommand(final String command) { + if (command == null) { + error(COMMAND_NOT_FOUND); + return; + } + final String[] arr = command.split("[\\s]"); + String[] parameters; + if (arr.length > 1) { + parameters = arr[1].split(";"); + } else { + parameters = new String[0]; + } + + final Command c = Command.convertToCommand(arr[0]); + // If parameter count does not match command + if (parameters.length != c.getParamCount() && !c.equals(Command.INVALID)) { + error(String.format(WRONG_PARAMETER_COUNT, c.getParamCount())); + return; + } + + switch (c) { + case WITHDRAW: + withdraw(parameters); + break; + case TRANSFER: + transfer(parameters); + break; + case REMOVEACCOUNT: + removeAccount(parameters); + break; + case GETACCOUNTNUMBER: + getAccountNumber(parameters); + break; + case DEPOSIT: + deposit(parameters); + break; + case CONTAINSACCOUNT: + containsAccount(parameters); + break; + case BALANCE: + balance(parameters); + break; + case ADDUSER: + addUser(parameters); + break; + case ADDBANK: + addBank(parameters); + break; + case ADDACCOUNT: + addAccount(parameters); + break; + case QUIT: + readyToQuit = true; + break; + default: + error(COMMAND_NOT_FOUND); + break; + } + } + + private void addUser(final String[] parameters) { + if (!isNaturalNumberString(parameters[2]) || !isNaturalNumberString(parameters[3])) { + error(NOT_NATURAL); + return; + } + if (!parameters[0].matches("[a-z]+") || !parameters[1].matches("[a-z]+")) { + error(WRONG_STRING_FORMAT); + return; + } + final String firstName = parameters[0]; + final String lastName = parameters[1]; + final int personnelNumber = Integer.parseInt(parameters[2]); + final int bankCode = Integer.parseInt(parameters[3]); + try { + bankRegistry.addUser(firstName, lastName, personnelNumber, bankCode); + Terminal.printLine(SUCCESSFULL); + } catch (final BankDoesNotExistException e) { + error(BANK_DOES_NOT_EXIST); + } + } + + private void addBank(final String[] parameters) { + if (!isNaturalNumberString(parameters[0])) { + error(NOT_NATURAL); + return; + } + final int bankCode = Integer.parseInt(parameters[0]); + bankRegistry.addBank(bankCode); + Terminal.printLine(SUCCESSFULL); + } + + private void addAccount(final String[] parameters) { + if (!isNaturalNumberString(parameters[0]) || !isNaturalNumberString(parameters[1]) + || !isNaturalNumberString(parameters[2])) { + error(NOT_NATURAL); + return; + } + final int accountNumber = Integer.parseInt(parameters[0]); + final int personnelNumber = Integer.parseInt(parameters[1]); + final int bankCode = Integer.parseInt(parameters[2]); + + try { + bankRegistry.addAccount(accountNumber, personnelNumber, bankCode); + Terminal.printLine(SUCCESSFULL); + } catch (final BankDoesNotExistException e) { + error(BANK_DOES_NOT_EXIST); + } catch (final AccountHolderDoesNotExistException e) { + error(ACCOUNDHODLER_DOES_NOT_EXIST); + } + } + + private void balance(final String[] parameters) { + if (!isNaturalNumberString(parameters[0]) || !isNaturalNumberString(parameters[1])) { + error(NOT_NATURAL); + return; + } + final int accountNumber = Integer.parseInt(parameters[0]); + final int bankCode = Integer.parseInt(parameters[1]); + + try { + Terminal.printLine(Integer.toString(bankRegistry.balance(accountNumber, bankCode))); + } catch (final AccountDoesNotExistException e) { + error(ACCOUNT_DOES_NOT_EXIST); + } catch (final BankDoesNotExistException e) { + error(BANK_DOES_NOT_EXIST); + } + } + + private void containsAccount(final String[] parameters) { + if (!isNaturalNumberString(parameters[0]) || !isNaturalNumberString(parameters[1])) { + error(NOT_NATURAL); + return; + } + final int accountNumber = Integer.parseInt(parameters[0]); + final int bankCode = Integer.parseInt(parameters[1]); + try { + Terminal.printLine(Boolean.toString(bankRegistry.containsAccount(accountNumber, bankCode))); + } catch (final BankDoesNotExistException e) { + error(BANK_DOES_NOT_EXIST); + } + } + + private void deposit(final String[] parameters) { + if (!isNaturalNumberString(parameters[0]) || !isNaturalNumberString(parameters[1]) + || !isNaturalNumberString(parameters[2])) { + error(NOT_NATURAL); + return; + } + final int accountNumber = Integer.parseInt(parameters[0]); + final int bankCode = Integer.parseInt(parameters[1]); + final int amount = Integer.parseInt(parameters[2]); + + try { + bankRegistry.deposit(accountNumber, bankCode, amount); + Terminal.printLine(SUCCESSFULL); + } catch (final AccountDoesNotExistException e) { + error(ACCOUNT_DOES_NOT_EXIST); + } catch (final BankDoesNotExistException e) { + error(BANK_DOES_NOT_EXIST); + } + } + + private void getAccountNumber(final String[] parameters) { + if (!isNaturalNumberString(parameters[0])) { + error(NOT_NATURAL); + return; + } + final int personnelNumber = Integer.parseInt(parameters[0]); + Terminal.printLine(Integer.toString(bankRegistry.getAccountNumber(personnelNumber))); + } + + private void removeAccount(final String[] parameters) { + if (!isNaturalNumberString(parameters[0]) || !isNaturalNumberString(parameters[1])) { + error(NOT_NATURAL); + return; + } + final int accountNumber = Integer.parseInt(parameters[0]); + final int bankCode = Integer.parseInt(parameters[1]); + try { + bankRegistry.removeAccount(accountNumber, bankCode); + Terminal.printLine(SUCCESSFULL); + } catch (final AccountDoesNotExistException e) { + error(ACCOUNT_DOES_NOT_EXIST); + } catch (final BankDoesNotExistException e) { + error(BANK_DOES_NOT_EXIST); + } + + } + + private void transfer(final String[] parameters) { + if (!isNaturalNumberString(parameters[0]) || !isNaturalNumberString(parameters[1]) + || !isNaturalNumberString(parameters[2]) || !isNaturalNumberString(parameters[3]) + || !isNaturalNumberString(parameters[4])) { + error(NOT_NATURAL); + return; + } + final int fromAccountNumber = Integer.parseInt(parameters[0]); + final int fromBankCode = Integer.parseInt(parameters[1]); + final int toAccountNumber = Integer.parseInt(parameters[2]); + final int toBankCode = Integer.parseInt(parameters[3]); + final int amount = Integer.parseInt(parameters[4]); + + try { + bankRegistry.transfer(fromAccountNumber, fromBankCode, toAccountNumber, toBankCode, amount); + Terminal.printLine(SUCCESSFULL); + } catch (final AccountDoesNotExistException e) { + error(ACCOUNT_DOES_NOT_EXIST); + } catch (final BankDoesNotExistException e) { + error(BANK_DOES_NOT_EXIST); + } + } + + private void withdraw(final String[] parameters) { + if (!isNaturalNumberString(parameters[0]) || !isNaturalNumberString(parameters[1]) + || !isNaturalNumberString(parameters[2])) { + error(NOT_NATURAL); + return; + } + final int accountNumber = Integer.parseInt(parameters[0]); + final int bankCode = Integer.parseInt(parameters[1]); + final int amount = Integer.parseInt(parameters[2]); + + try { + if (bankRegistry.withdraw(accountNumber, bankCode, amount)) { + Terminal.printLine(SUCCESSFULL); + } else { + error(UNEXPECTED_ERROR); + } + } catch (final AccountDoesNotExistException e) { + error(ACCOUNT_DOES_NOT_EXIST); + } catch (final BankDoesNotExistException e) { + error(BANK_DOES_NOT_EXIST); + } + } + + private boolean isNaturalNumberString(final String str) { + return str.matches("[0-9]+"); + } + + private void error(final String str) { + Terminal.printLine("Error, " + str); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/exceptions/AccountDoesNotExistException.java b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/exceptions/AccountDoesNotExistException.java new file mode 100644 index 0000000..a455f46 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/exceptions/AccountDoesNotExistException.java @@ -0,0 +1,17 @@ +package edu.kit.informatik.exceptions; + +/** + * The Class AccountDoesNotExistException. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class AccountDoesNotExistException extends Exception { + + /** + * Instantiates a new account does not exist exception. + */ + public AccountDoesNotExistException() { + super(); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/exceptions/AccountHolderDoesNotExistException.java b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/exceptions/AccountHolderDoesNotExistException.java new file mode 100644 index 0000000..3c746e5 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/exceptions/AccountHolderDoesNotExistException.java @@ -0,0 +1,17 @@ +package edu.kit.informatik.exceptions; + +/** + * The Class AccountHolderDoesNotExistException. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class AccountHolderDoesNotExistException extends Exception { + + /** + * Instantiates a new account holder does not exist exception. + */ + public AccountHolderDoesNotExistException() { + super(); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/exceptions/BankDoesNotExistException.java b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/exceptions/BankDoesNotExistException.java new file mode 100644 index 0000000..0899d2e --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6B_Bank/src/edu/kit/informatik/exceptions/BankDoesNotExistException.java @@ -0,0 +1,17 @@ +package edu.kit.informatik.exceptions; + +/** + * The Class BankDoesNotExistException. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class BankDoesNotExistException extends Exception { + + /** + * Instantiates a new bank does not exist exception. + */ + public BankDoesNotExistException() { + super(); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.checkstyle b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.checkstyle new file mode 100644 index 0000000..c9f8d32 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.checkstyle @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.classpath b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.classpath new file mode 100644 index 0000000..fceb480 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.project b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.project new file mode 100644 index 0000000..3456931 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.project @@ -0,0 +1,17 @@ + + + Assignment6C_HtmlParser + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.settings/org.eclipse.jdt.core.prefs b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/2016-03-19_12-17-51.zip b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/2016-03-19_12-17-51.zip new file mode 100644 index 0000000000000000000000000000000000000000..33b671a1526a6de8ec400232408413897cea64c7 GIT binary patch literal 16725 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 Yl&l2E`#}Q$fb#y)f4^E`|M}bh0S&}EZU6uP literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/Assignment6C_HtmlParser.iml b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/Assignment6C_HtmlParser.iml new file mode 100644 index 0000000..1570ffe --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/Assignment6C_HtmlParser.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/Command.class b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/Command.class new file mode 100644 index 0000000000000000000000000000000000000000..6d42c2c8f521932bb52945f53f9037f5c9a94228 GIT binary patch literal 1804 zcmaJ>T~`}b6x}zIWI{R=Isz>egerx6w1gs7TPT7d)Yt%RCqz?ya0pX6B_DJ$VJ+T$ z@hAAEPrmq2Q`@q1$@1BM(m!F{_a@p1lo#&YlY92rXP+jzV0nFloj)1_Bv(-rL zxPHp5KCF2a+jnJu5PC?)kZ}iY-N`2r#}-I&b>W#PC&~q z-4+Pm+sNhx^z2$;DVJU5SE&UqVCLRHTfXO3x0w~)wLQC%t~IK@fXE7*$*gUxjx%{9 zV+o9Wb$Zdre5veKU4Mb~WAOs(r)yhI1fdA}NxkmaUg=R30_P1}z#v2O?dS2>aXQ%( zLh(Wu(=QqbAsm4o!MiNw+uJfaW^?AHpj)DUXdsF+ zr{8!@!P`{=!?aV_b1TJH+MURKpi=T-cqf)=Xid;_Fw+=2?XM&jYsOfVBixh zQujT(+;B)~G!{Q~rZVYM10UhzD3-CJBSSJrjbq?8=*Y11q+yo{+TTfSeeCqTMv*Xwh~2hlkjxp;CntXjh>IV-MohtZzHl+=O*EqA+W z`wfpjO?9Bj)cMnfvM{%JjS_48m!K~WN>>9s>0@=$xay=^`NEWLQYZZd^bSey%1j!( z7w3p$^7eyz3w-lCMA3XlGy8%sG4KpS>OLGaM_Tt$b-xrc-_z9Z9@qaM zfY!v2RSY&UY869Gj9bNU6LISqlE1K409W~Ug4+Z#)9L$Oaym~|W8^bQKGW!bo%p|Tp$Lt$?6G6VX%)TaAVUox(g*B#hGjYA$ zaZ4Ymr71U%SwcFuT`9$r`;SoKSIj=;M~i$|1*a9D(R$DZ6u5z#j7U*ClV^TDl6>QY zqD6r(G zDRBo>>M~hmFoG3~at|kwRV4=qOjzDpw&raTc=LJwu L2w&h!br$~tS%O~f literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/CommandLineParser.class b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/CommandLineParser.class new file mode 100644 index 0000000000000000000000000000000000000000..c8630c102ee834f2b37e2d92f46c430cf334f86b GIT binary patch literal 3526 zcma)8X;&NP6@JDNj1c2Z!Fa>=q#+gv$r#&-YnwR1GPY$l12PmaA%ipq*+PRyBe2~i zY3sI0o9^j?yQGcN(x#h@W5H<}KDOudfAlBxTiW!wGh!<`X?4!LGxuHY@;vw6SAYNa zpO*ogz@myR3hK>tq4{RUY0l)XTlSRUWNtRct*I#^m+s8u%qxbSH*FPu1v_pSGe&dP z$W1i&jNdR*j)I->p02L8?(<{aJ;|{PJy*NWD+qP2?dx~!Om5}TAwy-W6E?)TS2vL8tFSp ztCz|YD8mYT)URMqXBjw>hJ?^i-#?g0#xIQ}+s<{i3vBg-t$q!*`Vwpkwu~ecRJLYv z8RslLZP<)Rg$=TN&Xx&N348y zAs0jgA}Sgc>@Vk^X-{QxMpi=;q6z{6wRonWrlD~&6hTICL_;%b6a=Y!6~(Rnj*+_A zWlXz%%eG@0j?1B{ENozHTqvZ^K0`h0XUb}`1xX7xRFdY`4 zF%`E8F7^$Li7KuqG+ai90yWV+(AJq?(bfGgm0cRT(Zj4XZxxIz>EDo*UOk^_91fxv z{VMuc+G|yuAoUZbts#l4G|HMSm_65-oDGTfe3rH`f|D53@EHuzoYzwnoGOFEdfZn$ z*i3~GKcZnLu91<3#*u^|^sa=D}J8tCJ zn`ZHvhA-kv1l5?HHgjnOu`)!i&w>qBm_uX?D}Xr#_GSX)t_kbq@E26{6k%DRLcnjf>=i;>E)el@X!t39Ml4v~yjzmyZFZ)^{}--qalNhK7s8dFx9d~@?=aokr6ERjxeeZx zS_w&!{9402enaluie)q;g1wOs zuz#p&5eJ^&&?ByFp-s`^=eUbwEvm4aUwiN=Ip>|mGpMH|^0TfNa~*($}Y5{hD{Or2i=Q(_ddDHS#X>^ecH0iQt=v>0EOpP9SkH+{r!AIf}J|y}mpSp;j7|s*M z*dkt;$4+^t=TTMi%iS)34ihRl<|kl5f>q6m4Ix6%nizVND={?UC|Yog_uO&3Omkx_ z%5gsTaEcw_G~PrjzKa*|7SnAGFR@_G;T`T4V$Kp2Lb6KC16+5B3Gu`PCS6*6$neWY zJ9kT8EwFI|9rQ||-iNB{kFZC@&5z)B$LCbMSg)#T1<&&y@d&^_xL?vE-Q+tK$`+Bk zFFe?S8HqkrgwqxM0JB4(JB#=%_Z0EDB3=#M;ZVevNzAf8eKxwXaBmKk_k7B#{54NL zu!OHK;hSqIbA*@y367VUE*(U#iyrq7lPjFUG$+yj zcqMu_toud$oKbJ^zt&A!$%7HpVH5|*?@_$6uB=*C{cI`uSt@{9@s$7aO3rkaoT+g^ z{-uEIL0hutm2l8?IK|>mud`9JYNN(QK-m!>n%7F2A5*iW_~ivW82T&x4+odE$gCkMfg1h|BCP@3KgC(^cW8wl7SuA%ZL{k@nPoP0<-=&p6B}{ rb2!eo*Ak?;fz3v;S)i8KpF!0n74Lt{AQZl3SU|_dfybV>M~eReKRzna literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/FileInputHelper.class b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/FileInputHelper.class new file mode 100644 index 0000000000000000000000000000000000000000..d285b179de355d9e3d22bbb3b0a326aa14121021 GIT binary patch literal 1689 zcmah}O>Y}j6g|%#dz`_gX_6+flQwM#sof-XTbF*=CJkv58i<`zr$Ld}Ozf9*lF5u2 zkD)ABus~viSRf%J76^o7v4c%g5ear6@jv((5Y8LNrfwpkD1PsLynF6F_ul#QpI?3j za06>PLIUHm+Q{r!e#UY(U2oU)t)0xGWy>X}*6<%lyCyvynn3Ti`GJ|SO=l~!vau~I zzCg5KIhH>w5Kg7n1hji@RT>DRCyofB0;iWPN0u798`4`fH*6`;x9nC-d(HGLB_Am@ z|A|!>m{|V*O!7qWq*)c1OfCPHP}%n^XDgpRuF`QvVCY59`G#dzrDvcQJvs)MSKwi} zLFJDKpp5+(RD}!)oIMF_Erx`EzTkPTH+@0H8Zl73Ov>*f}z8AzRwzKS{?$19j1+h(mM9hN?GQZ~m*KdLdWLQKYSNdd-u zw?&nKG^TW178p5!^i}EYT8?SQF|DfasgYe@_0qr^8iLRJ+YuURd!fiW#<$yUcF`5aJ(qn6geO%Tw@- zT;50Q=fG_6*Ps(H01bn9iMM#miRURwJ$MT zv_B62Y9g1@I^mS->s|5qY_5s1T(pT~F4B@Bxo9HtTjxGS^q*LJ@CD#T=U}4BnfnBv z;xnE(-acnBU*Jo8Mfn?ii|=`c`2yHRlE34KVS@4`zap0~gcN4Da@V*}IquLLGPsAU zc#E2cxQ@qU_&w@O+{7ks;bYt;MxJ;DBHbZUo>&EZjk`q46R&_D7)6o(phYa>-KP}8 zcUZt8X*cNgCaoc&C$U7VFtJ^{jb+~Ea1lkm(1YJ6!lnt+>I;3w z`=MYcwc`N~dt6H!&y%jXkQ0VV`#q4I@ZnL zi;mSOP`9i>d>$lR^GFz>CqCA(;o&YrHHGO+=twFa7O;sjLp~vJV+&x|sHL%bs4yI) zAf3ih#MRKg{lN7^XdhMF^RUCPpK|@R48>cOOwAh+CPEi*AG=hs7JSHXm`1&*#>W=+ ztm|dFdr-iE_21D`GR@_BME0(ySVxBmHy5@q3$`+NgPD9%k=B}pGO151UBd_C4o~K- z^}F#@4}>j|EVZ+AY>Ds$q>d&J$k0c_La|5DGg=v~ON}e!zTY1E^!Mo!a0f1mSf*WJ zc8S&%it=<)oCAC%SPL99ZrpFkl~%7&YB*2Zzp(Z3=o;Hs2s+Il*tggY;R4%44l*r^ w3Sn0XX~(t;yVM8E70mGP5Qh{Mv4%&e5nGjH*U=zlN0fKKmMPh!Z3d730&Bv@SpWb4 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/Pair.class b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/Pair.class new file mode 100644 index 0000000000000000000000000000000000000000..469fc48d679c463b09e742bb5b1cb4a6bc9efe83 GIT binary patch literal 899 zcma)4&2G~`7@W<&gQ3NQmQwmhD{unB7fujGLP$MDfRr@%O|lK!rZ#dMBu=~%NK{B1 zcmN&>F<)!~t*OKzo1Mwbe4i)&@$=hv08epHML}WRjOW3rO#&MpNAa0X>}l{u+qjC7 z!s>~BuY;)$C&BCCi5VpdDfuBlX+|uiv2#B%FK+Sa4hghVB3Z^ z=_ow(^Zq>395B;o5Y2Kgy^O}Djv`iFT*FPK`ptm@gIGTRlv`imec~luMV7fSz literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/Tag.class b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/Tag.class new file mode 100644 index 0000000000000000000000000000000000000000..27bffef3f0da4b31050d8d07e21528360104703c GIT binary patch literal 3736 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 DKXB|e literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/html.txt b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/html.txt new file mode 100644 index 0000000..940d61c --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/bin/edu/kit/informatik/html.txt @@ -0,0 +1,11 @@ + +head + +Titel + +Inhalt des HTML-Dokumentes Zeile1 +Inhalt des +HTML-Dokumentes +Zeile2 + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Command.java b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Command.java new file mode 100644 index 0000000..dc84ed0 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Command.java @@ -0,0 +1,75 @@ +package edu.kit.informatik; + +/** + * The Enum Command. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public enum Command { + + /** set command. */ + SEARCH("search", 1), + + /** tag coommand */ + TAG("tag", 1), + + /** quit command. */ + QUIT("quit", 0), + + /** invalid command. */ + INVALID("", -1); + + /** The command. */ + private final String command; + + /** The param count. */ + private final int paramCount; + + /** + * Instantiates a new command. + * + * @param command + * the command + * @param paramCount + * the param count + */ + private Command(final String command, final int paramCount) { + this.paramCount = paramCount; + this.command = command; + } + + /** + * Gets the command. + * + * @return the command + */ + public String getCommand() { + return command; + } + + /** + * Gets the param count. + * + * @return the param count + */ + public int getParamCount() { + return paramCount; + } + + /** + * converts string to command. + * + * @param str + * the str + * @return the command + */ + public static Command convertToCommand(final String str) { + for (final Command command : Command.values()) { + if (command.getCommand().equals(str)) { + return command; + } + } + return INVALID; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/CommandLineParser.java b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/CommandLineParser.java new file mode 100644 index 0000000..dc44eeb --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/CommandLineParser.java @@ -0,0 +1,101 @@ +package edu.kit.informatik; + +/** + * The Class CommandLineParser. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class CommandLineParser { + private static final String COMMAND_NOT_FOUND = "not valid command. Use: 'search ', 'tag ', 'quit'"; + private static final String WRONG_PARAMETER_COUNT = "the command expects %d parameter"; + private boolean readyToQuit; + private final Tag tag; + + /** + * Instantiates a new command line parser. + * + * @param fileContent + * the file content + */ + public CommandLineParser(final String fileContent) { + readyToQuit = false; + tag = new Tag(fileContent); + } + + /** + * Runs the command line parser + */ + public void run() { + while (!readyToQuit) { + runCommand(Terminal.readLine()); + } + } + + private void runCommand(final String command) { + if (command == null) { + error(COMMAND_NOT_FOUND); + return; + } + final String[] arr = command.split("[\\s]"); + String[] parameters; + if (arr.length > 1) { + parameters = arr[1].split("[\\,]"); + } else { + parameters = new String[0]; + } + + final Command c = Command.convertToCommand(arr[0]); + // If parameter count does not match command + if (parameters.length != c.getParamCount() && !c.equals(Command.INVALID)) { + error(String.format(WRONG_PARAMETER_COUNT, c.getParamCount())); + return; + } + + switch (c) { + case QUIT: + readyToQuit = true; + break; + case SEARCH: + search(parameters); + break; + case TAG: + tag(parameters); + break; + default: + error(COMMAND_NOT_FOUND); + break; + + } + } + + private void search(final String[] parameters) { + if (!parameters[0].matches("[a-zA-Z0-9_-]+")) { + error("the parameters of search have to consist of letters, numbers, '_' and '-'"); + return; + } + final String str = tag.toString(); + + int count = str.split(" " + parameters[0].toLowerCase() + " ").length - 1; + if (str.startsWith(parameters[0].toLowerCase())) { + count++; + } + if (str.endsWith(parameters[0].toLowerCase())) { + count++; + } + Terminal.printLine(Integer.toString(count)); + } + + private void tag(final String[] parameters) { + if (!parameters[0].matches("[a-z0-9]+") || parameters[0].equals("head")) { + error("the parameters of 'tag' have to consist of lower case letters and/or numbers " + + "and searches for 'head' are forbidden"); + return; + } + Terminal.printLine(tag.getTagText(parameters[0]).trim().toLowerCase()); + } + + private void error(final String str) { + Terminal.printLine("Error, " + str); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/FileInputHelper.java b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/FileInputHelper.java new file mode 100644 index 0000000..b2fc880 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/FileInputHelper.java @@ -0,0 +1,67 @@ +package edu.kit.informatik; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; + +/** + * Helper class for reading text files. + * + * @author IPD Reussner, KIT + * @author ITI Sinz, KIT + * @version 1.1 + */ +public final class FileInputHelper { + + /** + * Private constructor to avoid instantiation. + */ + private FileInputHelper() { + // intentionally left blank + } + + /** + * Reads the specified file and returns its content as a String array, where + * the first array field contains the + * file's first line, the second field contains the second line, and so on. + * + * @param file + * the file to be read + * @return the content of the file + */ + public static String read(final String file) { + final StringBuilder result = new StringBuilder(); + + FileReader in = null; + try { + in = new FileReader(file); + } catch (final FileNotFoundException e) { + Terminal.printLine("Error, " + e.getMessage()); + System.exit(1); + } + + final BufferedReader reader = new BufferedReader(in); + try { + String line = reader.readLine(); + while (line != null) { + result.append(line); + line = reader.readLine(); + if (line != null) { + result.append("\n"); + } + } + } catch (final IOException e) { + Terminal.printLine("Error, " + e.getMessage()); + System.exit(1); + } finally { + try { + reader.close(); + } catch (final IOException e) { + // no need for handling this exception + } + } + return result.toString(); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Main.java b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Main.java new file mode 100644 index 0000000..f153c4f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Main.java @@ -0,0 +1,32 @@ +package edu.kit.informatik; + +/** + * The Class Main. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public final class Main { + + /** + * Instantiates a new main. + */ + private Main() { + } + + /** + * The main method. + * + * @param args + * the arguments + */ + public static void main(final String[] args) { + if (args.length != 1) { + Terminal.printLine("Error, wrong number of parameters"); + } + final String path = args[0]; + final CommandLineParser cParser = new CommandLineParser(FileInputHelper.read(path)); + cParser.run(); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Pair.java b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Pair.java new file mode 100644 index 0000000..c68d444 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Pair.java @@ -0,0 +1,50 @@ +package edu.kit.informatik; + +/** + * The Class Pair. + * + * @author Hannes Kuchelmeister + * @version 1.0 + * + * @param + * the generic type + * @param + * the generic type + */ +public class Pair { + + private final T first; + private final U second; + + /** + * Instantiates a new pair. + * + * @param first + * the first + * @param second + * the second + */ + public Pair(final T first, final U second) { + this.first = first; + this.second = second; + } + + /** + * Gets the first element of the pair. + * + * @return the first + */ + public T getFirst() { + return first; + } + + /** + * Gets the second element of the pair. + * + * @return the second + */ + public U getSecond() { + return second; + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Tag.java b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Tag.java new file mode 100644 index 0000000..a931a92 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Tag.java @@ -0,0 +1,115 @@ +package edu.kit.informatik; + +import java.util.ArrayList; + +/** + * The Class Tag. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Tag { + private final String name; + private final ArrayList> text; + private final ArrayList subTags; + + /** + * Instantiates a new tag. + * + * @param str + * the string which starts with the tag and ends with the tag + */ + public Tag(final String str) { + final String noEnter = str.replace("\n", " "); + text = new ArrayList>(); + + subTags = new ArrayList(); + final String[] splitted = noEnter.split("(?<=" + ">)|(?=(]") && openTag >= 0) { + if (getTagName(splitted[i].trim()).equals(subTagName)) { + String sub = ""; + for (int j = openTag; j <= i; j++) { + sub += splitted[j]; + } + subTags.add(new Tag(sub)); + openTag = -1; + } + } + // opening tag + if (splitted[i].trim().matches("[]") && openTag == -1) { + openTag = i; + subTagName = getTagName(splitted[i].trim()); + } + // text + if (splitted[i].trim().matches("([a-zA-Z0-9_-](\\s[a-zA-Z0-9_-])?)+") && openTag == -1) { + final String[] tmpStrArr = splitted[i].split(" "); + for (final String string : tmpStrArr) { + this.text.add(new Pair(new Integer(subTags.size()), string.toLowerCase())); + } + } + } + } + + /** + * Searches f. + * + * @param tagName + * the tag name + * @return the string + */ + public String getTagText(final String tagName) { + if (this.name.equals(tagName)) { + return this.toString(); + } + + String ret = ""; + for (final Tag tag : subTags) { + if (!tag.getTagText(tagName).equals("")) { + ret += tag.getTagText(tagName) + "\n"; + } + } + return ret.trim(); + } + + private String getTagName(final String tag) { + String tmp = ""; + for (final char c : tag.toCharArray()) { + if (c != '<' && c != '>' && c != '/') { + tmp += Character.toString(c); + } + } + return tmp; + } + + /** + * Finds the corresponding text to a tag + */ + private String intToText(final int i) { + String ret = ""; + for (final Pair pair : text) { + if (pair.getFirst() == i) { + ret += pair.getSecond() + " "; + } + } + return ret.trim(); + } + + @Override + public String toString() { + String str = ""; + for (int i = 0; i < subTags.size() || i < text.size(); i++) { + str += intToText(i); + if (i < subTags.size()) { + str += subTags.get(i).toString() + " "; + } + } + return str.trim(); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Terminal.java b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Terminal.java new file mode 100644 index 0000000..5093f94 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/Terminal.java @@ -0,0 +1,63 @@ +package edu.kit.informatik; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +/** + * This class provides some simple methods for input/output from and to a terminal. + * + * Never modify this class, never upload it to Praktomat. This is only for your local use. If an assignment tells you to + * use this class for input and output never use System.out or System.in in the same assignment. + * + * @author ITI, VeriAlg Group + * @author IPD, SDQ Group + * @version 4 + */ +public final class Terminal { + + /** + * BufferedReader for reading from standard input line-by-line. + */ + private static BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + + /** + * Private constructor to avoid object generation. + */ + private Terminal() { + } + + /** + * Print a String to the standard output. + * + * The String out must not be null. + * + * @param out + * The string to be printed. + */ + public static void printLine(String out) { + System.out.println(out); + } + + /** + * Reads a line from standard input. + * + * Returns null at the end of the standard input. + * + * Use Ctrl+D to indicate the end of the standard input. + * + * @return The next line from the standard input or null. + */ + public static String readLine() { + try { + return in.readLine(); + } catch (IOException e) { + /* + * rethrow unchecked (!) exception to prevent students from being forced to use Exceptions before they have + * been introduced in the lecture. + */ + throw new RuntimeException(e); + } + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/html.txt b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/html.txt new file mode 100644 index 0000000..940d61c --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Assignment6C_HtmlParser/src/edu/kit/informatik/html.txt @@ -0,0 +1,11 @@ + +head + +Titel + +Inhalt des HTML-Dokumentes Zeile1 +Inhalt des +HTML-Dokumentes +Zeile2 + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/.checkstyle b/Uni/Java/WS1516/Programmieren/Final01/.checkstyle new file mode 100644 index 0000000..4d50a66 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/.checkstyle @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Final01/.classpath b/Uni/Java/WS1516/Programmieren/Final01/.classpath new file mode 100644 index 0000000..0a757b9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Final01/.project b/Uni/Java/WS1516/Programmieren/Final01/.project new file mode 100644 index 0000000..84bd6fc --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/.project @@ -0,0 +1,17 @@ + + + Final01 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Uni/Java/WS1516/Programmieren/Final01/.settings/org.eclipse.jdt.core.prefs b/Uni/Java/WS1516/Programmieren/Final01/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Uni/Java/WS1516/Programmieren/Final01/2016-03-19_12-17-51.zip b/Uni/Java/WS1516/Programmieren/Final01/2016-03-19_12-17-51.zip new file mode 100644 index 0000000000000000000000000000000000000000..1eab5b7814aaf883a6965ed96af793eb0c480b35 GIT binary patch literal 101656 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 z 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 mVO8NDJ*)84A$L34)IuS=- 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 S)Z_X@4QRks3^@Gw-~Ryc4V+>C literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/treeGraph.graph b/Uni/Java/WS1516/Programmieren/Final01/bin/treeGraph.graph new file mode 100644 index 0000000..773b01b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/treeGraph.graph @@ -0,0 +1,14 @@ +A +B +C +D +E +F +G +-- +A;B;2;5 +A;C;100;2 +B;D;100;60 +B;E;300;20 +C;F;4;4 +C;G;20;6 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/treeGraph.test b/Uni/Java/WS1516/Programmieren/Final01/bin/treeGraph.test new file mode 100644 index 0000000..69d5c7c --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/treeGraph.test @@ -0,0 +1,80 @@ +<"C:\Eclipse\workspace\Final01\tests\treeGraph.graph"> +#Init test +"A +B +C +D +E +F +G +-- +A;B;2;5 +A;C;100;2 +B;D;100;60 +B;E;300;20 +C;F;4;4 +C;G;20;6" : "info" + +#Nodes +"B +C" : "nodes A" +"A +D +E" : "nodes B" +"A +F +G" : "nodes C" +"B" : "nodes D" +"B" : "nodes E" +"C" : "nodes F" +"C" : "nodes G" + +#Routes +#From root +"A B" : "route A;B;time" +"A B" : "route A;B;route" +"A B" : "route A;B;optimal" +"A B" : "route A;B;all" +5 : "search A;B;time" +2 : "search A;B;route" +29 : "search A;B;optimal" + +"A C" : "route A;C;time" +"A C" : "route A;C;route" +"A C" : "route A;C;optimal" +"A C" : "route A;C;all" +2 : "search A;C;time" +100 : "search A;C;route" +10004 : "search A;C;optimal" + +"A B D" : "route A;D;time" +"A B D" : "route A;D;route" +"A B D" : "route A;D;optimal" +"A B D" : "route A;D;all" +65 : "search A;D;time" +102 : "search A;D;route" +14629 : "search A;D;optimal" + +"A B E" : "route A;E;time" +"A B E" : "route A;E;route" +"A B E" : "route A;E;optimal" +"A B E" : "route A;E;all" +25 : "search A;E;time" +302 : "search A;E;route" +91829 : "search A;E;optimal" + +"A C F" : "route A;F;time" +"A C F" : "route A;F;route" +"A C F" : "route A;F;optimal" +"A C F" : "route A;F;all" +6 : "search A;F;time" +104 : "search A;F;route" +10852 : "search A;F;optimal" + +"A C G" : "route A;G;time" +"A C G" : "route A;G;route" +"A C G" : "route A;G;optimal" +"A C G" : "route A;G;all" +8 : "search A;G;time" +120 : "search A;G;route" +14464 : "search A;G;optimal" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/vertices.test b/Uni/Java/WS1516/Programmieren/Final01/bin/vertices.test new file mode 100644 index 0000000..e5f19dc --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/vertices.test @@ -0,0 +1,21 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#Errors +00err : "vertices null" +00err : "vertices 10" + +#Standard +"Aa +bB +C +d" : "vertices" + +#Remove till empty +"OK" : "remove C;bB" +"OK" : "remove C;d" +"OK" : "remove Aa;d" +"OK" : "remove Aa;bB" +"OK" : "remove Aa;C" + +#Empty output +" +" : "vertices" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/junit/edu/kit/informatik/ExitException.java b/Uni/Java/WS1516/Programmieren/Final01/junit/edu/kit/informatik/ExitException.java new file mode 100644 index 0000000..c78e470 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/junit/edu/kit/informatik/ExitException.java @@ -0,0 +1,24 @@ +package edu.kit.informatik; + +/** + * The Class ExitException. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class ExitException extends SecurityException { + + /** The status. */ + private final int code; + + /** + * Instantiates a new exit exception. + * + * @param code + * the status + */ + public ExitException(final int code) { + super("JVM exit is forbidden!"); + this.code = code; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/junit/edu/kit/informatik/MainTest.java b/Uni/Java/WS1516/Programmieren/Final01/junit/edu/kit/informatik/MainTest.java new file mode 100644 index 0000000..a4a6eba --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/junit/edu/kit/informatik/MainTest.java @@ -0,0 +1,125 @@ +package edu.kit.informatik; + +import org.junit.Test; + +public class MainTest { + + @Test + public void testMainWrongFile() { + System.setSecurityManager(new NoExitSecurityManager()); + + // File not existent + try { + final String[] args = new String[1]; + args[0] = "Z:\\"; + // this should throw an exception + Main.main(args); + assert false; + } catch (final ExitException e) { + // if no exception is thrown something went wrong + } + + // duplicated Edge + try { + final String[] args = new String[1]; + args[0] = "C:\\Eclipse\\workspace\\Final01\\junit\\graphs\\duplicateEdge.txt"; + // this should throw an exception + Main.main(args); + assert false; + } catch (final ExitException e) { + // if no exception is thrown something went wrong + } + // edgeWithoutVertex + try { + final String[] args = new String[1]; + args[0] = "C:\\Eclipse\\workspace\\Final01\\junit\\graphs\\edgeWithoutVertex.txt"; + // this should throw an exception + Main.main(args); + assert false; + } catch (final ExitException e) { + // if no exception is thrown something went wrong + } + // emptyFile + try { + final String[] args = new String[1]; + args[0] = "C:\\Eclipse\\workspace\\Final01\\junit\\graphs\\emptyFile.txt"; + // this should throw an exception + Main.main(args); + assert false; + } catch (final ExitException e) { + // if no exception is thrown something went wrong + } + // negativeNumber + try { + final String[] args = new String[1]; + args[0] = "C:\\Eclipse\\workspace\\Final01\\junit\\graphs\\negativeNumber.txt"; + // this should throw an exception + Main.main(args); + assert false; + } catch (final ExitException e) { + // if no exception is thrown something went wrong + } + // noDivider + try { + final String[] args = new String[1]; + args[0] = "C:\\Eclipse\\workspace\\Final01\\junit\\graphs\\noDivider.txt"; + // this should throw an exception + Main.main(args); + assert false; + } catch (final ExitException e) { + // if no exception is thrown something went wrong + } + // noFirstPart + try { + final String[] args = new String[1]; + args[0] = "C:\\Eclipse\\workspace\\Final01\\junit\\graphs\\noFirstPart.txt"; + // this should throw an exception + Main.main(args); + assert false; + } catch (final ExitException e) { + // if no exception is thrown something went wrong + } + // noFirstPart + try { + final String[] args = new String[1]; + args[0] = "C:\\Eclipse\\workspace\\Final01\\junit\\graphs\\noSecondPart.txt"; + // this should throw an exception + Main.main(args); + assert false; + } catch (final ExitException e) { + // if no exception is thrown something went wrong + } + // notContinous + try { + final String[] args = new String[1]; + args[0] = "C:\\Eclipse\\workspace\\Final01\\junit\\graphs\\notContinous.txt"; + // this should throw an exception + Main.main(args); + assert false; + } catch (final ExitException e) { + // if no exception is thrown something went wrong + } + // numberOverflow + try { + final String[] args = new String[1]; + args[0] = "C:\\Eclipse\\workspace\\Final01\\junit\\graphs\\numberOverflow.txt"; + // this should throw an exception + Main.main(args); + assert false; + } catch (final ExitException e) { + // if no exception is thrown something went wrong + } + // numberZero + try { + final String[] args = new String[1]; + args[0] = "C:\\Eclipse\\workspace\\Final01\\junit\\graphs\\numberZero.txt"; + // this should throw an exception + Main.main(args); + assert false; + } catch (final ExitException e) { + // if no exception is thrown something went wrong + } + System.setSecurityManager(null); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/junit/edu/kit/informatik/NoExitSecurityManager.java b/Uni/Java/WS1516/Programmieren/Final01/junit/edu/kit/informatik/NoExitSecurityManager.java new file mode 100644 index 0000000..6b825a9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/junit/edu/kit/informatik/NoExitSecurityManager.java @@ -0,0 +1,33 @@ +package edu.kit.informatik; + +import java.security.Permission; + +/** + * The Class NoExitSecurityManager. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class NoExitSecurityManager extends SecurityManager { + + /** + * Instantiates a new no exit security manager. + */ + public NoExitSecurityManager() { + super(); + } + + @Override + public void checkPermission(final Permission perm) { + } + + @Override + public void checkPermission(final Permission perm, final Object context) { + } + + @Override + public void checkExit(final int status) { + super.checkExit(status); + throw new ExitException(status); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/duplicateEdge.txt b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/duplicateEdge.txt new file mode 100644 index 0000000..a2e06e6 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/duplicateEdge.txt @@ -0,0 +1,7 @@ +Aa +bB +C +d +-- +Aa;bB;1;3 +Aa;bB;2;4 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/duplicateVertex.txt b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/duplicateVertex.txt new file mode 100644 index 0000000..782a3bf --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/duplicateVertex.txt @@ -0,0 +1,11 @@ +Aa +aA +AA +aa +bB +-- +aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/edgeWithoutVertex.txt b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/edgeWithoutVertex.txt new file mode 100644 index 0000000..eff11e9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/edgeWithoutVertex.txt @@ -0,0 +1,5 @@ +bB +C +d +-- +Aa;bB;1;3 diff --git a/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/emptyFile.txt b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/emptyFile.txt new file mode 100644 index 0000000..e69de29 diff --git a/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/negativeNumber.txt b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/negativeNumber.txt new file mode 100644 index 0000000..18f3bd5 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/negativeNumber.txt @@ -0,0 +1,4 @@ +Aa +bB +-- +Aa;bB;1;-3 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/noDivider.txt b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/noDivider.txt new file mode 100644 index 0000000..fc8d307 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/noDivider.txt @@ -0,0 +1,9 @@ +Aa +bB +C +d +Aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/noFirstPart.txt b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/noFirstPart.txt new file mode 100644 index 0000000..db1350f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/noFirstPart.txt @@ -0,0 +1,6 @@ +-- +Aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/noSecondPart.txt b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/noSecondPart.txt new file mode 100644 index 0000000..a0601cf --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/noSecondPart.txt @@ -0,0 +1,5 @@ +Aa +bB +C +d +-- \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/notContinous.txt b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/notContinous.txt new file mode 100644 index 0000000..532c89f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/notContinous.txt @@ -0,0 +1,6 @@ +Aa +bB +C +d +-- +Aa;bB;1;3 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/numberOverflow.txt b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/numberOverflow.txt new file mode 100644 index 0000000..c41d589 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/numberOverflow.txt @@ -0,0 +1,10 @@ +Aa +bB +C +d +-- +Aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;30000000000 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/numberZero.txt b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/numberZero.txt new file mode 100644 index 0000000..87f5380 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/junit/graphs/numberZero.txt @@ -0,0 +1,5 @@ +C +d +-- +bB;C;5;2 +C;d;0;0 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/docs.log b/Uni/Java/WS1516/Programmieren/Final01/src/docs.log new file mode 100644 index 0000000..370a81b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/docs.log @@ -0,0 +1,3602 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.15 (MiKTeX 2.9 64-bit) (preloaded format=pdflatex 2016.5.13) 28 DEC 2016 15:41 +entering extended mode +**docs.tex +(docs.tex +LaTeX2e <2014/05/01> +Babel <3.9l> and hyphenation patterns for 68 languages loaded. + +! LaTeX Error: Environment texdocpackage undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.1 \begin{texdocpackage} + {edu.kit.informatik} +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Missing \begin{document}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.1 \begin{texdocpackage}{e + du.kit.informatik} +You're in trouble here. Try typing to proceed. +If that doesn't work, type X to quit. + +Missing character: There is no e in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no k in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no k in font nullfont! + +Overfull \hbox (20.0pt too wide) in paragraph at lines 1--3 +[] + [] + + +! LaTeX Error: Environment texdocclass undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.4 \begin{texdocclass} + {class}{Constant} +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Missing \begin{document}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.4 \begin{texdocclass}{c + lass}{Constant} +You're in trouble here. Try typing to proceed. +If that doesn't work, type X to quit. + +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! + +! LaTeX Error: Environment texdocclassintro undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.6 \begin{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no A in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no m in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocclassintro}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.7 ...s used in the program\end{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Environment texdocclassfields undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.8 \begin{texdocclassfields} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.9 \texdocfield + {public static final}{String}{CODE\_NOT\_ACCESSIBLE}{The Con... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no B in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no B in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.10 \texdocfield + {public static final}{String}{COMMAND\_NOT\_FOUND}{The Cons... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.11 \texdocfield + {public static final}{String}{COMMAND\_SUCCESSFUL}{The Cons... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.12 \texdocfield + {public static final}{String}{EDGE\_CANNOT\_REMOVE}{The Con... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.13 \texdocfield + {public static final}{String}{EDGE\_CONTAINED\_ALLREADY}{Th... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no Y in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no Y in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.14 \texdocfield + {public static final}{String}{EDGE\_VERTEX\_NOT\_FOUND}{The... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.15 \texdocfield + {public static final}{String}{FILE\_WRONG\_FORMAT}{The Cons... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no W in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no W in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.16 \texdocfield + {public static final}{String}{GRAPH\_EDGE\_LESS\_THAN\_ONE}... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.17 \texdocfield + {public static final}{String}{GRAPH\_NOT\_CONTINOUS}{The Co... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.18 \texdocfield + {public static final}{String}{GRAPH\_VERTEX\_LESS\_THAN\_TW... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no W in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no W in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.19 \texdocfield + {public static final}{String}{NUMBER\_FORMAT\_ILLEGAL}{The ... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no B in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no B in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.20 \texdocfield + {public static final}{String}{PREFIX\_ERROR}{The Constant P... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.21 \texdocfield + {public static final}{String}{REGEX\_CITY\_NAME}{The regex ... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no Y in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.22 \texdocfield + {public static final}{String}{REGEX\_CRITERION\_ALL}{The Co... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.23 \texdocfield + {public static final}{String}{REGEX\_CRITERION\_BOTH}{The C... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no B in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no B in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.24 \texdocfield + {public static final}{String}{REGEX\_CRITERION\_DISTANCE}{T... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.25 \texdocfield + {public static final}{String}{REGEX\_CRITERION\_TIME}{The C... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.26 \texdocfield + {public static final}{String}{REGEX\_EDGE}{The regex for an... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.27 \texdocfield + {public static final}{String}{REGEX\_GRAPH\_FILE}{The regex... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.28 \texdocfield + {public static final}{String}{REGEX\_POSITIVE\_INTEGER}{The... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.29 \texdocfield + {public static final}{String}{REGEX\_ROUTE}{The Constant RE... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.30 \texdocfield + {public static final}{String}{REGEX\_SEARCH}{The Constant R... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.31 \texdocfield + {public static final}{String}{SEPARATOR}{The regex for the ... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no w in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.32 \texdocfield + {public static final}{String}{VERTEX\_DUPLICATE}{The Consta... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.33 \texdocfield + {public static final}{String}{VERTEX\_NOT\_FOUND}{The Const... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocclassfields}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.34 \end{texdocclassfields} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: \begin{document} ended by \end{texdocclass}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.35 \end{texdocclass} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +Overfull \hbox (20.0pt too wide) in paragraph at lines 4--36 +[] + [] + + +! LaTeX Error: Environment texdocclass undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.38 \begin{texdocclass} + {class}{FileInputHelper} +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Missing \begin{document}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.38 \begin{texdocclass}{c + lass}{FileInputHelper} +You're in trouble here. Try typing to proceed. +If that doesn't work, type X to quit. + +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! + +! LaTeX Error: Environment texdocclassintro undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.40 \begin{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no H in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocclassintro}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.41 ... reading text files.\end{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Environment texdocclassmethods undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.42 \begin{texdocclassmethods} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.43 \texdocmethod + {public static}{String}{read}{(String file)}{Reads the spe... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no ( in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no ) in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no , in font nullfont! +Missing character: There is no w in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no ' in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no , in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no , in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: Environment texdocparameters undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.45 ...line, and so on.}{\begin{texdocparameters} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.46 \texdocparameter + {file}{the file to be read} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no d in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocparameters}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.47 \end{texdocparameters} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.48 \texdocreturn + {the content of the file} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocclassmethods}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.50 \end{texdocclassmethods} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: \begin{document} ended by \end{texdocclass}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.51 \end{texdocclass} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +Overfull \hbox (20.0pt too wide) in paragraph at lines 38--52 +[] + [] + + +! LaTeX Error: Environment texdocclass undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.54 \begin{texdocclass} + {class}{Main} +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Missing \begin{document}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.54 \begin{texdocclass}{c + lass}{Main} +You're in trouble here. Try typing to proceed. +If that doesn't work, type X to quit. + +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! + +! LaTeX Error: Environment texdocclassintro undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.56 \begin{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocclassintro}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.57 The Class Main.\end{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Environment texdocclassmethods undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.58 \begin{texdocclassmethods} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.59 \texdocmethod + {public static}{void}{main}{(String args)}{The main method... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no ( in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no ) in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: Environment texdocparameters undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.59 ...The main method.}{\begin{texdocparameters} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.60 \texdocparameter + {args}{the arguments} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no s in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocparameters}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.61 \end{texdocparameters} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: \begin{document} ended by \end{texdocclassmethods}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.63 \end{texdocclassmethods} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: \begin{document} ended by \end{texdocclass}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.64 \end{texdocclass} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +Overfull \hbox (20.0pt too wide) in paragraph at lines 54--65 +[] + [] + + +! LaTeX Error: Environment texdocclass undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.67 \begin{texdocclass} + {class}{Terminal} +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Missing \begin{document}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.67 \begin{texdocclass}{c + lass}{Terminal} +You're in trouble here. Try typing to proceed. +If that doesn't work, type X to quit. + +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! + +! LaTeX Error: Environment texdocclassintro undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.69 \begin{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 70. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 70. +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: Environment texdocp undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.72 \begin{texdocp} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no N in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no , in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no k in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocp}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.75 ...em.in in the same assignment.\end{texdocp} + \end{texdocclassintro} +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: \begin{document} ended by \end{texdocclassintro}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.75 ...gnment.\end{texdocp}\end{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Environment texdocclassmethods undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.76 \begin{texdocclassmethods} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.77 \texdocmethod + {public static}{void}{printLine}{(String out)}{Print a Str... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no ( in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no ) in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: Environment texdocp undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.78 \begin{texdocp} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocp}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.79 ... String out must not be null.\end{texdocp} + }{\begin{texdocparameters} +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Environment texdocparameters undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.79 ...ll.\end{texdocp}}{\begin{texdocparameters} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.80 \texdocparameter + {out}{The string to be printed.} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocparameters}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.81 \end{texdocparameters} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.83 \texdocmethod + {public static}{String}{readLine}{()}{Reads a line from st... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no ( in font nullfont! +Missing character: There is no ) in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: Environment texdocp undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.84 \begin{texdocp} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no R in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: Environment texdocp undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.86 \begin{texdocp} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no U in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no + in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocp}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.87 ...he end of the standard input.\end{texdocp} + \end{texdocp}}{\texdocretu... + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: \begin{document} ended by \end{texdocp}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.87 ... standard input.\end{texdocp}\end{texdocp} + }{\texdocreturn{The next l... + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.87 ....\end{texdocp}\end{texdocp}}{\texdocreturn + {The next line from the st... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocclassmethods}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.89 \end{texdocclassmethods} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: \begin{document} ended by \end{texdocclass}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.90 \end{texdocclass} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +Overfull \hbox (20.0pt too wide) in paragraph at lines 67--91 +[] + [] + + +Overfull \hbox (5.00002pt too wide) in paragraph at lines 67--91 +$\OML/cmm/m/it/10 =$ + [] + + +! LaTeX Error: \begin{document} ended by \end{texdocpackage}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.93 \end{texdocpackage} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +) +! Emergency stop. +<*> docs.tex + +*** (job aborted, no legal \end found) + + +Here is how much of TeX's memory you used: + 23 strings out of 493698 + 332 string characters out of 3144409 + 55149 words of memory out of 3000000 + 3449 multiletter control sequences out of 15000+200000 + 3640 words of font info for 14 fonts, out of 3000000 for 9000 + 1025 hyphenation exceptions out of 8191 + 18i,1n,12p,165b,70s stack positions out of 5000i,500n,10000p,200000b,50000s +! ==> Fatal error occurred, no output PDF file produced! diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/docs.tex b/Uni/Java/WS1516/Programmieren/Final01/src/docs.tex new file mode 100644 index 0000000..18717f8 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/docs.tex @@ -0,0 +1,96 @@ +\begin{texdocpackage}{edu.kit.informatik} +\label{texdoclet:edu.kit.informatik} + +\begin{texdocclass}{class}{Constant} +\label{texdoclet:edu.kit.informatik.Constant} +\begin{texdocclassintro} +All constants used in the program\end{texdocclassintro} +\begin{texdocclassfields} +\texdocfield{public static final}{String}{CODE\_NOT\_ACCESSIBLE}{The Constant CODE\_NOT\_ACCESSIBLE.} +\texdocfield{public static final}{String}{COMMAND\_NOT\_FOUND}{The Constant COMMAND\_NOT\_FOUND.} +\texdocfield{public static final}{String}{COMMAND\_SUCCESSFUL}{The Constant COMMAND\_SUCCESSFUL.} +\texdocfield{public static final}{String}{EDGE\_CANNOT\_REMOVE}{The Constant EDGE\_CANNOT\_REMOVE.} +\texdocfield{public static final}{String}{EDGE\_CONTAINED\_ALLREADY}{The Constant EDGE\_CONTAINED\_ALLREADY.} +\texdocfield{public static final}{String}{EDGE\_VERTEX\_NOT\_FOUND}{The Constant EDGE\_VERTEX\_NOT\_FOUND.} +\texdocfield{public static final}{String}{FILE\_WRONG\_FORMAT}{The Constant FILE\_WRONG\_FORMAT.} +\texdocfield{public static final}{String}{GRAPH\_EDGE\_LESS\_THAN\_ONE}{The Constant GRAPH\_EDGE\_LESS\_THAN\_ONE.} +\texdocfield{public static final}{String}{GRAPH\_NOT\_CONTINOUS}{The Constant GRAPH\_NOT\_CONTINOUS.} +\texdocfield{public static final}{String}{GRAPH\_VERTEX\_LESS\_THAN\_TWO}{The Constant GRAPH\_VERTEX\_LESS\_THAN\_TWO.} +\texdocfield{public static final}{String}{NUMBER\_FORMAT\_ILLEGAL}{The Constant NUMBER\_FORMAT\_ILLEGAL.} +\texdocfield{public static final}{String}{PREFIX\_ERROR}{The Constant PREFIX\_ERROR.} +\texdocfield{public static final}{String}{REGEX\_CITY\_NAME}{The regex for a city name.} +\texdocfield{public static final}{String}{REGEX\_CRITERION\_ALL}{The Constant REGEX\_CRITERION\_ALL.} +\texdocfield{public static final}{String}{REGEX\_CRITERION\_BOTH}{The Constant REGEX\_CRITERION\_BOTH.} +\texdocfield{public static final}{String}{REGEX\_CRITERION\_DISTANCE}{The Constant REGEX\_CRITERION\_DISTANCE.} +\texdocfield{public static final}{String}{REGEX\_CRITERION\_TIME}{The Constant REGEX\_CRITERION\_TIME.} +\texdocfield{public static final}{String}{REGEX\_EDGE}{The regex for an edge.} +\texdocfield{public static final}{String}{REGEX\_GRAPH\_FILE}{The regex for a file that contains a graph.} +\texdocfield{public static final}{String}{REGEX\_POSITIVE\_INTEGER}{The regex for a positive integer.} +\texdocfield{public static final}{String}{REGEX\_ROUTE}{The Constant REGEX\_ROUTE.} +\texdocfield{public static final}{String}{REGEX\_SEARCH}{The Constant REGEX\_SEARCH.} +\texdocfield{public static final}{String}{SEPARATOR}{The regex for the SEPARATOR of the two parts in the file.} +\texdocfield{public static final}{String}{VERTEX\_DUPLICATE}{The Constant VERTEX\_DUPLICATE.} +\texdocfield{public static final}{String}{VERTEX\_NOT\_FOUND}{The Constant VERTEX\_NOT\_FOUND.} +\end{texdocclassfields} +\end{texdocclass} + + +\begin{texdocclass}{class}{FileInputHelper} +\label{texdoclet:edu.kit.informatik.FileInputHelper} +\begin{texdocclassintro} +Helper class for reading text files.\end{texdocclassintro} +\begin{texdocclassmethods} +\texdocmethod{public static}{String}{read}{(String file)}{Reads the specified file and returns its content as a String array, where + the first array field contains the file's first line, the second field + contains the second line, and so on.}{\begin{texdocparameters} +\texdocparameter{file}{the file to be read} +\end{texdocparameters} +\texdocreturn{the content of the file} +} +\end{texdocclassmethods} +\end{texdocclass} + + +\begin{texdocclass}{class}{Main} +\label{texdoclet:edu.kit.informatik.Main} +\begin{texdocclassintro} +The Class Main.\end{texdocclassintro} +\begin{texdocclassmethods} +\texdocmethod{public static}{void}{main}{(String args)}{The main method.}{\begin{texdocparameters} +\texdocparameter{args}{the arguments} +\end{texdocparameters} +} +\end{texdocclassmethods} +\end{texdocclass} + + +\begin{texdocclass}{class}{Terminal} +\label{texdoclet:edu.kit.informatik.Terminal} +\begin{texdocclassintro} +This class provides some simple methods for input$/$output from and to a + terminal. + \begin{texdocp} + Never modify this class, never upload it to Praktomat. This is only for your + local use. If an assignment tells you to use this class for input and output + never use System.out or System.in in the same assignment.\end{texdocp}\end{texdocclassintro} +\begin{texdocclassmethods} +\texdocmethod{public static}{void}{printLine}{(String out)}{Print a String to the standard output. + \begin{texdocp} + The String out must not be null.\end{texdocp}}{\begin{texdocparameters} +\texdocparameter{out}{The string to be printed.} +\end{texdocparameters} +} +\texdocmethod{public static}{String}{readLine}{()}{Reads a line from standard input. + \begin{texdocp} + Returns null at the end of the standard input. + \begin{texdocp} + Use Ctrl+D to indicate the end of the standard input.\end{texdocp}\end{texdocp}}{\texdocreturn{The next line from the standard input or null.} +} +\end{texdocclassmethods} +\end{texdocclass} + + +\end{texdocpackage} + + + diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/Constant.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/Constant.java new file mode 100644 index 0000000..02a210c --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/Constant.java @@ -0,0 +1,127 @@ +package edu.kit.informatik; + +/** + * All constants used in the program + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public final class Constant { + + /** + * The regex for a positive integer. + */ + public static final String REGEX_POSITIVE_INTEGER = "([+]?[0-9]*[1-9][0-9]*)"; + /** + * The regex for a city name. + */ + public static final String REGEX_CITY_NAME = "([A-Za-z-]+)"; + /** + * The regex for the SEPARATOR of the two parts in the file. + */ + public static final String SEPARATOR = "--"; + /** + * The regex for an edge. + */ + public static final String REGEX_EDGE = REGEX_CITY_NAME + ";" + REGEX_CITY_NAME + ";" + + REGEX_POSITIVE_INTEGER + ";" + REGEX_POSITIVE_INTEGER; + /** + * The regex for a file that contains a graph. + */ + public static final String REGEX_GRAPH_FILE = "(" + REGEX_CITY_NAME + "\\n){2,}" + + SEPARATOR + "(\\n" + REGEX_EDGE + "){1,}"; + + /** + * The Constant REGEX_CRITERION_TIME. + */ + public static final String REGEX_CRITERION_TIME = "time"; + /** + * The Constant REGEX_CRITERION_DISTANCE. + */ + public static final String REGEX_CRITERION_DISTANCE = "route"; + /** + * The Constant REGEX_CRITERION_BOTH. + */ + public static final String REGEX_CRITERION_BOTH = "optimal"; + /** + * The Constant REGEX_CRITERION_ALL. + */ + public static final String REGEX_CRITERION_ALL = "all"; + /** + * The Constant REGEX_SEARCH. + */ + public static final String REGEX_SEARCH = "((" + REGEX_CRITERION_TIME + ")|(" + REGEX_CRITERION_DISTANCE + ")|(" + + REGEX_CRITERION_BOTH + "))"; + /** + * The Constant REGEX_ROUTE. + */ + public static final String REGEX_ROUTE = "(" + REGEX_SEARCH + "|" + REGEX_CRITERION_ALL + ")"; + + ///////////////////////// ////Error Messages///// /////////////////////// + + /** + * The Constant VERTEX_DUPLICATE. + */ + public static final String VERTEX_DUPLICATE = "duplicate vertex found"; + /** + * The Constant VERTEX_NOT_FOUND. + */ + public static final String VERTEX_NOT_FOUND = "vertex not found"; + /** + * The Constant EDGE_VERTEX_NOT_FOUND. + */ + public static final String EDGE_VERTEX_NOT_FOUND = "edge contains vertices that " + "have not been initilized"; + /** + * The Constant EDGE_CANNOT_REMOVE. + */ + public static final String EDGE_CANNOT_REMOVE = "edge can't be removed"; + /** + * The Constant EDGE_CONTAINED_ALLREADY. + */ + public static final String EDGE_CONTAINED_ALLREADY = "edge is allready contained"; + + /** + * The Constant NUMBER_FORMAT_ILLEGAL. + */ + public static final String NUMBER_FORMAT_ILLEGAL = "not a number (format may be wrong or number might be to big)"; + + /** + * The Constant FILE_WRONG_FORMAT. + */ + public static final String FILE_WRONG_FORMAT = "not formated correctly"; + + /** + * The Constant GRAPH_NOT_CONTINOUS. + */ + public static final String GRAPH_NOT_CONTINOUS = "graph is not continous"; + /** + * The Constant GRAPH_EDGE_LESS_THAN_ONE. + */ + public static final String GRAPH_EDGE_LESS_THAN_ONE = "contains less than one edge"; + /** + * The Constant GRAPH_VERTEX_LESS_THAN_TWO. + */ + public static final String GRAPH_VERTEX_LESS_THAN_TWO = "contains less than two vertices"; + + /** + * The Constant PREFIX_ERROR. + */ + public static final String PREFIX_ERROR = "Error,"; + + /** + * The Constant COMMAND_SUCCESSFUL. + */ + public static final String COMMAND_SUCCESSFUL = "OK"; + /** + * The Constant COMMAND_NOT_FOUND. + */ + public static final String COMMAND_NOT_FOUND = "please use a valid command"; + + /** + * The Constant CODE_NOT_ACCESSIBLE. + */ + public static final String CODE_NOT_ACCESSIBLE = "this code is not possible to run therefore you must be god"; + + private Constant() { + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/FileInputHelper.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/FileInputHelper.java new file mode 100644 index 0000000..6343ace --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/FileInputHelper.java @@ -0,0 +1,68 @@ +package edu.kit.informatik; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; + +/** + * Helper class for reading text files. + * + * @author IPD Reussner, KIT + * @author ITI Sinz, KIT + * @version 1.1 + */ +public final class FileInputHelper { + + /** + * Private constructor to avoid instantiation. + */ + private FileInputHelper() { + // intentionally left blank + } + + /** + * Reads the specified file and returns its content as a String array, where + * the first array field contains the file's first line, the second field + * contains the second line, and so on. + * + * @param file + * the file to be read + * @return the content of the file + */ + public static String read(final String file) { + final StringBuilder result = new StringBuilder(); + + FileReader in = null; + try { + in = new FileReader(file); + } catch (final FileNotFoundException e) { + Terminal.printLine("Error, " + e.getMessage()); + System.exit(1); + } + + final BufferedReader reader = new BufferedReader(in); + try { + String line = reader.readLine(); + while (line != null) { + result.append(line); + line = reader.readLine(); + if (line != null) { + result.append("\n"); + } + } + } catch (final IOException e) { + Terminal.printLine("Error, " + e.getMessage()); + System.exit(1); + } finally { + try { + reader.close(); + } catch (final IOException e) { + // no need for handling this exception + } + } + + return result.toString(); + } + +} \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/Main.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/Main.java new file mode 100644 index 0000000..b94df55 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/Main.java @@ -0,0 +1,39 @@ +package edu.kit.informatik; + +import edu.kit.informatik.exception.InvalidFileFormatException; +import edu.kit.informatik.graph.fileinput.GraphBuilder; +import edu.kit.informatik.terminalinput.InputManager; + +/** + * The Class Main. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public final class Main { + private Main() { + } + + /** + * The main method. + * + * @param args + * the arguments + */ + public static void main(final String[] args) { + if (args.length != 1) { + InputManager.error("program has to be started with one parameter (filePath)"); + System.exit(1); + } + final InputManager inputManager; + try { + inputManager = new InputManager(GraphBuilder.fileToGraph(args[0])); + inputManager.run(); + } catch (final InvalidFileFormatException e) { + InputManager.error(e.getMessage()); + System.exit(1); + } + + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/Terminal.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/Terminal.java new file mode 100644 index 0000000..c3612c8 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/Terminal.java @@ -0,0 +1,70 @@ +package edu.kit.informatik; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +/** + * This class provides some simple methods for input/output from and to a + * terminal. + *

+ * Never modify this class, never upload it to Praktomat. This is only for your + * local use. If an assignment tells you to use this class for input and output + * never use System.out or System.in in the same assignment. + * + * @author ITI, VeriAlg Group + * @author IPD, SDQ Group + * @version 4 + */ +public final class Terminal { + + /** + * BufferedReader for reading from standard input line-by-line. + */ + /* + * private static BufferedReader in = new BufferedReader(new + * InputStreamReader(System.in)); + */ + + /** + * Private constructor to avoid object generation. + */ + private Terminal() { + } + + /** + * Print a String to the standard output. + *

+ * The String out must not be null. + * + * @param out + * The string to be printed. + */ + public static void printLine(final String out) { + System.out.println(out); + } + + /** + * Reads a line from standard input. + *

+ * Returns null at the end of the standard input. + *

+ * Use Ctrl+D to indicate the end of the standard input. + * + * @return The next line from the standard input or null. + */ + public static String readLine() { + try { + final BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + return in.readLine(); + } catch (final IOException e) { + /* + * rethrow unchecked (!) exception to prevent students from being + * forced to use Exceptions before they have been introduced in the + * lecture. + */ + throw new RuntimeException(e); + } + } + +} \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/exception/IllegalObjectException.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/exception/IllegalObjectException.java new file mode 100644 index 0000000..edbad0e --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/exception/IllegalObjectException.java @@ -0,0 +1,19 @@ +package edu.kit.informatik.exception; + +/** + * The Class IllegalObjectException. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class IllegalObjectException extends Exception { + /** + * Instantiates a new illegal object exception. + * + * @param message + * the message + */ + public IllegalObjectException(final String message) { + super(message); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/exception/InvalidFileFormatException.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/exception/InvalidFileFormatException.java new file mode 100644 index 0000000..9c1df77 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/exception/InvalidFileFormatException.java @@ -0,0 +1,28 @@ +package edu.kit.informatik.exception; + +/** + * The Class InvalidFileFormatException. It Indicates that the file format is + * not supported. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class InvalidFileFormatException extends Exception { + + /** + * File format exception. + */ + public InvalidFileFormatException() { + super(); + } + + /** + * Instantiates a new invalid file format exception. + * + * @param message + * the message + */ + public InvalidFileFormatException(final String message) { + super(message); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/Edge.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/Edge.java new file mode 100644 index 0000000..d453271 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/Edge.java @@ -0,0 +1,159 @@ +package edu.kit.informatik.graph; + +/** + * The Class Edge. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Edge implements Comparable { + + /** The distance in kilometers. */ + private final int distance; + + /** The time in minutes. */ + private final int time; + + /** The first. */ + private final Vertex first; + + /** The second. */ + private final Vertex second; + + /** + * Instantiates a new edge. + * + * @param v + * the first vertex the edge should be connecting + * @param w + * the second vertex the edge should be connecting + * @param distance + * the distance + * @param time + * the time + */ + public Edge(final Vertex v, final Vertex w, final int distance, final int time) { + this.first = v; + this.second = w; + this.distance = distance; + this.time = time; + } + + /** + * Gets the distance. + * + * @return the distance + */ + public int getDistance() { + return distance; + } + + /** + * Gets the time. + * + * @return the time + */ + public int getTime() { + return time; + } + + /** + * Checks if two objects are the same. + * + * @param obj + * the object this should be compared against + * @return true, if obj is edge that contains the same vertices (ignores + * time and distance) + */ + @Override + public boolean equals(final Object obj) { + if (obj != null && obj.getClass().equals(Edge.class)) { + if (((Edge) obj).getFirst().equals(this.first) && ((Edge) obj).getSecond().equals(this.second)) { + return true; + } else if (((Edge) obj).getFirst().equals(this.second) && ((Edge) obj).getSecond().equals(this.first)) { + return true; + } + } + return false; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + return first.toString() + ";" + second.toString() + ";" + distance + ";" + time; + } + + /** + * Checks if edge contains vertex. + * + * @param v + * the v + * @return true, if successful + */ + public boolean containsVertex(final Vertex v) { + return (v.equals(first) || v.equals(second)); + } + + /** + * Gets the other vertex of the edge. Return null if v is not contained. + * + * @param v + * the v + * @return the other vertex + */ + public Vertex getOtherVertex(final Vertex v) { + if (v.equals(first)) { + return second; + } else if (v.equals(second)) { + return first; + } else { + return null; + } + } + + /** + * Gets the first. + * + * @return the first + */ + public Vertex getFirst() { + return first; + } + + /** + * Gets the second. + * + * @return the second + */ + public Vertex getSecond() { + return second; + } + + /** + * Builds a sorted string which consist of first.toString and + * second.toString. The string that is smaller (in terms of compareTo) will + * ne placed at the beginning. + * + * @return the string + */ + private String buildSortedString() { + if (first.compareTo(second) < 0) { + return first.toString() + second.toString(); + } else { + return second.toString() + first.toString(); + } + } + + @Override + public int compareTo(final Edge o) { + if (this.equals(o)) { + return 0; + } + return buildSortedString().compareTo(o.buildSortedString()); + + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/Graph.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/Graph.java new file mode 100644 index 0000000..a09fff3 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/Graph.java @@ -0,0 +1,251 @@ +package edu.kit.informatik.graph; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedList; +import java.util.List; +import java.util.Stack; +import java.util.TreeSet; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.exception.IllegalObjectException; + +/** + * The Class Graph. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Graph { + + /** The empty graph continious. */ + public static final boolean EMPTY_GRAPH_CONTINIOUS = true; + + /** The vertices. */ + private final List edges; + + /** + * Instantiates a new graph. + */ + public Graph() { + edges = new ArrayList<>(); + } + + /** + * Adds an edge to the graph but does not allow duplicates. + * + * @param edge + * the edge + * @throws IllegalObjectException + * the illegal object exception + */ + public void addEdge(final Edge edge) throws IllegalObjectException { + if (edge.getFirst().equals(edge.getSecond())) { + throw new IllegalObjectException(Constant.VERTEX_DUPLICATE); + } + if (edges.contains(edge)) { + throw new IllegalObjectException(Constant.EDGE_CONTAINED_ALLREADY); + } + edges.add(edge); + } + + /** + * Checks if graph contains a vertex + * + * @param v + * the v + * @return true, if successful + */ + public boolean contains(final Vertex v) { + for (final Edge edge : edges) { + if (edge.containsVertex(v)) { + return true; + } + } + return false; + } + + /** + * Adds the all edge to the graph but does not allow duplicates. Requires at + * lest one vertex of each edge to be part of the graph. + * + * @param collection + * the collection + * @throws IllegalObjectException + * the illegal object exception + */ + public void addAllEdges(final Collection collection) throws IllegalObjectException { + for (final Edge edge : collection) { + addEdge(edge); + } + } + + /** + * Checks if graph is continous. + * + * @return true, if graph is continous + */ + public boolean isContinous() { + if (edges.size() == 0) { + return EMPTY_GRAPH_CONTINIOUS; + } + final Stack queue = new Stack<>(); + final List notUsedEdges = new ArrayList<>(this.edges); + final List notUsedVertices = new ArrayList<>(getAllVertices()); + queue.add(edges.get(0).getFirst()); + notUsedVertices.remove(notUsedVertices.indexOf(edges.get(0).getFirst())); + + final List used = new ArrayList<>(); + Vertex v = null; + while (notUsedVertices.size() > 0 && !queue.isEmpty()) { + v = queue.pop(); + if (notUsedVertices.contains(v)) { + notUsedVertices.remove(notUsedVertices.indexOf(v)); + } + for (final Edge edge : notUsedEdges) { + final Vertex other = edge.getOtherVertex(v); + if (!used.contains(edge) && other != null) { + queue.push(other); + used.add(edge); + } + } + notUsedEdges.removeAll(used); + } + return (notUsedVertices.size() == 0); + } + + /** + * Checks if graph contains edge; + * + * @param e + * the e + * @return true, if successful + */ + public boolean contains(final Edge e) { + return edges.contains(e); + } + + private Collection getNeightbours(final Vertex v) throws IllegalObjectException { + final Collection tmp = new LinkedList<>(); + for (final Edge edge : edges) { + if (edge.containsVertex(v)) { + tmp.add(edge.getOtherVertex(v)); + } + } + if (tmp.size() == 0) { + throw new IllegalObjectException(Constant.VERTEX_NOT_FOUND); + } + return tmp; + } + + /** + * Gets the reference of the vertex contained in the graph that is equal to + * vertex v but might not have the same reference. + * + * @param v + * the v + * @return the vertex + */ + public Vertex getVertex(final Vertex v) { + for (final Edge edge : edges) { + if (v.equals(edge.getFirst())) { + return edge.getFirst(); + } else if (v.equals(edge.getSecond())) { + return edge.getSecond(); + } + } + return null; + } + + /** + * Gets all neigbouring Vertices and returns them as a string. Each vertex + * is in its own line. + * + * @param v + * the v + * @return the string + * @throws IllegalObjectException + * the illegal object exception + */ + public String neighboursToString(final Vertex v) throws IllegalObjectException { + String ret = ""; + for (final Vertex vertex : getNeightbours(v)) { + ret += vertex.toString() + "\n"; + } + return ret.trim(); + } + + /** + * Removes the edge and if vertex therefore has no adjacent edges it will be + * removed too. + * + * @param edge + * the edge to remove + * @return true, if successful + */ + public boolean removeEdge(final Edge edge) { + if (!edges.contains(edge)) { + return false; + } + // To have the correct reference + final Edge tmp = edges.get(edges.indexOf(edge)); + edges.remove(tmp); + + if (!isContinous()) { + // Undo changes + edges.add(tmp); + return false; + } + return true; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + if (edges.size() == 0) { + return ""; + } + final Collection vertexSet = new TreeSet<>(); + + String firstSection = ""; + final String seperator = "--"; + String secondSection = ""; + for (final Edge edge : edges) { + vertexSet.add(edge.getFirst()); + vertexSet.add(edge.getSecond()); + secondSection += "\n" + edge.toString(); + } + for (final Vertex vertex : vertexSet) { + firstSection += vertex.toString() + "\n"; + } + return (firstSection + seperator + secondSection).trim(); + } + + private List getAllVertices() { + final List list = new ArrayList<>(); + for (final Edge edge : edges) { + final Vertex first = edge.getFirst(); + final Vertex second = edge.getSecond(); + if (!list.contains(first)) { + list.add(first); + } + if (!list.contains(second)) { + list.add(second); + } + } + return list; + } + + /** + * Gets the edges. + * + * @return the edges + */ + public List getEdges() { + return edges; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/Vertex.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/Vertex.java new file mode 100644 index 0000000..809459d --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/Vertex.java @@ -0,0 +1,79 @@ +package edu.kit.informatik.graph; + +import java.util.ArrayList; +import java.util.Collection; + +/** + * The Class Vertex. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Vertex implements Comparable { + + /** The identifier of a Vertex. */ + private final String identifier; + + /** + * Instantiates a new vertex. + * + * @param identifier + * the identifier + */ + public Vertex(final String identifier) { + this.identifier = identifier; + } + + /** + * Gets the edges that contain this vertex from a list of edges + * + * @param edges + * the edges + * @return the edges + */ + public Collection getEdges(final Collection edges) { + final Collection col = new ArrayList<>(); + for (final Edge edge : edges) { + if (edge.containsVertex(this)) { + col.add(edge); + } + } + return col; + } + + /** + * Gets the identifier. + * + * @return the identifier + */ + public String getIdentifier() { + return identifier; + } + + /** + * Checks if two objects are the same. + * + * @param obj + * the object this should be compared against + * @return true, if obj is Vertex and if identifiers are the same + */ + @Override + public boolean equals(final Object obj) { + return obj.getClass().equals(Vertex.class) && ((Vertex) obj).identifier.equalsIgnoreCase(this.identifier); + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + return identifier; + } + + @Override + public int compareTo(final Vertex o) { + return this.identifier.compareToIgnoreCase(o.identifier); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/fileinput/GraphBuilder.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/fileinput/GraphBuilder.java new file mode 100644 index 0000000..e696148 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/fileinput/GraphBuilder.java @@ -0,0 +1,163 @@ +package edu.kit.informatik.graph.fileinput; + +import java.util.ArrayList; +import java.util.Collection; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.FileInputHelper; +import edu.kit.informatik.exception.IllegalObjectException; +import edu.kit.informatik.exception.InvalidFileFormatException; +import edu.kit.informatik.graph.Edge; +import edu.kit.informatik.graph.Graph; +import edu.kit.informatik.graph.Vertex; + +/** + * The Class GraphBuilder. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public final class GraphBuilder { + + /** + * Instantiates a new graph builder. + */ + private GraphBuilder() { + } + + /** + * Reads a file and converts it to a graph. + * + * @param filePath + * the file path + * @return the graph + * @throws InvalidFileFormatException + * the invalid file format exception + */ + public static Graph fileToGraph(final String filePath) throws InvalidFileFormatException { + final String content = FileInputHelper.read(filePath); + if (!content.matches(Constant.REGEX_GRAPH_FILE)) { + exceptionInvalidFileFormat(Constant.FILE_WRONG_FORMAT); + } + final int sep = content.lastIndexOf("\n" + Constant.SEPARATOR + "\n"); + final String firstPart = content.substring(0, sep); + // +2 to remove \n + final String secondPart = content.substring(sep + Constant.SEPARATOR.length() + 2); + + final Collection vertices = firstPartToVertices(firstPart); + final Collection edges = secondPartToEdges(secondPart, vertices); + + for (final Vertex vertex : vertices) { + boolean hasEdge = false; + for (final Edge edge : edges) { + if (edge.containsVertex(vertex)) { + hasEdge = true; + } + } + if (!hasEdge) { + exceptionInvalidFileFormat(Constant.GRAPH_NOT_CONTINOUS); + } + } + + final Graph graph = new Graph(); + for (final Edge edge : edges) { + if (!(vertices.contains(edge.getFirst()) && vertices.contains(edge.getSecond()))) { + exceptionInvalidFileFormat(Constant.EDGE_VERTEX_NOT_FOUND); + } + } + try { + graph.addAllEdges(edges); + } catch (final IllegalObjectException e) { + exceptionInvalidFileFormat(e.getMessage()); + } + + if (!graph.isContinous()) { + exceptionInvalidFileFormat(Constant.GRAPH_NOT_CONTINOUS); + } + + return graph; + } + + /** + * Converts the first part of the file to vertices. + * + * @param firstFilePart + * the first part of the file + * @return the collection of vertices + * @throws InvalidFileFormatException + * the invalid file format exception + */ + private static Collection firstPartToVertices(final String firstFilePart) + throws InvalidFileFormatException { + final String[] lines = firstFilePart.split("\n"); + final Collection vertices = new ArrayList<>(); + + for (final String str : lines) { + final Vertex v = new Vertex(str); + if (vertices.contains(v)) { + exceptionInvalidFileFormat(Constant.VERTEX_DUPLICATE); + } else { + vertices.add(v); + } + } + + if (vertices.size() < 2) { + exceptionInvalidFileFormat(Constant.GRAPH_VERTEX_LESS_THAN_TWO); + } + return vertices; + } + + /** + * Converts the second part of the file to edges. + * + * @param secondFilePart + * the second part of the file + * @param vertices + * the vertices + * @return the collection + * @throws InvalidFileFormatException + * the invalid file format exception + */ + private static Collection secondPartToEdges(final String secondFilePart, final Collection vertices) + throws InvalidFileFormatException { + final Collection edges = new ArrayList<>(); + final String[] lines = secondFilePart.split("\n"); + + for (final String str : lines) { + final String[] param = str.split(";"); + // Convert String to Vertices and int + final Vertex v = new Vertex(param[0]); + final Vertex w = new Vertex(param[1]); + int distance = -1; + int time = -1; + try { + distance = Integer.parseInt(param[2]); + time = Integer.parseInt(param[3]); + if (time <= 0 || distance <= 0) { + throw new InvalidFileFormatException(); + } + } catch (final NumberFormatException e) { + exceptionInvalidFileFormat(Constant.NUMBER_FORMAT_ILLEGAL); + } + + if (!(vertices.contains(v) || vertices.contains(w))) { + exceptionInvalidFileFormat(Constant.EDGE_VERTEX_NOT_FOUND); + } + + final Edge e = new Edge(v, w, distance, time); + if (edges.contains(e)) { + exceptionInvalidFileFormat(Constant.VERTEX_DUPLICATE); + } + edges.add(e); + } + + if (edges.size() < 1) { + exceptionInvalidFileFormat(Constant.GRAPH_EDGE_LESS_THAN_ONE); + } + return edges; + } + + private static void exceptionInvalidFileFormat(final String message) throws InvalidFileFormatException { + throw new InvalidFileFormatException("while reading file: " + message); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/GraphPathFinder.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/GraphPathFinder.java new file mode 100644 index 0000000..71336e0 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/GraphPathFinder.java @@ -0,0 +1,217 @@ +/* + * @author Hannes Kuchelmeister + * + * @version 1.0 + */ +package edu.kit.informatik.graph.pathfinding; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedList; +import java.util.List; + +import edu.kit.informatik.graph.Edge; +import edu.kit.informatik.graph.Vertex; + +/** + * The Class GraphPathFinder will find a path between two nodes in a graph + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class GraphPathFinder { + + /** The graph. */ + private final List graph; + + /** + * Instantiates a new graph path finder. + * + * @param edges + * all edges of a graph + */ + public GraphPathFinder(final List edges) { + graph = edges; + } + + /** + * Gets the path with Dijkstra algorithm. + * + * @param start + * the start vertex + * @param destination + * the destination vertex + * @param comparator + * the comparator which compares vertices + * @return the path + */ + public PathVertex getPathReversedDijkstra(final Vertex start, final Vertex destination, + final PathVertexComparator comparator) { + final PathVertex s = new PathVertex(start); + + // Intialize Get a list of all vertices + final List vertices = new ArrayList<>(); + final List toVisit = new LinkedList<>(); + //foreach edge add all vertices to toVisit, vertices and set they score to -1 which resembles infinity + for (final Edge edge : graph) { + + final PathVertex first = new PathVertex(edge.getFirst()); + if (!first.equals(s)) { + comparator.setScore(first, -1); + } + if (!vertices.contains(first)) { + vertices.add(first); + } + if (!toVisit.contains(first)) { + toVisit.add(first); + } + + final PathVertex second = new PathVertex(edge.getSecond()); + if (!second.equals(s)) { + comparator.setScore(second, -1); + } + if (!vertices.contains(second)) { + vertices.add(second); + } + if (!toVisit.contains(second)) { + toVisit.add(second); + } + } + // Real magic happens here (pathfinding) + while (toVisit.size() > 1) { + toVisit.sort(comparator); + PathVertex v = toVisit.get(0); + + toVisit.remove(toVisit.indexOf(v)); + for (final PathVertex u : v.getNeighbours(vertices, graph)) { + if (toVisit.contains(u)) { + // Get connecting edge + final int index = graph.indexOf(new Edge(v.getData(), u.getData(), 10, 10)); + if (index >= 0) { + final Edge e = graph.get(index); + // new Distance + final int dist = comparator.getScore(v) + comparator.getEdgeScore(e); + if (dist < comparator.getScore(u) || comparator.getScore(u) == -1) { + comparator.setScore(u, dist); + u.setPrevious(v); + } + } + } + } + } + return vertices.get(vertices.indexOf(new PathVertex(destination))); + } + + /** + * Gets all paths. + * + * @param vertex + * the vertex + * @param searchFor + * the search for + * @return the all paths + */ + public Collection getAllPaths(final Vertex vertex, final Vertex searchFor) { + return depthFirstSearch(vertex, searchFor, new ArrayList<>()); + } + + /** + * Gets the path depth first search. + * + * @param vertex + * the vertex + * @param searchFor + * the search for + * @return the best path (pathScore calculated by distance*distance + + * time*time) + */ + public PathVertex getPathDepthFirstSearch(final Vertex vertex, final Vertex searchFor) { + final Collection pathVertices = depthFirstSearch(vertex, searchFor, new ArrayList<>()); + + // find best path + PathVertex path = null; + for (final PathVertex v : pathVertices) { + if (path == null || path.getOptimalScore() > v.getOptimalScore()) { + path = v; + } + } + return path; + } + + /** + * recursive search for paths from vertex to + * searchFor + * + * @param vertex + * the vertex + * @param searchFor + * the search for + * @param lookedAt + * the looked at + * @return the collection + */ + private Collection depthFirstSearch(final Vertex vertex, final Vertex searchFor, + final ArrayList lookedAt) { + // Abbort conditions + if (vertex.equals(searchFor)) { + final PathVertex tmp = new PathVertex(vertex); + final Collection collection = new ArrayList<>(); + collection.add(tmp); + return collection; + } + if (lookedAt.contains(vertex)) { + return null; + } + lookedAt.add(vertex); + + final Collection neighbours = vertex.getEdges(graph); + + final PathVertex path = new PathVertex(vertex); + final Collection retPathCollection = new ArrayList<>(); + + path.setDistance(0); + path.setTime(0); + for (final Edge edge : neighbours) { + // recursive search for all paths + final Collection tmpPathCollection = depthFirstSearch(edge.getOtherVertex(vertex), searchFor, + /*(ArrayList) lookedAt.clone()*/ new ArrayList<>(lookedAt)); + // connect vertex to all found paths + if (tmpPathCollection != null) { + for (final PathVertex pathVertex : tmpPathCollection) { + if (pathVertex != null) { + PathVertex tmpPath; + tmpPath = (path.clone()); + if (tmpPath != null) { + tmpPath.setPrevious(pathVertex); + // calc new pathscore + tmpPath.setDistance(pathVertex.getDistance() + edgeDistance(pathVertex.getData(), vertex)); + tmpPath.setTime(pathVertex.getTime() + edgeTime(pathVertex.getData(), vertex)); + retPathCollection.add(tmpPath); + } + } + } + } + } + + return retPathCollection; + + } + + private int edgeDistance(final Vertex v, final Vertex w) { + for (final Edge edge : graph) { + if (edge.containsVertex(v) && edge.containsVertex(w)) { + return edge.getDistance(); + } + } + return 0; + } + + private int edgeTime(final Vertex v, final Vertex w) { + for (final Edge edge : graph) { + if (edge.containsVertex(v) && edge.containsVertex(w)) { + return edge.getTime(); + } + } + return 0; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertex.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertex.java new file mode 100644 index 0000000..9205a0c --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertex.java @@ -0,0 +1,169 @@ +package edu.kit.informatik.graph.pathfinding; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import edu.kit.informatik.graph.Edge; +import edu.kit.informatik.graph.Vertex; + +/** + * The Class PathVertex. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class PathVertex { + + /** The data. */ + private final Vertex data; + + /** The previous. */ + private PathVertex previous; + + private int time; + private int distance; + + /** + * Instantiates a new path vertex. + * + * @param v + * the v + */ + public PathVertex(final Vertex v) { + time = 0; + distance = 0; + data = v; + previous = null; + } + + /** + * Sets the previous. + * + * @param previous + * the new previous + */ + public void setPrevious(final PathVertex previous) { + this.previous = previous; + } + + /** + * Gets the previous. + * + * @return the previous + */ + public PathVertex getPrevious() { + return previous; + } + + /** + * Gets the data. + * + * @return the data + */ + public Vertex getData() { + return data; + } + + /** + * Gets the neighbours of a pathVertex + * + * @param vertices + * the vertices + * @param edges + * the edges + * @return the neighbours + */ + public Collection getNeighbours(final List vertices, final Collection edges) { + final Collection neighbours = new ArrayList<>(); + for (final Edge edge : edges) { + for (final PathVertex vertex : vertices) { + if (edge.containsVertex(vertex.data) && !neighbours.contains(vertex)) { + neighbours.add(vertex); + } + } + } + return neighbours; + } + + /** + * Gets the distance. + * + * @return the distance + */ + public int getDistance() { + return distance; + } + + /** + * Gets the time. + * + * @return the time + */ + public int getTime() { + return time; + } + + /** + * Gets the optimal score. + * + * @return the optimal score + */ + public int getOptimalScore() { + return (distance * distance) + (time * time); + } + + /** + * Sets the distance. + * + * @param distance + * the new distance + */ + public void setDistance(final int distance) { + this.distance = distance; + } + + /** + * Sets the time. + * + * @param time + * the new time + */ + public void setTime(final int time) { + this.time = time; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + String str = data.toString(); + if (previous != null) { + str += " " + previous.toString(); + } + + return str; + } + + @Override + public boolean equals(final Object obj) { + if (!obj.getClass().equals(this.getClass())) { + return false; + } else { + return data.equals(((PathVertex) obj).data); + } + } + + @Override + protected PathVertex clone() { + final PathVertex tmpPathVertex = new PathVertex(data); + tmpPathVertex.setPrevious(this.previous); + tmpPathVertex.setDistance(this.distance); + tmpPathVertex.setTime(this.time); + return tmpPathVertex; + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertexComparator.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertexComparator.java new file mode 100644 index 0000000..0409bde --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertexComparator.java @@ -0,0 +1,46 @@ +package edu.kit.informatik.graph.pathfinding; + +import java.util.Comparator; + +import edu.kit.informatik.graph.Edge; + +/** + * The Class VertexComparator. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public abstract class PathVertexComparator implements Comparator { + @Override + public abstract int compare(final PathVertex first, final PathVertex second); + + /** + * Gets the score of a pathVertex + * + * @param v + * the v + * @return the score + */ + public abstract int getScore(PathVertex v); + + /** + * Sets the score of a path vertex. + * + * @param v + * the path vertex + * @param score + * the score + */ + public abstract void setScore(PathVertex v, int score); + + /** + * Gets the score of an edge, what the score actually means might differ in + * subclasses. + * + * @param e + * the e + * @return the edge score + */ + public abstract int getEdgeScore(Edge e); + +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertexDistanceComparator.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertexDistanceComparator.java new file mode 100644 index 0000000..2907f5a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertexDistanceComparator.java @@ -0,0 +1,55 @@ +package edu.kit.informatik.graph.pathfinding; + +import edu.kit.informatik.graph.Edge; + +/** + * The Class PathVertexDistanceComparator. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class PathVertexDistanceComparator extends PathVertexComparator { + + /** + * Instantiates a new path vertex distance comparator. + */ + public PathVertexDistanceComparator() { + } + + /** + * Gets the edge score. + * + * @param e + * the e + * @return the edge score + */ + @Override + public int getEdgeScore(final Edge e) { + return e.getDistance(); + } + + @Override + public int compare(final PathVertex first, final PathVertex second) { + if (first.equals(second)) { + return 0; + } else if (first.getDistance() == -1) { + // first is greater than second + return 1; + } else if (second.getDistance() == -1) { + // first is less than second + return -1; + } + + return first.getDistance() - second.getDistance(); + } + + @Override + public int getScore(final PathVertex v) { + return v.getDistance(); + } + + @Override + public void setScore(final PathVertex v, final int score) { + v.setDistance(score); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertexTimeComparator.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertexTimeComparator.java new file mode 100644 index 0000000..d00360d --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/graph/pathfinding/PathVertexTimeComparator.java @@ -0,0 +1,55 @@ +package edu.kit.informatik.graph.pathfinding; + +import edu.kit.informatik.graph.Edge; + +/** + * The Class PathVertexDistanceComparator. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class PathVertexTimeComparator extends PathVertexComparator { + + /** + * Instantiates a new path vertex time comparator. + */ + public PathVertexTimeComparator() { + } + + /* + * (non-Javadoc) + * + * @see edu.kit.informatik.graph.PathVertexComparator#getEdgeScore(edu.kit. + * informatik.graph.Edge) + */ + @Override + public int getEdgeScore(final Edge e) { + return e.getTime(); + } + + @Override + public int compare(final PathVertex first, final PathVertex second) { + if (first.equals(second)) { + return 0; + } else if (first.getTime() == -1) { + // first is greater than second + return 1; + } else if (second.getTime() == -1) { + // first is less than second + return -1; + } + + return first.getTime() - second.getTime(); + } + + @Override + public int getScore(final PathVertex v) { + return v.getTime(); + } + + @Override + public void setScore(final PathVertex v, final int score) { + v.setTime(score); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/Command.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/Command.java new file mode 100644 index 0000000..17d4116 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/Command.java @@ -0,0 +1,137 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.graph.Graph; + +/** + * The Class Command. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public abstract class Command { + + /** The name. */ + private final String name; + + private final String info; + + /** The parameter count. */ + private final int parameterCount; + + /** + * Instantiates a new command. + * + * @param name + * the name + * @param info + * the information on how to use the command + * @param parameterCount + * the parameter count + */ + public Command(final String name, final String info, final int parameterCount) { + this.name = name; + this.info = info; + this.parameterCount = parameterCount; + } + + /** + * Checks if the string starts with the correct name of this command. + * + * @param str + * the str + * @return true, if successful + */ + private boolean correctCommand(final String str) { + return name.equals(str.split(" ")[0]); + } + + /** + * Checks if string has valid command form. Will call + * correctCommand, correctParameters and will + * check parameterCount. + * + * @param command + * the command + * @return true, if successful + */ + public final boolean validate(final String command) { + final String[] parameters = commandToParametersArray(command); + return correctCommand(command) && parameters.length == parameterCount && correctParameters(parameters); + } + + /** + * Checks if parameters of string are correct. + * + * @param command + * the command + * @return true, if successful + */ + public boolean correctParameters(final String[] command) { + return true; + } + + /** + * Executes the command. + * + * @param command + * the command + * @param graph + * the graph + */ + public abstract void execute(String command, Graph graph); + + /** + * Gets the parameters from a String which is a console command. + * + * @param command + * the command + * @return the string[] that contains all parameters + */ + public String[] commandToParametersArray(final String command) { + final String[] tmp = command.split(" "); + if (tmp.length > 1) { + return tmp[1].split(";"); + } + return new String[0]; + } + + /** + * Checks if program should quit. + * + * @return true, if successful + */ + public boolean checkQuit() { + return false; + } + + /** + * Checks if objects are equal. + * + * @param obj + * the obj + * @return true, if same name and same parameterCount + */ + @Override + public boolean equals(final Object obj) { + return (obj.getClass().equals(this.getClass())) && ((Command) obj).name.equals(this.name) + && ((Command) obj).parameterCount == this.parameterCount; + } + /** + * Gets the name. + * + * @return the name + */ + /*public String getName() { + return name; + }*/ + + /** + * Gets the info. + * + * @return the info + */ + public String getInfo() { + return info; + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/InfoCommand.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/InfoCommand.java new file mode 100644 index 0000000..2bcac59 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/InfoCommand.java @@ -0,0 +1,32 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.Terminal; +import edu.kit.informatik.graph.Graph; + +/** + * The Class InfoCommand. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class InfoCommand extends Command { + + /** + * Instantiates a new info command. + */ + public InfoCommand() { + super("info", "info", 0); + } + + /* + * (non-Javadoc) + * + * @see edu.kit.informatik.terminlinput.Command#execute(java.lang.String, + * edu.kit.informatik.graph.Graph) + */ + @Override + public void execute(final String command, final Graph graph) { + Terminal.printLine(graph.toString()); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/InputManager.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/InputManager.java new file mode 100644 index 0000000..5d1caa1 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/InputManager.java @@ -0,0 +1,102 @@ +package edu.kit.informatik.terminalinput; + +import java.util.LinkedList; +import java.util.List; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.Terminal; +import edu.kit.informatik.graph.Graph; + +/** + * The Class InputManager. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class InputManager { + + /** The commands. */ + private List commands; + + /** The graph. */ + private final Graph graph; + + /** The quit. */ + private boolean quit; + + /** + * Instantiates a new input manager. + * + * @param g + * the graph + */ + public InputManager(final Graph g) { + this.graph = g; + initializeCommands(); + quit = false; + } + + /** + * Initialize all commands. + */ + private void initializeCommands() { + commands = new LinkedList<>(); + commands.add(new QuitCommand()); + commands.add(new InfoCommand()); + commands.add(new VerticesCommand()); + commands.add(new NodesCommand()); + commands.add(new RemoveCommand()); + commands.add(new InsertCommand()); + commands.add(new RouteCommand()); + commands.add(new SearchCommand()); + + } + + /** + * Run the input manager. + */ + public void run() { + while (!quit) { + boolean commandExcecuted = false; + final String input = Terminal.readLine(); + for (final Command command : commands) { + if (command.validate(input)) { + command.execute(input, graph); + if (command.checkQuit()) { + quit = true; + } + commandExcecuted = true; + } + } + if (!commandExcecuted) { + error(Constant.COMMAND_NOT_FOUND + " (valid commands: " + commandsInfo() + + " [numbers can't be zero or less])"); + } + } + } + + /** + * Prints an error. + * + * @param message + * the message + */ + public static void error(final String message) { + Terminal.printLine(Constant.PREFIX_ERROR + " " + message); + } + + /** + * Prints the success command output. + */ + public static void printSuccess() { + Terminal.printLine(Constant.COMMAND_SUCCESSFUL); + } + + private String commandsInfo() { + String out = ""; + for (final Command command : commands) { + out += "'" + command.getInfo() + "' "; + } + return out; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/InsertCommand.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/InsertCommand.java new file mode 100644 index 0000000..916ef75 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/InsertCommand.java @@ -0,0 +1,80 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.exception.IllegalObjectException; +import edu.kit.informatik.graph.Edge; +import edu.kit.informatik.graph.Graph; +import edu.kit.informatik.graph.Vertex; + +/** + * The Class InsertCommand. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class InsertCommand extends Command { + + /** + * Instantiates a new insert command. + */ + public InsertCommand() { + super("insert", "insert ;;;", 4); + } + + @Override + public boolean correctParameters(final String[] parameters) { + return parameters[0].matches(Constant.REGEX_CITY_NAME) && parameters[1].matches(Constant.REGEX_CITY_NAME) + && parameters[2].matches(Constant.REGEX_POSITIVE_INTEGER) + && parameters[3].matches(Constant.REGEX_POSITIVE_INTEGER); + } + + /* + * (non-Javadoc) + * + * @see edu.kit.informatik.terminlinput.Command#execute(java.lang.String, + * edu.kit.informatik.graph.Graph) + */ + @Override + public void execute(final String command, final Graph graph) { + final String[] parameters = commandToParametersArray(command); + + Vertex v = new Vertex(parameters[0]); + Vertex w = new Vertex(parameters[1]); + int distance = 0; + int time = 0; + try { + distance = Integer.parseInt(parameters[2]); + time = Integer.parseInt(parameters[3]); + } catch (final NumberFormatException e) { + InputManager.error(Constant.NUMBER_FORMAT_ILLEGAL); + return; + } + + if (!graph.contains(v) && !graph.contains(w)) { + InputManager.error(Constant.EDGE_VERTEX_NOT_FOUND); + return; + } + + // Get the correct reference + if (graph.contains(v)) { + v = graph.getVertex(v); + } + if (graph.contains(w)) { + w = graph.getVertex(w); + } + + final Edge edge = new Edge(v, w, distance, time); + if (graph.contains(edge)) { + InputManager.error(Constant.EDGE_CONTAINED_ALLREADY); + return; + } + try { + graph.addEdge(edge); + InputManager.printSuccess(); + } catch (final IllegalObjectException e) { + InputManager.error(e.getMessage()); + } + + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/NodesCommand.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/NodesCommand.java new file mode 100644 index 0000000..3ee170e --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/NodesCommand.java @@ -0,0 +1,39 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.Terminal; +import edu.kit.informatik.exception.IllegalObjectException; +import edu.kit.informatik.graph.Graph; +import edu.kit.informatik.graph.Vertex; + +/** + * The Class NodesCommand. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class NodesCommand extends Command { + + /** + * Instantiates a new nodes command. + */ + public NodesCommand() { + super("nodes", "nodes ", 1); + } + + @Override + public boolean correctParameters(final String[] parameters) { + return parameters[0].matches(Constant.REGEX_CITY_NAME); + } + + @Override + public void execute(final String command, final Graph graph) { + final Vertex v = new Vertex(commandToParametersArray(command)[0]); + try { + Terminal.printLine(graph.neighboursToString(v)); + } catch (final IllegalObjectException e) { + InputManager.error(e.getMessage()); + } + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/QuitCommand.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/QuitCommand.java new file mode 100644 index 0000000..3b542d4 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/QuitCommand.java @@ -0,0 +1,32 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.graph.Graph; + +/** + * The Class QuitCommand. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class QuitCommand extends Command { + private boolean quit; + + /** + * Instantiates a new quit command. + */ + public QuitCommand() { + super("quit", "quit", 0); + quit = false; + } + + @Override + public void execute(final String command, final Graph graph) { + quit = true; + } + + @Override + public boolean checkQuit() { + return quit; + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/RemoveCommand.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/RemoveCommand.java new file mode 100644 index 0000000..9bc0591 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/RemoveCommand.java @@ -0,0 +1,48 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.Terminal; +import edu.kit.informatik.graph.Edge; +import edu.kit.informatik.graph.Graph; +import edu.kit.informatik.graph.Vertex; + +/** + * The Class RemoveCommand. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class RemoveCommand extends Command { + + /** + * Instantiates a new removes the command. + */ + public RemoveCommand() { + super("remove", "remove ;", 2); + } + + @Override + public boolean correctParameters(final String[] parameters) { + return parameters[0].matches(Constant.REGEX_CITY_NAME) && parameters[1].matches(Constant.REGEX_CITY_NAME); + } + + /* + * (non-Javadoc) + * + * @see edu.kit.informatik.terminlinput.Command#execute(java.lang.String, + * edu.kit.informatik.graph.Graph) + */ + @Override + public void execute(final String command, final Graph graph) { + final String[] parameters = commandToParametersArray(command); + final Vertex v = new Vertex(parameters[0]); + final Vertex w = new Vertex(parameters[1]); + + if (graph.removeEdge(new Edge(v, w, 10, 10))) { + Terminal.printLine("OK"); + } else { + InputManager.error(Constant.EDGE_CANNOT_REMOVE); + } + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/RouteCommand.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/RouteCommand.java new file mode 100644 index 0000000..5afce3c --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/RouteCommand.java @@ -0,0 +1,96 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.Terminal; +import edu.kit.informatik.graph.Graph; +import edu.kit.informatik.graph.Vertex; +import edu.kit.informatik.graph.pathfinding.GraphPathFinder; +import edu.kit.informatik.graph.pathfinding.PathVertex; +import edu.kit.informatik.graph.pathfinding.PathVertexDistanceComparator; +import edu.kit.informatik.graph.pathfinding.PathVertexTimeComparator; + +/** + * The Class RouteCommand. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class RouteCommand extends Command { + + /** + * Instantiates a new route command. + */ + public RouteCommand() { + super("route", "route ;;", 3); + } + + /* + * (non-Javadoc) + * + * @see edu.kit.informatik.terminlinput.Command#correctParameters(java.lang. + * String) + */ + @Override + public boolean correctParameters(final String[] parameters) { + return parameters[0].matches(Constant.REGEX_CITY_NAME) && parameters[1].matches(Constant.REGEX_CITY_NAME) + && parameters[2].matches(Constant.REGEX_ROUTE); + } + + @Override + public void execute(final String command, final Graph graph) { + final GraphPathFinder pathFinder = new GraphPathFinder(graph.getEdges()); + final String[] parameters = commandToParametersArray(command); + + final Vertex start = new Vertex(parameters[0]); + final Vertex searchFor = new Vertex(parameters[1]); + final String criterion = parameters[2]; + + // Check if start and searchFor are part of graph + if (!graph.contains(start) || !graph.contains(searchFor)) { + InputManager.error(Constant.VERTEX_NOT_FOUND); + return; + } + + String out = ""; + switch (criterion) { + case Constant.REGEX_CRITERION_ALL: + out = ""; + for (final PathVertex pVert : pathFinder.getAllPaths(start, searchFor)) { + out += pVert.toString() + "\n"; + } + break; + case Constant.REGEX_CRITERION_BOTH: + out = pathFinder.getPathDepthFirstSearch(start, searchFor).toString(); + break; + case Constant.REGEX_CRITERION_TIME: { + out = ""; + final String[] arr = pathFinder.getPathReversedDijkstra(start, searchFor, new PathVertexTimeComparator()) + .toString().split(" "); + // Reverse order + for (String anArr : arr) { + out = anArr + " " + out; + } + out = out.trim(); + break; + } + case Constant.REGEX_CRITERION_DISTANCE: { + out = ""; + final String[] arr = pathFinder + .getPathReversedDijkstra(start, searchFor, new PathVertexDistanceComparator()).toString() + .split(" "); + // Reverse order + for (String anArr : arr) { + out = anArr + " " + out; + } + out = out.trim(); + break; + } + default: + InputManager.error(Constant.CODE_NOT_ACCESSIBLE); + return; + } + out = out.trim(); + Terminal.printLine(out); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/SearchCommand.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/SearchCommand.java new file mode 100644 index 0000000..3fb0618 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/SearchCommand.java @@ -0,0 +1,78 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.Terminal; +import edu.kit.informatik.graph.Graph; +import edu.kit.informatik.graph.Vertex; +import edu.kit.informatik.graph.pathfinding.GraphPathFinder; +import edu.kit.informatik.graph.pathfinding.PathVertexDistanceComparator; +import edu.kit.informatik.graph.pathfinding.PathVertexTimeComparator; + +/** + * The Class SearchCommand. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class SearchCommand extends Command { + + /** + * Instantiates a new search command. + */ + public SearchCommand() { + super("search", "search ;;", 3); + } + + /* + * (non-Javadoc) + * + * @see edu.kit.informatik.terminlinput.Command#correctParameters(java.lang. + * String) + */ + @Override + public boolean correctParameters(final String[] parameters) { + return parameters[0].matches(Constant.REGEX_CITY_NAME) && parameters[1].matches(Constant.REGEX_CITY_NAME) + && parameters[2].matches(Constant.REGEX_SEARCH); + } + + /* + * (non-Javadoc) + * + * @see edu.kit.informatik.terminlinput.Command#execute(java.lang.String, + * edu.kit.informatik.graph.Graph) + */ + @Override + public void execute(final String command, final Graph graph) { + final GraphPathFinder pathFinder = new GraphPathFinder(graph.getEdges()); + final String[] parameters = commandToParametersArray(command); + + final Vertex start = new Vertex(parameters[0]); + final Vertex searchFor = new Vertex(parameters[1]); + final String criterion = parameters[2]; + + // Check if start and searchFor are part of graph + if (!graph.contains(start) || !graph.contains(searchFor)) { + InputManager.error(Constant.VERTEX_NOT_FOUND); + return; + } + + String out = ""; + switch (criterion) { + case Constant.REGEX_CRITERION_BOTH: + out = Integer.toString(pathFinder.getPathDepthFirstSearch(start, searchFor).getOptimalScore()); + break; + case Constant.REGEX_CRITERION_TIME: + out = Integer.toString( + pathFinder.getPathReversedDijkstra(start, searchFor, new PathVertexTimeComparator()).getTime()); + break; + case Constant.REGEX_CRITERION_DISTANCE: + out = Integer.toString(pathFinder + .getPathReversedDijkstra(start, searchFor, new PathVertexDistanceComparator()).getDistance()); + break; + default: + InputManager.error(Constant.CODE_NOT_ACCESSIBLE); + return; + } + Terminal.printLine(out); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/VerticesCommand.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/VerticesCommand.java new file mode 100644 index 0000000..b7c8e8b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/terminalinput/VerticesCommand.java @@ -0,0 +1,26 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.Terminal; +import edu.kit.informatik.graph.Graph; + +/** + * The Class VerticesCommand. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class VerticesCommand extends Command { + + /** + * Instantiates a new vertices command. + */ + public VerticesCommand() { + super("vertices", "vertices", 0); + } + + @Override + public void execute(final String command, final Graph graph) { + Terminal.printLine(graph.toString().split("\n" + Constant.SEPARATOR + "\n")[0].trim()); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/test.graph b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/test.graph new file mode 100644 index 0000000..ebdc5cc --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/test.graph @@ -0,0 +1,10 @@ +Aa +bB +C +d +-- +Aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/testsuite/ExpectionInputStream.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/testsuite/ExpectionInputStream.java new file mode 100644 index 0000000..9e8fd0a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/testsuite/ExpectionInputStream.java @@ -0,0 +1,101 @@ +package edu.kit.informatik.tests.testsuite; + +import java.io.IOException; +import java.io.PipedInputStream; +import java.io.PipedOutputStream; +import java.io.StringReader; +import java.util.List; + +/** + * InputStream that expects reading and reads specific lines. + * + * @author Moritz Hepp + * @version 1.0 + */ +public class ExpectionInputStream extends PipedInputStream { + + private boolean expecting; + private int count; + private final List inputs; + private ExpectionOutputStream out; + + /** + * Initialises a new InputStream. + * + * @param ins + * Lines the stream expects. + */ + public ExpectionInputStream(final List ins) { + super(); + inputs = ins; + count = 0; + expecting = true; + } + + /** + * Setter of expecting. + * + * @param val + * Value of expecting. + */ + public void setExpecting(final boolean val) { + expecting = val; + } + + /** + * Getter of expecting. + * + * @return value of expecting. + */ + public boolean isExpecting() { + return expecting; + } + + @Override + public void connect(final PipedOutputStream str) throws IOException { + if (str instanceof ExpectionOutputStream) { + super.connect(str); + out = (ExpectionOutputStream) str; + } else { + System.err.println(TestSuite.ERR_PREF + "Tried to connect with non ExpectionOutputStream instance!"); + System.exit(-1); + } + } + + @Override + public int read(final byte[] b, final int off, final int len) throws IOException { + int result = -1; + if (expecting) { + if (inputs.size() > count) { + final char[] ch = new char[b.length]; + final StringReader reader = new StringReader(inputs.get(count).toString() + System.lineSeparator()); + + result = reader.read(ch, off, len); + + for (int i = off; i < result; i++) { + b[i] = (byte) ch[i]; + } + count++; + expecting = false; + } else if (inputs.size() == count) { + final byte[] by = ("quit" + System.lineSeparator()).getBytes(); + System.arraycopy(by, 0, b, 0, by.length); + result = by.length; + expecting = false; + } else { + System.err.println(TestSuite.ERR_PREF + "End of expectations reached!"); + System.exit(-2); + } + } else { + if (this.out.isExpecting()) { + System.err.println( + TestSuite.ERR_PREF + "Expecting " + (this.out.getExpectationSize() - this.out.getCount()) + + " more outputs but got call to read!"); + } else { + System.err.println(TestSuite.ERR_PREF + "Reading while not expected; case: " + count); + System.exit(-2); + } + } + return result; + } +} \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/testsuite/ExpectionOutputStream.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/testsuite/ExpectionOutputStream.java new file mode 100644 index 0000000..43e73ba --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/testsuite/ExpectionOutputStream.java @@ -0,0 +1,154 @@ +package edu.kit.informatik.tests.testsuite; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.OutputStream; +import java.io.PipedInputStream; +import java.io.PipedOutputStream; +import java.io.PrintStream; +import java.io.PrintWriter; +import java.util.Arrays; +import java.util.List; + +/** + * OutputStream multiple outputs and only writing if output matches the expected + * output. + * + * @author Moritz Hepp + * @version 1.0 + */ +public class ExpectionOutputStream extends PipedOutputStream { + + private final List expectations; + private int count = 0; + private boolean newLineAllowed = false; + private ExpectionInputStream in; + private final PrintStream out; + private PrintWriter log; + + /** + * Initialises a PipedStream with a list of expected inputs. + * + * @param expected Expected lines to print. + * @param str Next OutputStream. + * @param logFile File to save the output in. + * @throws IOException Will be thrown if initialisation of logwriter went wrong. + */ + public ExpectionOutputStream(final List expected, final OutputStream str, final File logFile) + throws IOException { + super(); + expectations = expected; + this.out = new PrintStream(str); + if (logFile.exists()) { + if (!logFile.delete()) { + throw new IOException("Deleting previous file failed!"); + } + } else { + if (!logFile.getParentFile().exists()) { + if (logFile.mkdirs()) { + throw new IOException("Deleting previous file failed!"); + } + } + } + if (logFile.createNewFile()) { + log = new PrintWriter(new FileWriter(logFile)); + } else { + throw new IOException("Creating new logFile failed!"); + } + } + + /** + * Getter of already printed lines. + * + * @return Count of already printed lines. + */ + public int getCount() { + return count; + } + + /** + * Getter of line count expecting. + * + * @return Size of list of expectations. + */ + public int getExpectationSize() { + return expectations.size(); + } + + /** + * Getter of property, if this Stream still expects. + * + * @return true, if count of already printed outputs is smaller then the + * size of the expected lines, false otherwise. + */ + public boolean isExpecting() { + return count < this.expectations.size(); + } + + /** + * Getter of the next stream this stream is connected to. + * + * @return Stream this stream is connected to. + */ + public PrintStream getNextStream() { + return this.out; + } + + @Override + public void connect(final PipedInputStream in) throws IOException { + if (in instanceof ExpectionInputStream) { + super.connect(in); + this.in = (ExpectionInputStream) in; + } else { + System.err.println(TestSuite.ERR_PREF + "Tried to connect with non ExpectionInputStream instance!"); + System.exit(-1); + } + } + + @Override + public void write(final byte[] b, final int off, final int len) throws IOException { + final String out = new String(Arrays.copyOfRange(b, off, len)); + if (out.startsWith(TestSuite.ERR_PREF) || out.startsWith(TestSuite.DEF_PREF) + || (out.matches(System.lineSeparator()) && newLineAllowed)) { + this.log.print(out); + newLineAllowed = false; + } else if (this.isExpecting()) { + String sRep = expectations.get(count).toString(); + // Get options + boolean ignoreEquals = false; + if (sRep.startsWith("!")) { + sRep = sRep.replaceFirst("!", ""); + // Ignore case + if (sRep.startsWith("C")) { + sRep = sRep.replaceFirst("C", ""); + ignoreEquals = sRep.equalsIgnoreCase(out); + } + //Others are not supported + } + if (sRep.equals(out) || ignoreEquals || (sRep.equals("00err") && out.startsWith("Error")) + || (out.replace(System.lineSeparator(), "\n").equals(sRep))) { + this.log.print(out); + + // quit-cmd has to be written + in.setExpecting(true); + count++; + newLineAllowed = true; + } else { + System.err.println(TestSuite.ERR_PREF + "\nexpected: " + sRep + "\nactual: " + out); + newLineAllowed = false; + System.exit(-2); + } + } else { + System.err.println(TestSuite.ERR_PREF + "Unexpected output at case: " + count); + newLineAllowed = false; + System.exit(-2); + } + } + + @Override + public void close() throws IOException { + super.close(); + this.log.close(); + } +} \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/testsuite/TestSuite.java b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/testsuite/TestSuite.java new file mode 100644 index 0000000..05e9c16 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/edu/kit/informatik/tests/testsuite/TestSuite.java @@ -0,0 +1,320 @@ +package edu.kit.informatik.tests.testsuite; + +import edu.kit.informatik.Terminal; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.PrintStream; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.LinkedList; +import java.util.List; +import java.util.Properties; +import java.util.Queue; +import java.util.Scanner; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Testing class providing a text file with command inputs instead of manual + * input. The text file is formatted as follows: + *

+ * + * @author Moritz Hepp + * @version 1.0 + */ +public final class TestSuite { + /** + * Prefix for error messages. ExpectionOutputStream will ignore output with + * this prefix. + */ + public static final String ERR_PREF = "$Error: "; + /** + * Prefix for test messages. ExpectionOutputStream will ignore output with + * this prefix. + */ + public static final String DEF_PREF = "Test: "; + + private static final String PARAM_REGEX = "(?:!C)?"; + + private static final String LINE_REGEX + = "(null|00err|true|false|\"" + PARAM_REGEX + + "[\\w\\s;\\-]*\"|-?[\\d]+|-?[\\d]+\\.[\\d]+)\\s:\\s\"([\\w\\s;]+)\""; + private static final String CMD_LINE_ARGS_REGEX = "\"[\\w\\\\/:_\\-\\.]+\"(;\"[\\w\\\\/:_\\-\\.]+\")*"; + + private static final String CMD_LINE_ARGS = "$CMD_LINE_ARGS$"; + + private static ExpectionInputStream sysIn; + private static ExpectionOutputStream sysOut; + + private static File[] files; + private static Class cl; + private static File logDir; + + private static final Queue THREAD_QUEUE = new ConcurrentLinkedQueue<>(); + + private TestSuite() { + } + + /** + * Test main to perform the tests located at $ProjectRoot/tests and named + * *.test. + * + * @param args Command line arguments. + */ + public static void main(final String... args) { + init(); + for (final File f : files) { + final Class clazz = cl; + final List fileLines = readTestFile(f.getPath()); + if (fileLines != null) { + Thread thread = new Thread(() -> { + final File logFile = new File( + logDir.getAbsoluteFile() + "/" + f.getName().replace(".test", "Test.log")); + System.out.println(DEF_PREF + "## file: " + f.getName()); + + List inputs = new LinkedList<>(); + List expectations = new LinkedList<>(); + + convert(fileLines, inputs, expectations); + + testFile(clazz, inputs, expectations, logFile); + if (!THREAD_QUEUE.isEmpty()) + THREAD_QUEUE.poll().start(); + }); + thread.setDaemon(false); + THREAD_QUEUE.add(thread); + } else + System.err.println(ERR_PREF + "Bad formatted file: " + f.getName()); + } + if (!THREAD_QUEUE.isEmpty()) + THREAD_QUEUE.poll().start(); + else + System.err.println(ERR_PREF + "Threading error: Thread queue is empty!"); + } + + private static void init() { + final Scanner scan = new Scanner(System.in); + Properties prop = new Properties(); + try { + prop.load(new FileReader("TestSuite.config")); + } catch (IOException ignored) { + } + File testsDir = null; + if (prop.containsKey("TestSources")) + testsDir = new File(prop.getProperty("TestSources")); + while (testsDir == null || !testsDir.exists()) { + System.out.print("Path to tests directory: "); + String input = scan.nextLine(); + testsDir = new File(input); + if (!testsDir.exists()) { + System.err.println(ERR_PREF + "Not a valid directory!"); + testsDir = null; + } else { + prop.setProperty("TestSources", testsDir.getPath()); + } + } + files = testsDir.listFiles((dir, name) -> name.endsWith(".test")); + if (files == null || files.length == 0) { + System.err.println(ERR_PREF + "Tests directory doesn't contain .test-Files!"); + System.exit(-1); + } + logDir = new File(testsDir.getPath() + "/logs/"); + if (!logDir.exists()) + if (!logDir.mkdir()) + System.err.println(ERR_PREF + "Failed to create log-directory."); + cl = null; + String className; + if (prop.containsKey("TestClass")) { + try { + className = prop.getProperty("TestClass"); + cl = Terminal.class.getClassLoader().loadClass("edu.kit.informatik." + className); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + cl = null; + } + } + while (cl == null) { + try { + System.out.print("Name of testing class: "); + className = scan.nextLine(); + cl = Terminal.class.getClassLoader().loadClass("edu.kit.informatik." + className); + prop.setProperty("TestClass", className); + } catch (ClassNotFoundException e) { + System.err.println(ERR_PREF + e.getMessage()); + cl = null; + } + } + try { + prop.store(new FileOutputStream("TestSuite.config"), "TestSuite runtime config"); + } catch (IOException e) { + System.err.println(ERR_PREF + "Failed storing properties!"); + } + } + + /** + * Performs the tests one file is representing. + * + * @param testClass Class to be tested. + * @param inputs Inputs with Command line args. + * @param expectations Expected outputs. + * @param logFile File to store the output of this test. + */ + public static void testFile(final Class testClass, final List inputs, + final List expectations, final File logFile) { + if (inputs != null && expectations != null && !inputs.isEmpty() && !expectations.isEmpty()) { + try { + final Method main = testClass.getMethod("main", String[].class); + + String[] arguments = null; + if (inputs.get(0).startsWith(CMD_LINE_ARGS)) { + String cmdLineArgs = inputs.get(0).replace(CMD_LINE_ARGS, ""); + + arguments = cmdLineArgs.split(";"); + inputs.remove(0); + } + initInOutput(inputs, expectations, logFile); + + main.invoke(null, (Object) arguments); + + resetInOutputSettings(); + } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException | IOException e) { + System.err.println(ERR_PREF + "Something went wrong while testing!"); + e.printStackTrace(); + } + } else { + System.err.println(ERR_PREF + "Empty test-file!"); + } + } + + private static void resetInOutputSettings() { + final int count = sysOut.getCount(); + if (count < sysOut.getExpectationSize()) { + System.err + .println(ERR_PREF + "Expected output count: " + count + ", actual: " + sysOut.getExpectationSize()); + } else if (sysIn.isExpecting()) { + System.err.println(ERR_PREF + "Expected input!"); + } else { + System.setOut(sysOut.getNextStream()); + try { + sysOut.close(); + sysOut = null; + sysIn.close(); + sysIn = null; + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + private static void initInOutput(final List inputs, + final List expectations, + final File logFile) throws IOException { + TestSuite.sysOut = new ExpectionOutputStream(expectations, System.out, logFile); + TestSuite.sysIn = new ExpectionInputStream(inputs); + + try { + sysIn.connect(sysOut); + } catch (final IOException e) { + System.err.println(ERR_PREF + e.getMessage()); + System.exit(-1); + return; + } + + System.setOut(new PrintStream(TestSuite.sysOut)); + System.setIn(TestSuite.sysIn); + } + + private static List readTestFile(final String path) { + List lines = null; + if (path != null) { + File testFile; + if (path.matches("[\\w]+")) { + testFile = new File(System.getProperty("user.dir") + File.pathSeparatorChar + path); + } else { + testFile = new File(path); + } + if (testFile.exists()) { + try { + final BufferedReader reader = new BufferedReader(new FileReader(testFile)); + lines = new LinkedList<>(); + while (reader.ready()) { + String nLine = reader.readLine(); + if (nLine != null) { + // if output is multiple lines long + if (nLine.matches("\"[\\w\\s\\-]*") && reader.ready()) { + String next; + boolean cont = true; + while (cont) { + next = reader.readLine(); + nLine += "\n" + next; + if (next.matches("[\\w\\s\\-;]*\"\\s:\\s\"[\\w\\s;]+\"")) { + cont = false; + } else if (!reader.ready()) { + nLine = ""; + cont = false; + } + } + } + if (nLine.matches(LINE_REGEX)) { + lines.add(nLine); + } else if (nLine.matches("<" + CMD_LINE_ARGS_REGEX + ">")) { + if (lines.size() == 0) { + final String args = nLine.replace("<", "").replace(">", ""); + lines.add(args); + } else { + lines = null; + break; + } + } else if (!nLine.matches("#.*") && !nLine.isEmpty()) { + lines = null; + break; + } + } + } + } catch (final IOException e) { + System.err.println(ERR_PREF + "Something went wrong while reading test File: " + e.getMessage()); + } + } + } + return lines; + } + + private static void convert(final List lines, + final List inputs, final List expections) { + if (lines != null) { + //Problem with same command + for (final String line : lines) { + if (line != null) { + if (line.matches(CMD_LINE_ARGS_REGEX)) { + String cmdLineArgs = line.replace("\"", ""); + inputs.add(CMD_LINE_ARGS + cmdLineArgs); + } else { + final Pattern pat = Pattern.compile(LINE_REGEX); + final Matcher match = pat.matcher(line); + if (match.matches() && (match.groupCount() == 2 || match.groupCount() == 3)) { + /* + group(1) == expected output + group() == input + */ + final String expected = match.group(1).replace("\"", ""); + final String input = match.group(2); + + expections.add(expected); + inputs.add(input); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/inputFile.txt b/Uni/Java/WS1516/Programmieren/Final01/src/inputFile.txt new file mode 100644 index 0000000..75a1c70 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/src/inputFile.txt @@ -0,0 +1,15 @@ +Aa +bB +C +d +e +f +-- +Aa;bB;1;+003 +Aa;C;2;4 +Aa;d;11;20 +bb;D;1;1 +bB;C;5;2 +C;d;1;1 +d;e;1;1 +f;e;1;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/src/texdoclet.jar b/Uni/Java/WS1516/Programmieren/Final01/src/texdoclet.jar new file mode 100644 index 0000000000000000000000000000000000000000..28844aa6e1382054763674081f9c7b55fa5ecd54 GIT binary patch literal 22053 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 S)Z_X@4QRks3^@Gw-~Ryc4V+>C literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/README.txt b/Uni/Java/WS1516/Programmieren/Final01/tests/README.txt new file mode 100644 index 0000000..d46b7d1 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/README.txt @@ -0,0 +1,35 @@ +1. Die Klassen "TestSuite", "ExpectionInputStream", "ExpectionOutputStream" in das Projekt kopieren. + +2. Beim Start der TestSuite-Klasse wird nach dem Ordner der Testfälle gefragt, + berücksichtige dabei dass der Projekt Ordner als Start-Verzeichnis gilt. + +3. Danach wird nach der zu testenden Klasse gefragt, gebe hier einfach den Namen der Klasse im Package + "edu.kit.informatik" an, die als Main-Klasse gehandelt wird. + +4. Die test-Dateien müssen so benannt sein: "*.test" und forlgender formatierung folgen: + - Ein Testfall wird dargestellt als: : "" + - Wobei 'expected' eine Zeichenkette über mehrere Zeilen sein kann, die dem + regulären Ausdruck [a-zA-Z0-9\\s]+ entspricht. 'expected' stellt dabei die erwartete Ausgabe dar. + 'expected' muss entweder "true", "false", einer Zahl oder einer Zeichenkette + gekennzeichnet durch " entsprechen. + 'expected' kann nur als Zeichenkette mehrzeilig sein, solange der Zeilenumsprung + in den " ist. + + - und 'actual' eine Zeichenkette über eine Zeile sein kann, die dem regulären Ausdruck + [a-zA-Z0-9\\s-;]+ entspricht. 'actual' stellt dabei die Eingabe eines Befehls dar. + - Die Kommandozeilenargumente werden dargestellt als: + <"cmd1";"cmd2";...> + Wobei cmd1 ein Kommandozeilenargument darstellt. + Die Kommandozeilenargumente müssen in der ersten Zeile der .test-Datei stehen. + +5. Ein Beispiel für den Test-Fall auf dem Aufgabenblatt: + +<"src\edu\kit\informatik\tests\test.graph"> +6 : "search bB;d;route" +"bB Aa C d" : "route bB;d;route" +"bB Aa C d +bB Aa d +bB C Aa d +bB C d" : "route bB;d;all" +"Aa +C" : "nodes bB" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/insert.test b/Uni/Java/WS1516/Programmieren/Final01/tests/insert.test new file mode 100644 index 0000000..bb6845b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/insert.test @@ -0,0 +1,20 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#Errors +00err : "insert " +00err : "insert null" +00err : "insert null;null;;" +00err : "insert null;null;null;null" +00err : "insert null;null;null;null;null;null" +00err : "insert Aa;EE;Cee;1" +00err : "insert Aa;EE;1;dee" +00err : "insert Aa;Aa;5;4" +00err : "insert Aa;bb;10;5" +00err : "insert bB;d;50000000000;5" +#00err : "insert Aa;Aa;-5;4" +00err : "insert bB;d;1;0" +00err : "insert bB;d;0;0" + +#Works +"OK" : "insert Aa;ee;1;10" +"OK" : "insert bB;d;2;5" +#"OK" : "insert --;d;2;5" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/logs/insertTest.log b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/insertTest.log new file mode 100644 index 0000000..e69de29 diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/logs/nodesInsertTest.log b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/nodesInsertTest.log new file mode 100644 index 0000000..b87d962 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/nodesInsertTest.log @@ -0,0 +1,10 @@ +Error, vertex not found +Aa +bB +d +OK +C +Aa +bB +d +ee diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/logs/nodesRemoveTest.log b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/nodesRemoveTest.log new file mode 100644 index 0000000..23be1be --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/nodesRemoveTest.log @@ -0,0 +1,6 @@ +OK +C +C +d +Error, edge can't be removed +OK diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/logs/nodesTest.log b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/nodesTest.log new file mode 100644 index 0000000..04acdba --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/nodesTest.log @@ -0,0 +1,18 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, vertex not found +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, vertex not found +Error, vertex not found +bB +C +d +bB +C +d +Aa +bB +d +Aa +C +Aa +C diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/logs/publicTestTest.log b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/publicTestTest.log new file mode 100644 index 0000000..16024af --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/publicTestTest.log @@ -0,0 +1,8 @@ +6 +bB Aa C d +bB Aa C d +bB Aa d +bB C Aa d +bB C d +Aa +C diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/logs/removeTest.log b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/removeTest.log new file mode 100644 index 0000000..fcec023 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/removeTest.log @@ -0,0 +1,10 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +OK +OK +OK +OK +OK + diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/logs/removeTillEmptyTest.log b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/removeTillEmptyTest.log new file mode 100644 index 0000000..e22e2cd --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/removeTillEmptyTest.log @@ -0,0 +1,6 @@ +OK +OK +OK +OK +OK + diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/logs/removeTillNotCoherentTest.log b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/removeTillNotCoherentTest.log new file mode 100644 index 0000000..042c57e --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/removeTillNotCoherentTest.log @@ -0,0 +1,7 @@ +OK +OK +OK +OK +OK +Error, vertex not found +Error, edge contains vertices that have not been initilized diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/logs/routeTest.log b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/routeTest.log new file mode 100644 index 0000000..692b9de --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/routeTest.log @@ -0,0 +1,97 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, vertex not found +Error, vertex not found +Error, vertex not found +Error, vertex not found +Aa +Aa +Aa +Aa +Aa bB +Aa bB +Aa bB +Aa bB +Aa C bB +Aa d C bB +Aa C +Aa C +Aa C +Aa bB C +Aa C +Aa d C +Aa C d +Aa C d +Aa C d +Aa bB C d +Aa C d +Aa d +bB +bB +bB +bB +bB Aa +bB Aa +bB Aa +bB Aa +bB C Aa +bB C d Aa +bB C +bB Aa C +bB C +bB Aa C +bB Aa d C +bB C +bB C d +bB Aa C d +bB C d +bB Aa C d +bB Aa d +bB C Aa d +bB C d +C +C +C +C +C Aa +C Aa +C Aa +C Aa +C bB Aa +C d Aa +C bB +C Aa bB +C bB +C Aa bB +C bB +C d Aa bB +C d +C d +C d +C Aa d +C bB Aa d +C d +d +d +d +d +d C Aa +d C Aa +d C Aa +d Aa +d C Aa +d C bB Aa +d C bB +d C Aa bB +d C bB +d Aa bB +d Aa C bB +d C Aa bB +d C bB +d C +d C +d C +d Aa bB C +d Aa C +d C diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/logs/searchTest.log b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/searchTest.log new file mode 100644 index 0000000..193f551 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/searchTest.log @@ -0,0 +1,55 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, vertex not found +Error, vertex not found +Error, vertex not found +Error, vertex not found +0 +0 +0 +3 +1 +10 +4 +2 +20 +5 +5 +50 +0 +0 +0 +3 +1 +10 +2 +3 +29 +3 +6 +73 +0 +0 +0 +4 +2 +20 +2 +3 +29 +1 +3 +10 +0 +0 +0 +5 +5 +50 +3 +6 +73 +1 +3 +10 diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/logs/test1Test.log b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/test1Test.log new file mode 100644 index 0000000..a23c7c9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/test1Test.log @@ -0,0 +1 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/logs/test2Test.log b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/test2Test.log new file mode 100644 index 0000000..a23c7c9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/test2Test.log @@ -0,0 +1 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/logs/treeGraphTest.log b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/treeGraphTest.log new file mode 100644 index 0000000..8986d12 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/treeGraphTest.log @@ -0,0 +1,68 @@ +A +B +C +D +E +F +G +-- +A;B;2;5 +A;C;100;2 +B;D;100;60 +B;E;300;20 +C;F;4;4 +C;G;20;6 +B +C +A +D +E +A +F +G +B +B +C +C +A B +A B +A B +A B +5 +2 +29 +A C +A C +A C +A C +2 +100 +10004 +A B D +A B D +A B D +A B D +65 +102 +14629 +A B E +A B E +A B E +A B E +25 +302 +91829 +A C F +A C F +A C F +A C F +6 +104 +10852 +A C G +A C G +A C G +A C G +8 +120 +14464 diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/logs/verticesTest.log b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/verticesTest.log new file mode 100644 index 0000000..17427b0 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/logs/verticesTest.log @@ -0,0 +1,12 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Aa +bB +C +d +OK +OK +OK +OK +OK + diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/nodes.test b/Uni/Java/WS1516/Programmieren/Final01/tests/nodes.test new file mode 100644 index 0000000..8ba3e32 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/nodes.test @@ -0,0 +1,22 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#Errors +00err : "nodes " +00err : "nodes null" +00err : "nodes ;;" +00err : "nodes e" +00err : "nodes cc" + +#Nodes of all +"bB +C +d" : "nodes Aa" +"bB +C +d" : "nodes aa" +"Aa +bB +d" : "nodes C" +"Aa +C" : "nodes d" +"Aa +C" : "nodes bB" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/nodesInsert.test b/Uni/Java/WS1516/Programmieren/Final01/tests/nodesInsert.test new file mode 100644 index 0000000..0a8bd24 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/nodesInsert.test @@ -0,0 +1,11 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +00err : "nodes ee" +"Aa +bB +d" : "nodes C" +"OK" : "insert C;ee;2;13" +"C" : "nodes ee" +"Aa +bB +d +ee" : "nodes C" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/nodesRemove.test b/Uni/Java/WS1516/Programmieren/Final01/tests/nodesRemove.test new file mode 100644 index 0000000..cbe1bcb --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/nodesRemove.test @@ -0,0 +1,7 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +"OK" : "remove bB;Aa" +"C" : "nodes bB" +"C +d" : "nodes Aa" +00err : "remove Aa;bB" +"OK" : "remove C;Aa" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/publicTest.test b/Uni/Java/WS1516/Programmieren/Final01/tests/publicTest.test new file mode 100644 index 0000000..f0622de --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/publicTest.test @@ -0,0 +1,9 @@ +<"C:\Eclipse\workspace\Final01\src\edu\kit\informatik\tests\test.graph"> +6 : "search bB;d;route" +"bB Aa C d" : "route bB;d;route" +"bB Aa C d +bB Aa d +bB C Aa d +bB C d" : "route bB;d;all" +"Aa +C" : "nodes bB" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/remove.test b/Uni/Java/WS1516/Programmieren/Final01/tests/remove.test new file mode 100644 index 0000000..d5dcc3b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/remove.test @@ -0,0 +1,16 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#init +#Errors +00err : "remove " +00err : "remove null;" +00err : "remove null;null;null" +00err : "remove ;" + +"OK" : "remove C;d" +"OK" : "remove bB;C" +"OK" : "remove d;aa" +"OK" : "remove aa;c" +"OK" : "remove aa;bb" + +" +" : "info" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/removeTillEmpty.test b/Uni/Java/WS1516/Programmieren/Final01/tests/removeTillEmpty.test new file mode 100644 index 0000000..980746f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/removeTillEmpty.test @@ -0,0 +1,9 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +"OK" : "remove C;bB" +"OK" : "remove C;d" +"OK" : "remove Aa;d" +"OK" : "remove Aa;bB" +"OK" : "remove Aa;C" + +" +" : "info" diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/removeTillNotCoherent.test b/Uni/Java/WS1516/Programmieren/Final01/tests/removeTillNotCoherent.test new file mode 100644 index 0000000..3a50bf1 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/removeTillNotCoherent.test @@ -0,0 +1,8 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +"OK" : "remove bB;C" +"!Cok" : "remove C;d" +"OK" : "remove Aa;d" +"OK" : "remove Aa;C" +"OK" : "remove Aa;bB" +00err : "nodes Aa" +00err : "insert Aa;ee;10;5" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/route.test b/Uni/Java/WS1516/Programmieren/Final01/tests/route.test new file mode 100644 index 0000000..8cdba66 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/route.test @@ -0,0 +1,120 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#72 Testcases +#Errors +00err : "route " +00err : "route null;null;null" +00err : "route null;null;null;null" +00err : "route null;null;time" +00err : "route null;null;route" +00err : "route null;null;optimal" +00err : "route ceee;deeee;optimal;" + +#Aa to all others +"Aa" : "route Aa;Aa;time" +"Aa" : "route Aa;Aa;route" +"Aa" : "route Aa;Aa;optimal" +"Aa" : "route Aa;Aa;all" + +"Aa bB" : "route Aa;bB;time" +"Aa bB" : "route Aa;bB;route" +"Aa bB" : "route Aa;bB;optimal" +"Aa bB +Aa C bB +Aa d C bB" : "route Aa;bB;all" + +"Aa C" : "route Aa;C;time" +"Aa C" : "route Aa;C;route" +"Aa C" : "route Aa;C;optimal" +"Aa bB C +Aa C +Aa d C" : "route Aa;C;all" + +"Aa C d" : "route Aa;d;time" +"Aa C d" : "route Aa;d;route" +"Aa C d" : "route Aa;d;optimal" +"Aa bB C d +Aa C d +Aa d" : "route Aa;d;all" + +#bB to all others +"bB" : "route bB;bB;time" +"bB" : "route bB;bB;route" +"bB" : "route bB;bB;optimal" +"bB" : "route bB;bB;all" + +"bB Aa" : "route bB;Aa;time" +"bB Aa" : "route bB;Aa;route" +"bB Aa" : "route bB;Aa;optimal" +"bB Aa +bB C Aa +bB C d Aa" : "route bB;Aa;all" + +"bB C" : "route bB;C;time" +"bB Aa C" : "route bB;C;route" +"bB C" : "route bB;C;optimal" +"bB Aa C +bB Aa d C +bB C" : "route bB;C;all" + +"bB C d" : "route bB;d;time" +"bB Aa C d" : "route bB;d;route" +"bB C d" : "route bB;d;optimal" +"bB Aa C d +bB Aa d +bB C Aa d +bB C d" : "route bB;d;all" + +#C to all others +"C" : "route C;C;time" +"C" : "route C;C;route" +"C" : "route C;C;optimal" +"C" : "route C;C;all" + +"C Aa" : "route C;Aa;time" +"C Aa" : "route C;Aa;route" +"C Aa" : "route C;Aa;optimal" +"C Aa +C bB Aa +C d Aa" : "route C;Aa;all" + +"C bB" : "route C;bB;time" +"C Aa bB" : "route C;bB;route" +"C bB" : "route C;bB;optimal" +"C Aa bB +C bB +C d Aa bB" : "route C;bB;all" + +"C d" : "route C;d;time" +"C d" : "route C;d;route" +"C d" : "route C;d;optimal" +"C Aa d +C bB Aa d +C d" : "route C;d;all" + +#d to all others +"d" : "route d;d;time" +"d" : "route d;d;route" +"d" : "route d;d;optimal" +"d" : "route d;d;all" + +"d C Aa" : "route d;Aa;time" +"d C Aa" : "route d;Aa;route" +"d C Aa" : "route d;Aa;optimal" +"d Aa +d C Aa +d C bB Aa" : "route d;Aa;all" + +"d C bB" : "route d;bB;time" +"d C Aa bB" : "route d;bB;route" +"d C bB" : "route d;bB;optimal" +"d Aa bB +d Aa C bB +d C Aa bB +d C bB" : "route d;bB;all" + +"d C" : "route d;C;time" +"d C" : "route d;C;route" +"d C" : "route d;C;optimal" +"d Aa bB C +d Aa C +d C" : "route d;C;all" diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/search.test b/Uni/Java/WS1516/Programmieren/Final01/tests/search.test new file mode 100644 index 0000000..6b13d14 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/search.test @@ -0,0 +1,78 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#55 Testcases +#Errors +00err : "search " +00err : "search null;null;null" +00err : "search null;null;null;null" +00err : "search null;null;time" +00err : "search null;null;route" +00err : "search null;null;optimal" +00err : "search ceee;deeee;optimal;" + +#Aa to all others +0 : "search Aa;Aa;time" +0 : "search Aa;Aa;route" +0 : "search Aa;Aa;optimal" + +3 : "search Aa;bB;time" +1 : "search Aa;bB;route" +10 : "search Aa;bB;optimal" + +4 : "search Aa;C;time" +2 : "search Aa;C;route" +20 : "search Aa;C;optimal" + +5 : "search Aa;d;time" +5 : "search Aa;d;route" +50 : "search Aa;d;optimal" + +#bB to all others +0 : "search bB;bB;time" +0 : "search bB;bB;route" +0 : "search bB;bB;optimal" + +3 : "search bB;Aa;time" +1 : "search bB;Aa;route" +10 : "search bB;Aa;optimal" + +2 : "search bB;C;time" +3 : "search bB;C;route" +29 : "search bB;C;optimal" + +3 : "search bB;d;time" +6 : "search bB;d;route" +73 : "search bB;d;optimal" + +#C to all others +0 : "search C;C;time" +0 : "search C;C;route" +0 : "search C;C;optimal" + +4 : "search C;Aa;time" +2 : "search C;Aa;route" +20 : "search C;Aa;optimal" + +2 : "search C;bB;time" +3 : "search C;bB;route" +29 : "search C;bB;optimal" + +1 : "search C;d;time" +3 : "search C;d;route" +10 : "search C;d;optimal" + +#d to all others +0 : "search d;d;time" +0 : "search d;d;route" +0 : "search d;d;optimal" + +5 : "search d;Aa;time" +5 : "search d;Aa;route" +50 : "search d;Aa;optimal" + +3 : "search d;bB;time" +6 : "search d;bB;route" +73 : "search d;bB;optimal" + +1 : "search d;C;time" +3 : "search d;C;route" +10 : "search d;C;optimal" diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/test.graph b/Uni/Java/WS1516/Programmieren/Final01/tests/test.graph new file mode 100644 index 0000000..ebdc5cc --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/test.graph @@ -0,0 +1,10 @@ +Aa +bB +C +d +-- +Aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/treeGraph.graph b/Uni/Java/WS1516/Programmieren/Final01/tests/treeGraph.graph new file mode 100644 index 0000000..773b01b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/treeGraph.graph @@ -0,0 +1,14 @@ +A +B +C +D +E +F +G +-- +A;B;2;5 +A;C;100;2 +B;D;100;60 +B;E;300;20 +C;F;4;4 +C;G;20;6 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/treeGraph.test b/Uni/Java/WS1516/Programmieren/Final01/tests/treeGraph.test new file mode 100644 index 0000000..69d5c7c --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/treeGraph.test @@ -0,0 +1,80 @@ +<"C:\Eclipse\workspace\Final01\tests\treeGraph.graph"> +#Init test +"A +B +C +D +E +F +G +-- +A;B;2;5 +A;C;100;2 +B;D;100;60 +B;E;300;20 +C;F;4;4 +C;G;20;6" : "info" + +#Nodes +"B +C" : "nodes A" +"A +D +E" : "nodes B" +"A +F +G" : "nodes C" +"B" : "nodes D" +"B" : "nodes E" +"C" : "nodes F" +"C" : "nodes G" + +#Routes +#From root +"A B" : "route A;B;time" +"A B" : "route A;B;route" +"A B" : "route A;B;optimal" +"A B" : "route A;B;all" +5 : "search A;B;time" +2 : "search A;B;route" +29 : "search A;B;optimal" + +"A C" : "route A;C;time" +"A C" : "route A;C;route" +"A C" : "route A;C;optimal" +"A C" : "route A;C;all" +2 : "search A;C;time" +100 : "search A;C;route" +10004 : "search A;C;optimal" + +"A B D" : "route A;D;time" +"A B D" : "route A;D;route" +"A B D" : "route A;D;optimal" +"A B D" : "route A;D;all" +65 : "search A;D;time" +102 : "search A;D;route" +14629 : "search A;D;optimal" + +"A B E" : "route A;E;time" +"A B E" : "route A;E;route" +"A B E" : "route A;E;optimal" +"A B E" : "route A;E;all" +25 : "search A;E;time" +302 : "search A;E;route" +91829 : "search A;E;optimal" + +"A C F" : "route A;F;time" +"A C F" : "route A;F;route" +"A C F" : "route A;F;optimal" +"A C F" : "route A;F;all" +6 : "search A;F;time" +104 : "search A;F;route" +10852 : "search A;F;optimal" + +"A C G" : "route A;G;time" +"A C G" : "route A;G;route" +"A C G" : "route A;G;optimal" +"A C G" : "route A;G;all" +8 : "search A;G;time" +120 : "search A;G;route" +14464 : "search A;G;optimal" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/tests/vertices.test b/Uni/Java/WS1516/Programmieren/Final01/tests/vertices.test new file mode 100644 index 0000000..e5f19dc --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/tests/vertices.test @@ -0,0 +1,21 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#Errors +00err : "vertices null" +00err : "vertices 10" + +#Standard +"Aa +bB +C +d" : "vertices" + +#Remove till empty +"OK" : "remove C;bB" +"OK" : "remove C;d" +"OK" : "remove Aa;d" +"OK" : "remove Aa;bB" +"OK" : "remove Aa;C" + +#Empty output +" +" : "vertices" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/.checkstyle b/Uni/Java/WS1516/Programmieren/Final02/.checkstyle new file mode 100644 index 0000000..4d50a66 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/.checkstyle @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Final02/.classpath b/Uni/Java/WS1516/Programmieren/Final02/.classpath new file mode 100644 index 0000000..0a757b9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Uni/Java/WS1516/Programmieren/Final02/.idea/.name b/Uni/Java/WS1516/Programmieren/Final02/.idea/.name new file mode 100644 index 0000000..2f4fb11 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/.idea/.name @@ -0,0 +1 @@ +Final02 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/.idea/checkstyle-idea.xml b/Uni/Java/WS1516/Programmieren/Final02/.idea/checkstyle-idea.xml new file mode 100644 index 0000000..a6944f6 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/.idea/checkstyle-idea.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/.idea/compiler.xml b/Uni/Java/WS1516/Programmieren/Final02/.idea/compiler.xml new file mode 100644 index 0000000..96cc43e --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/.idea/copyright/profiles_settings.xml b/Uni/Java/WS1516/Programmieren/Final02/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/.idea/encodings.xml b/Uni/Java/WS1516/Programmieren/Final02/.idea/encodings.xml new file mode 100644 index 0000000..97626ba --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/.idea/misc.xml b/Uni/Java/WS1516/Programmieren/Final02/.idea/misc.xml new file mode 100644 index 0000000..c57292f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/.idea/misc.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/.idea/modules.xml b/Uni/Java/WS1516/Programmieren/Final02/.idea/modules.xml new file mode 100644 index 0000000..5422ebf --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/.idea/uiDesigner.xml b/Uni/Java/WS1516/Programmieren/Final02/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/.idea/workspace.xml b/Uni/Java/WS1516/Programmieren/Final02/.idea/workspace.xml new file mode 100644 index 0000000..723b204 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/.idea/workspace.xml @@ -0,0 +1,961 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $PROJECT_DIR$ + true + + bdd + + DIRECTORY + + false + + + + + + + + + + + + + + + + + + + + + + + + + 1458221842980 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No facets are configured + + + + + + + + + + + + + + + 1.8 + + + + + + + + Final02 + + + + + + + + 1.8 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/.project b/Uni/Java/WS1516/Programmieren/Final02/.project new file mode 100644 index 0000000..035b3d7 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/.project @@ -0,0 +1,23 @@ + + + Final02 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + net.sf.eclipsecs.core.CheckstyleBuilder + + + + + + org.eclipse.jdt.core.javanature + net.sf.eclipsecs.core.CheckstyleNature + + diff --git a/Uni/Java/WS1516/Programmieren/Final02/.settings/org.eclipse.jdt.core.prefs b/Uni/Java/WS1516/Programmieren/Final02/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +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.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Uni/Java/WS1516/Programmieren/Final02/Final02.iml b/Uni/Java/WS1516/Programmieren/Final02/Final02.iml new file mode 100644 index 0000000..ebcd1ba --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/Final02.iml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/README.md b/Uni/Java/WS1516/Programmieren/Final02/bin/README.md new file mode 100644 index 0000000..3598c30 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/README.md @@ -0,0 +1 @@ +tests \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/bag.test b/Uni/Java/WS1516/Programmieren/Final02/bin/bag.test new file mode 100644 index 0000000..22e13d0 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/bag.test @@ -0,0 +1,92 @@ +<"standard"> + +"0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15" : "bag" + +"OK" : "select 8" +"OK" : "place 4;0" + +"0 1 2 3 4 5 6 7 9 10 11 12 13 14 15" : "bag" + +"OK" : "select 15" + +"0 1 2 3 4 5 6 7 9 10 11 12 13 14" : "bag" + +00err : "place" + +"0 1 2 3 4 5 6 7 9 10 11 12 13 14 15" : "bag" + +"OK" : "select 14" +"OK" : "place 2;0" + +"0 1 2 3 4 5 6 7 9 10 11 12 13 15" : "bag" + +"OK" : "select 13" +"OK" : "place 1;0" + +"0 1 2 3 4 5 6 7 9 10 11 12 15" : "bag" + +"OK" : "select 7" +"OK" : "place 4;1" + +"0 1 2 3 4 5 6 9 10 11 12 15" : "bag" + +"OK" : "select 6" +"OK" : "place 5;1" + +"0 1 2 3 4 5 9 10 11 12 15" : "bag" + +"OK" : "select 3" +"OK" : "place 0;1" + +"0 1 2 4 5 9 10 11 12 15" : "bag" + +"OK" : "select 2" +"OK" : "place 1;1" + +"0 1 4 5 9 10 11 12 15" : "bag" + +"OK" : "select 1" +"OK" : "place 2;2" + +"0 4 5 9 10 11 12 15" : "bag" + +"OK" : "select 10" +"OK" : "place 3;2" + +"0 4 5 9 11 12 15" : "bag" + +"OK" : "select 12" +"OK" : "place 4;3" + +"0 4 5 9 11 15" : "bag" + +"OK" : "select 4" +"OK" : "place 5;3" + +"0 5 9 11 15" : "bag" + +"OK" : "select 15" +"OK" : "place 0;3" + +"0 5 9 11" : "bag" + +"OK" : "select 9" +"OK" : "place 1;3" + +"0 5 11" : "bag" + +"OK" : "select 0" +"OK" : "place 3;4" + +"5 11" : "bag" + +"OK" : "select 5" +"OK" : "place 2;4" + +"11" : "bag" + +"OK" : "select 11" +"draw" : "place 5;5" + +" +" : "bag" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/draw_colprint_rowprint.test b/Uni/Java/WS1516/Programmieren/Final02/bin/draw_colprint_rowprint.test new file mode 100644 index 0000000..6307bc8 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/draw_colprint_rowprint.test @@ -0,0 +1,58 @@ +<"torus"> +"OK" : "select 0" +"OK" : "place 6;0" +"OK" : "select 1" +"OK" : "place 0;2" +"OK" : "select 2" +"OK" : "place 0;4" +"OK" : "select 3" +"OK" : "place 1;1" +"OK" : "select 4" +"OK" : "place 1;3" +"OK" : "select 5" +"OK" : "place 1;5" +"OK" : "select 6" +"OK" : "place 2;1" +"OK" : "select 7" +"OK" : "place 2;3" +"OK" : "select 8" +"OK" : "place 2;-1" +"OK" : "select 9" +"OK" : "place 3;0" +"OK" : "select 10" +"OK" : "place 3;2" +"OK" : "select 11" +"OK" : "place 3;4" +"OK" : "select 12" +"OK" : "place 4;1" +"OK" : "select 13" +"OK" : "place 4;3" +"OK" : "select 14" +"OK" : "place 4;5" +"OK" : "select 15" +"draw" : "place 5;1" + +"0 # 1 # 2 #" : "rowprint 0" +"# 3 # 4 # 5" : "rowprint +01" +"# 6 # 7 # 8" : "rowprint 002" +"9 # 10 # 11 #" : "rowprint +3" +"# 12 # 13 # 14" : "rowprint 4" +"# 15 # # # #" : "rowprint 5" + +"0 # # 9 # #" : "colprint 0" +"# 3 6 # 12 15" : "colprint 1" +"1 # # 10 # #" : "colprint 2" +"# 4 7 # 13 #" : "colprint +03" +"2 # # 11 # #" : "colprint 004" +"# 5 8 # 14 #" : "colprint +5" + +00err : "colprint -1" +00err : "colprint 6" +00err : "rowprint -1" +00err : "rowprint 6" + +00err : "select 0" +00err : "place 1;0" + +" +" : "bag" diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/Constant.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/Constant.class new file mode 100644 index 0000000000000000000000000000000000000000..a60e9a34280f605f368cd6917139da372294bee3 GIT binary patch literal 1194 zcmbW0U2oGc6o!wxjh51V!(bZ&^VxP^-3Lev5U5MjYFe92X*VWKRpd5a=Pk7-CmllK zPjQ9B1wVivg*a)~kt;5^Xq?AAK7QZV&adA;egeQN*iOR;yhy^!BxDIpIA+B>b{qD- zX}NnP0yEWfcEt)llbu36)IxUN5g0d=3_>QuBj)#b3UXLy*tJ^GD!KJT!!Yah@?kXv zc>>eJdCP9NW&6-7rC^yr=D;z_d&jQnIJT356#`R+Z9AnstJpBzPmXO>Qm~3U?G`I; zZ0TBTr-N$IFkQ<$ZlqwH!0d3Rx>+@i#`PbC*nX1bt_CI4#%Bl9*-tr?-N+K^f?PS?ctBnE9MK2wpF*w zq(>lWYOVAtC9q{Er9B~8$a6uSN)=KiX-hHf(VWth`M&1N`$AQ_-MbXr%j1cxS&BB) z1()=*2+wGg02LmWp*R&>Qy~K+oaVH}I#|Dxz4Td|XXzOWXsBq5Qw-AQ9=>5%kx0CM zgFe?9DeEvHaqZh|z?kOr^diP6}WeY`Ph9t%J5{Px!eztfQO<{ zPo%TO(I1nzI_UACQBGz5Mo@K1FPX;fA=g0^vNtH{8>P8^o4&QMr=ysBKXR>kz{5Oj zLIS@{fIBb`qc8?|1(6bvL{7!{HgY<~QGF)H+o@p6TV_xMPv9vMfoJ$k G!1F)!G8ypz literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/ExitException.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/ExitException.class new file mode 100644 index 0000000000000000000000000000000000000000..22779bf9f7504e8a46af8cdde201ca6ca5796481 GIT binary patch literal 420 zcmah_O;5r=5Pe&|v5KOU1DE0nIM|Cfj2D9uQ@vn%U)mK%U`xu@;Lq}4Og#7l{87ef zHAYYFCNuly&Ai!}_m9^%0LN%ou~$b4%^Hf>ui&79mOwF#BPAfl0_79ZWKKEO8}|ct zXF1jINvrF0IaSGxoGv)I>Bpg51Tvuve+P@^j@AN)zKT+BPR1jB8z)O?Xzqsd*o>U7d~7qDoqPaR6KF89u=@!z`&|G4 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/FileInputHelper.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/FileInputHelper.class new file mode 100644 index 0000000000000000000000000000000000000000..49c110f5d14af406e492e84dff3dafc0a9030df7 GIT binary patch literal 1708 zcmah~-%}e^6#j0q$%gIHA5g$pF_hLe6le<8wkCmEC7q*>mr?=X~coKlbLge}4HD zz)d_c(1&+)+%gbS^0omDcXYfPLt3da2BOHS)s%s0+%@nX?&+8@(2ZI3xF5rulJh#= zH_(Hujs+cy0@1AP+QGCyI63l2K%4bSQs7L^c4eVnS(pB*weC>Ulk)+biVvD}T+ zO5oe>MrP!=NV%%gcm0JRc$t#dw8FPEh+OC6i;mB1=)<*jP7 zW;#A#7ui7ej{RXbbbKgatax?5C>1z^y;8dCDl-%P7!VkEHOn?p7NB|3E>tVJ^2rGd z9zHo%LIHiw_dS1X$V46m6H8b&@e!7FJTS3>oQ_o!55eK+KL9$Kqzd!c#K%}>&kPf5 zifHeF?V-vG4FCV22%K%YHpgRW{i!UnL5EbWi8%<+v|8Qty-!$RICkHETn4CVAqZ#scqv)rAuhT$O&sb}dJstIBB))Vp;wrO#@CtZh3$wl=l_O_X_rR`x-+L#)-7DA-xcr}R$oag1BJ|TWNCEz@A_co=Vj9lA=__=u; z=Tlu0po>P+*SRuVM!0}Cxa-0o-fRJcE+Gt^x*zutTH8f9C-QsH)(98LH*m4gR`=*T zh>h={i(&`HbDYwi!`wsn+So2m7kF|et;MyMNQ}lc+C1)P_Wu~|Ijb~{{okoP*T76# zYhWs^9fnp;y+^QHw*AWXTsqR)MbgoD}7gUl(2~{UUySmRVly3SNOWU z-)3r6YLxsI-{E`ex4BaLFjT2NM}p5`;$0@<6=Gf^>Qz=ai5nQzG9f3)C#J z7Y{LsC#-!58OEMw^eig4%SgB2<2Js)9mdR%$26H_@eR+mk!IWsIZTs977fZDaIe{( z1-4*-O-W#gtY&eM-(fb-XPXkZ#1$Jve#4Y8dcH-TyibU8l`Q#xK+6&G4r7!S%Q&^q z6v8^jbd2ldE_9>@|Hf$@H>mszL;Q!BxX)j?B`5a@8|~QBjD#kY+l2U&_=35r$-DV4 DZ^(*o literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/Main.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..d93f84914f3deb10995ce5c7992bf4c7c8daff63 GIT binary patch literal 1205 zcmZ`&NmCO+6#hDyWRh{%!X_GEP{_tIvbhCOu}X`oL=T~;LN7MSm^36aaWWA+dXS%B zm7ctL@Z<$3sp1Ft1N=GY>xoOK3Z3e7zt`V;?|aMqIQxDIUFaGGw>dMspaQOR{q($f(`KSQM9al6Fb5?ScDh1(1v z&vBa+C%@-9cG;+Nm)9&JW~8kBx>fWVhGSc8>b;66Rt(WFEa6oMmh|nDhC|oC-jit^ zcW_rlR>unN=~%^mhS?6qyto1ki4OQOkux_W<28rUctWB~?E%BYMd&u*Ls^624nSEa zhTi{;e73zqxt~+DdP{?4y>9XpRij>8 z`+}k=sdYIzkqU2ATJuW7yH1rzb($W(7XPyIhc4(gZOo&WJ|VdR^rOCmVSuDXIvJgz z%n{f(|9O!9H39+MP|$-Ry6G(thH;ssC`NFl<$#3=qmb?(bE96Ng0bfDjhGd{S`@52CsUJPm&^5J!ytwS4zy?DciI%m;24I>&xHH>K(*D#@B zQp0%-7c^YdFy+Ox50?<~VusLiQnzhkDQOz^jI{N&j7Sk^l~6k=4XG{=+&#TZ1W(9J z2|^$y4Kbh3t_f?=Sxjh-nMpmfq+8N?FMaf=4QUgO#zZO~+>$CNjdjz?>Pl_}=X7Z- z3R_JOniN~-ec3XNbVNG)d2}ny(3WelO?_JrW^^MRTu_!Y(hO)=PmfA8Oe-DS%yS{ZQc7(ynJE?KTQKuhQWVoRlxYn(Y5nNJ zON5>S=+B$sU8xpCGH*$>H>VqVT3B9${fOW)r+k_bE!izWkm_^i&PP|Cyc(iJ| zeEwm}GA+XK19CbU!@Eh5bLt{YgvJwLE+c1)#Exlg**QHa5)o+dM zE;ZYs6C37?+?FX}6_I0yNNh%=WvjPzOBJ!>hrx1Vm`3V9f>p@mUN+3UefZ-lXfnPn zto4k!Q-qHmf_MSGDlD@I?K+?f%L?)0iXSn|J<;s(wM~)a?s~lc_iQDyJRxlHv|b3u zdLGyJlWLl922T4k81RJ1^28vt^&BuF9Aw~;xI!5oZ@e@mY-x#9MQc1pRGtGo+g5Rc z$7ctRS!(QX)XAP3T>*^i2_u=vUfSTB8cXRE+>3w*=f_4-2cTvYt-%p>z6D!C4RpJd*;zz2) z16AUURpL!m;>}g!Emh*JRpKu^BTjtAw^0uty3xzFk02)Pe8l!+e1^|I}w2+gvM(mF|wyPfN&HiY@A>o`jT0yu(JG;$X; zan4rG+RRxyxN|!B=iP--Zifgr$}G1;l$#@tSFwmwSmD*{yjtQlX4MZ9XP_9hi$Ugi zmRSxl%X7Ga5qyF%e2Q`Ae4bfPFzYGY!Zf}?2>Y1f8ZL7cVXh*I`?!K%F^AtU&o#Zx zRmJguGd{$-_!GRjUcBr%0z*-Jr}$Q8aH9K?mk+n=e?0k4iX!h}tMM(B=fQA6>_Ag<+qY=H d39pA$>;4+rzh{F(rUowmlrus4_{D|O{{UoAa^nC1 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/NoExitSecurityManager.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/NoExitSecurityManager.class new file mode 100644 index 0000000000000000000000000000000000000000..3c9a54c57b9bc4913bd42f09dfa4a6436cc9b6ee GIT binary patch literal 824 zcmaKpPfy!G5XIk+5QCeV@-MWZK)8h*@Bui1;DA6vN@*o3q#ieB3ri9k*=rO&7AGW- z;Le9a%-9h`ty@dp@$SC)&CK)j%l#vOO{}`8U{RK@4whV$u?u zlu+J}&NN}FZ9;vV_B%TMsX9GAnQ2FX>Yb|C$bNWOwihNLwA%VC^}ELUCj1@6ePvD8 zKaLIt#-8XPjg7terb2bD<84L<7dq(v&~e`+iHSnOQnP)ju9cq*wf_6%cGlAsiwX6A zs|fyo75c%_Hffl2~O^o|ldY?n#u! zfj%^1PQ7s0b-`BQV4{k7)Ci3No20_QAkbHqy$~_$ngzPT3WP83t^Z*)Rx!>$T%IyW zy5Mz^cN-ju<9O>1bju%OaCvn(0@Ey>!3X}T<|2+Cc}MUt#j60e_!aF)awQYjvcy_` zIZTw)PmGnC9;0)_9;cUz5cLev$S?mw2y7N}T!6&UA?%RV(vR0#yu;W7O20UkpZH{S XvSqeoWu!sxjqYIqpP9vOW;yj&C;_NQ literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/Terminal.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/Terminal.class new file mode 100644 index 0000000000000000000000000000000000000000..b4cddc596b0b7c60ae157cd225ad4ec2b011a21c GIT binary patch literal 1033 zcmaJ=TTc^F5dKbYr(L#!EtCSH;I*y5iXbW_K43HuTBHFgPA*n8GHBw&=_&gWP21_1u51|<;dG>Bwu=mjt|Kj1K{CwcO6TSW(`cL4 zsZn;xaavS~!?x$DELWTiaYvYqLG)}c|F0JzX)$C69%&o!Z#S@Ml9ZxaO zknw3>NzJe@avWG)&n3OW>xPfO1?zviabu40uAw7OSA<3}lTm6z9dzLFZVyr*~ zlZvJPbbw)I5`R=X7j>$1z*PQx;fhYMLhn?+24o3)%qd`I;C@rvRQNz;Cn6~>J8U(T zC7|B#c6#C(Hc8FED8Lt5IdklfYSt(Kn@G}(t6vx))dDbFr`s0ojP_`u2lkZ?A*5*4 zXa`nkdwB2@T>@ZT6~;8+h}#HsHKJ_faGh~d#k zrZ86fh*bNCRxc6jf%gzUB*?^va**&L8xAK*?YE)ZQQhxG*$nWC&7b1z#k<} ztKvbtI0KV;ZzeM@d3%3(1#pZ(ge7!C^g{F*f-_YrH)7b@i*Lof;98U!pE#?^Y`8yT z@W&>V4Bc3j^13eO(oV%(6ElcSBJ@mH)!;AEce$zwn+eBWdM#IkEla89Z9r##gIQgd< zhRq)Z)7+Ye=Be0)M_JvxJf!)LH3$~=S=qn7PaUmq)kw?DhEN|nX} NtfAA+S|{XT;{%)=ZP)++ literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/exception/IllegalObjectException.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/exception/IllegalObjectException.class new file mode 100644 index 0000000000000000000000000000000000000000..b35e4db78757dcec2cec13d9c5386c213b177750 GIT binary patch literal 416 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 XlibK@x~ysJ&o=JVGzwp`7Q6A^9cBF( literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/game/EmptyToken.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/game/EmptyToken.class new file mode 100644 index 0000000000000000000000000000000000000000..8416461e11e35ae4f202bb22aeeabce370414b97 GIT binary patch literal 407 zcmah^J5Iwu6r5)}u`vk_NiM*rNRYrq=s+|GDhrB4>DSI;HvS>AM&edbAyIGu4uyD| zAVS9$Z+2#9=4n5_-ai1GV(7y`&%>^ZzKa2&eXdHSF9`N%JSRAp)j|@2NR{%YDPmdA zM4YqIkE%rEb5Se9e?&*$t4G3NBo|GXDIKcvuBr>6RTieAkl|JFpr2<|Cd)H|r>m*1 zRhbfoqj9tpPa@1knTBhX9saax>O@{EvoY9&PmH&N7TN?lAngCYkI>sJxQ&-G(b$8{ zzc2V=NAgdtpU zXs(L6Cg!@BFC8plSX6|!A;zf_*F4$Vs49Bw{gdSqZ&agR*zNCHegf@*s4?W z+s%M)kM!GW=x^;B$f?eHqj_K;uR8alFpQqkx2#$!UZJm8eZ;5q(15uXHJChFQ?20J z{k?k7zVFvVdM0YomLER!+e+ROrx|anj)Bv)ps`=sRdGeN9!KpxKUTYyroR_d?nk>p zYso-HHP|osao-OaUntgg{Ga?v=(n1c@9I0jR=iXqZZ@j#NT>G}4GeF_+{cFhB%^krsGFB)m9ud<<=F7)fD|P&pSHCD{o;!HqTi`i1kQlJ(63GMCa(jpjIEz zp5)te#^*TBd4I$3X8uCPE0|qmy;EJ7-fS0^SFpOs{h=$&(0&Y?b{-}c*!v7dvB9yj-}3%MMu_^8ulFTehsl#Dr6jw9$*ZZ! zyzEKx3R{U#IXOo6=)fH9t#Pv(eS+i;1nC;RlxnGCT6#iy+W`7QpU(*)dZ7ouS#dfP!Y^9(Up->lS3!wf3l=^uap{40Q~xSzrq zyqm;nj0)Tk7!w#5crT9kQ;6dO+1yMKCImhdm=u_j(^~@50y6@)1wIle2+Ru1#W5ep z9S!lKSKYGfj)wCEr?j2lbp58?uV`16?7A!aP^tS5+=hmMlLMcfm zLnOsmck2xj6l*v|uU68K@T*%lg}Fd12xl6S)J`jwgyQPfB-vwm3qB2J?JadZwu>a& zrP87omTUOZ721^@U&Rdd(LqTqS`|Ljn%qm=aNEvpkTO)H7QF3x(V23E-cHqUb>h@7 zZ`fbiCSJi^6E7oUA}erC;JmstfBwJEMdJGI;7%!#jcg}^J^PUksTl@oTtR#%nE->Y=o?F$_AAt zPEEjkg3>{2C?2#X<~D+J23ujL+(y_+N}+keZ3Nc1z_)mY4?2b}VTe+f+@EViSX3*C zR4chuE9vAKheoL4qE@<=iu9x#%7u0#N~7z{m~nA(s0E@#Uz_-!mlkkbI)z zy-Mt(KUjgz+(}l@&g|XHbCw;Zir&APX*HfIH?>RdY7+8U}+}v;o@0c(#*k zAvMf@t7DYXl+vr?luSzI>WEIUjbhvCh>^+eqBCRZyGUm&V;4rInaxm@RjRB~Wt)~x zvu;c0Nt>mMGG^&b%TQWFOijz+Vazg`(IzX1Lhd$#HsU3uSZxpT9LFoj;Z2Nk$j107 zo#UL{p;eKiwvKCfgzNZ*r*hx%;3gOf@4G|K0p2qOAH(D)!iXDqol=x>zhssSIm}^^ zxiT=AO*qs4VWLL2^1c7Y=l&<|<1c)1WG?sro6CLnx0l=s|7j#I_Q!)i zRPoCakj_K?r$hsTrAK65B5Gb@O1ZA$nt?$WSCcOiHS*$)I;&wj>g*ls%#YYH&ieD2 YzdqKPpTT3Cjpv=eJJ$J{y4>}D0i}hF%K!iX literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/game/TorusBoardGame.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/game/TorusBoardGame.class new file mode 100644 index 0000000000000000000000000000000000000000..8db63f0ce5f4215944d58c34f9f73fc77a97a37a GIT binary patch literal 551 zcma)&%}&BV6ot<~fl@&#KSikq%+vh;Q)DtqyG)XQ2(p(dvJ!`D8QO?Z)|mWFrnw-!xidC(t}1{0xU|W zHACu@c1C;Z_yz2FbF9*;Q5&#JR|?2dmD@Ivze7qPosR)i0!O`v<|7KKsocFHp{JM5 z+EkyQnpCdMHJv9BaSe(FN<=6_M}>X^HB>hl#+DOj5Rvi=l%mrOg`iog_oz;w_yxaw Ba9aQX literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/Edge.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/Edge.class new file mode 100644 index 0000000000000000000000000000000000000000..62738a3ea752570617184c1f805a52b3ea5bc4a5 GIT binary patch literal 2669 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 N8~HL9U881y<-e%KmsJ1& literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/Vertex.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/Vertex.class new file mode 100644 index 0000000000000000000000000000000000000000..508637f3254dfdf5d36a2e10c80566ce2667ba43 GIT binary patch literal 2168 zcma)7Yf~Fl7=BK&VM#az%FUwIih-I75T&g}Km=p4v4N@}we>ceWE&R3E^anX`&0M@ z{o)6mQ99_1({IlB6Z|R8czMq5CIn2Rli{2_@AY}#_c@2(|Ni+`0N3$#0v9nKhs4`D z77~bJz7LC7>ccx&R?E9ORubsNsuI7atn)hFSNp95*6@K^ZYStp(D9*;I|2!-V%nbd z&@x?tq2jLbt&yu4b~U%@xt3jB6zEy9Y|C2~7)||Go!%DE@=nDR7${n{xzX4!neLWR zs!=jjbjn6;+i)#)4uzVxW7P#Fie{ye+q1l!Wj}P>eZ#Z%a#hzj*vW01u4g`C=H9C5 z-Ktbgn$L#08=h6m<(*p1EPIw?FQx-XXT=0%(ox___cSUplf;xEGmLeM6fHY7r9M^5 zhptlZp-<81jU{g z+9)xS3S*rih51dxsIhIQNO8Bc%egG39|%O9((Y+Og-VXqa{_X)*s`;KV7TU%BQTlj z-m{Pr>4JcuX~(40-Dx9en66Ed_j4&K{!b&qOlm%fO{d|O%{5DLxi3)6stY19iVcZj zj0g<-H^%4Rs_Pn$i&ov^C?)RVBhFLeV|*g9i7kQ4T^X;aDDf$_CGKHH;xpVQb-S7e zP$Z@?qvL_Z=lDY6OME5qCgubNPcCuL1c8wg(McDY;xm_rQ#+}t;F+%BIeZ(UDRtL- zt(IV{$qe7WX~@3mJ4SuOeB}8)q=IJqhto`Iv7x{0*q&k8^`NTfKhL!;V1n=JMX-JTAKAe- zTj%#E#<;$~(;6cD0g230h)nh;M1J5Yf=gWc`I>`P8c%VI^9TC*)_4&w@kBqxImQxr z8JDS3F@NJ8ABWJVWn-Hm+rk5I=;R9@mbMh~VCn zfBu;Mp57`en5TzplK(&^xlWN_S8)R=%p>jN$n8QwHLhJhDx?jNn9g6#NaA# h|Mf81wJ=&dqv}1v;Mq{J4Ng1^)f~YMyyYjp`7g7@>$(5{ literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/fileinput (1)/GraphBuilder.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/fileinput (1)/GraphBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..1ba8740b31a4feaa73a95525c86681b1e21e076a GIT binary patch literal 5215 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 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/pathfinding/GraphPathFinder.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/pathfinding/GraphPathFinder.class new file mode 100644 index 0000000000000000000000000000000000000000..748cb7ff4a8ac2aa9b742f03332a5a1b1f789467 GIT binary patch literal 6645 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 PYd@&0a1qT2;Nt%RlUeOW literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/pathfinding/PathVertex.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/graph/pathfinding/PathVertex.class new file mode 100644 index 0000000000000000000000000000000000000000..8c56c1d11a07ed6f5676a6a526bc363024937018 GIT binary patch literal 3671 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 MTg*;4SLitZ18NlH<^TWy literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/ColprintCommand.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/ColprintCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..aeb3c2ad9445f64b0ce699547a975565c1a619d2 GIT binary patch literal 1598 zcma)6O;Zy=5Pd@en=H#m0z^=wAOcAsEFvJvmkRXoLXk#` z6!>A8cA`1k;N?B;n9^=-2HhjG#xR=`#kziMy1Hq7u$>Bb&12maPQ|o%*|e&4SI^kx zs$*Ji#;#PjRa|0-7`EdG!+pmcUJ-;QqF7=-_mO|%dYM}#eb*(A(o*t0gIfIu)#n3Z zP{fHa>Mo_an7B^jmtl$G>Kit9irchWlGkU_-482H3{iDW+tRb;vMBNLMcSL^Cv+#p zXkJg2>)Ji2xH2Ncs9%69$uM;7y4*O<^Qu>C>K#>K*RDH;*fM29`mdC9S_WhY8Ldh) z+&NzkFVm`Cu`I8ls~UPi$=>s6TE@0&F1K6?zdw1fwm)-_+Mh|!A1GMXumW;j!%GG0 z8a9wo@JhobwiIk@c#SN>f)C{_DyQKM-YUpx$V-+PAC~{Bi6L*Ml4RMWpIZI&QD_Y{L)aT<`Apo94%JUB2{$ilHC~c>P54Gh z`=ori*;)C3ZEv9C8yQWK4$o=GBZxIYEdqjL2zTk6 zW()UQR9`5;AbH29Qj-lRf!Q;J8VH|3{ff?=bOYKMx=uaP2$6OYT;>`>JAKFKUJ2SA yrw|iFne@V@h;RT3;&?!4qP|EVj)xfbxZ+fyN0i^5+6g^LpEypN{<0d8$3TZ=HTXt)j@KNg0rgcdPBz#OdT~HWCu|=Z9mW?bI z_ycTNXUBpWHY~~vac7tz!Y|h)Fj-@;Jqv?+>&rR%bhg|cO=}+pl;%xWW6upwuyBU_Z1A^X}b#f&3)&wQ*Al^ zZgo2hJb$;wGtd9JqcGKV0$vK;px){Gp@P~_NZ<5)FTABtES^n0yR%Vx$a?iolUUQ6 zp6`C#Z|}Il181idp?4Zi>!A~P@}6uO;hxu1us7Xizk1+>RbdmfozOd|l1tn3otEc! z`(d@-X}2A}Nybx+P7t__FxgR<8^f;jxq{vc1BJ|EmS{R5DVUA8h(dNKm+0pnozUP3%cok=QjERdwmSQae{YgK=p3N37Yr$RFiJb zCyXC-{=>Wz1kU#gm&a5sjp4#Rgzc`vL}Slw9DLUIXs%uqhH3YkzSE+H6Ak=iXP?cj zMGfri?4KN)EBtVaPd|DZ+B9vfG`0&~Vp1nF=d$@v4lbg#tdX zFoV2>a}s7T$4OkYuz|9LD&DYQ%hP$hYT*(t^N<6PJ3ZDGKEy|y+W$LLCrZQ;qaM+K zRIl5Tj%6sP-g0^}E++&>n>FJCzrP&6S{-@e&!@adh*qlLngxdiFEY;atpyDR*ID~1 zlwCf8W>=1&+vks9{KkC^FEJL7VtkD^7cqegn8HO?UBb)Uwc~s&;1#~HQiQ9bCqdSt zC&AWvlO0Qt@9|yEa`x}g%K6j)X?`0fxTM>ct$D>8as@mt=} znXzn_2gqzmoH)dM<(LS@PnfnV17r_j8o$8M1xAm=WuwwJkVY+nT8xVfp_VCFpwfiA zNYNTzXD+jzVadeunvmcOFiJz;<|?u@Jy2k2DPzJ{YCFb!*2<4VZ9?o}cW3(c>C8L(`Stz*;1GKz7A;I-$-**LEUaS9z`B7FVe&+JQk@dgm1>)i zY4}}-kZVcLxeVPKC%6_j1I`p$en$-2B9JfsX%(YdJ?S{h~b@muGhM* z)98#~y0AY0!bGGel*h3M)|DRy9p_ByF7rR?JkVTrME8`1feizjS(LG5U^|N)>=J7K z>6=g)D~~N=X_7C08f|JTHWH{m>>`-TA2~~yuT+!lT1!A&$MYjh4S6g|-w47&LS5B1 zwlKlhOFt>_aA5K}#nCY`d;+Zf0u?CziqvzYv2>2LK!J5dO!Fx_Qu02-5n&d&m~z2; nnsa9D1?e|reltpXIuWBh(!~t^0(s0uT$BG)jH;VwQVI*-o4dzA literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/InputManager.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/InputManager.class new file mode 100644 index 0000000000000000000000000000000000000000..879c1dc89dab70b47d02c662d172cef81765f5bd GIT binary patch literal 2839 zcmb7GX>-$76g|&2$W{~r4xGiC3eKtMKt{oN6`k^VLB(qMyr^QWd|pzq4jC0X zrlm!;134ISxvU_sq8l@EG39ba!K{kS(y9d-I%Xl2HY-lQKqzD8E#0ZwhQPoRuLsgbu9})P zos?-^F4;xhF=tbbVHZtHFPK)j>ZFEi*!_cq3gq=7QMR?RlCM%jCEd;);Z7c&tD260 zI4iJnz_d(fP+({DKbZEOr15Ym$D3BCP0JXs7N-q+N}n!J6Hb@1df}vQn^N|a0cXZ! z@Tped&C!g?n8tKV&l@&<6nP>_-%N&k-SA>1ls_uH@Y_{OK=J4mh_%0<0D~-5nI<(;s@hrOuqjDi+ep)H>8pnQ zcvZs-*sEbs?)KqDA~qJAHEZN#$!XY)l)&z`m6b6HM%M8NQ}C{a_wc?zyshDop7*Q- z_Ov}cTq?M<{121K(zRxjWZPSg7xZksegqP2&!1p(JP!Q>4Ig4c!$}%x&FeX~V^c%bF#CHsu38Z^ zT-C~~v&Bs@4tT&fCdh1uSt(6(QGH%SvOQRAzV7WqbGkTX3(Pdb72;StK zHzg#1V$8eqMBqS+fzWC~Ju#Z)%m`&?jO?r|LQZGBTsAE7k!*qY^vLk)h@l0YQl0jY z+b=a%l)T}{iGwZtdL{XV^}{D;0xMt-B_EzgSWXgm&pE>9O1|5Vm$)9Fbc$zue6EY# zfr!O#!^e$3=D&@=FRszcTsQLL3|QRU_j6(7-M^6K{ zQ1A~dVZ)eo`z|&Lj3@7+OW-EGgUOyL(EMf~Yu$7NRY+J(ig-1WhApDSt=))?m2cS?2QR<|daT33e zq!04%Fr7VygBZgwj^hxfFoGhEpp2t#a51JZ&Lkeh5O*Q|N*ZQO@OwxK4)Lr^<(wD# zVeU8criTnp!4U;V|HfVgqYoe+!1ot=d<5VO@^UPVWsbY*k?fF>)Wg`hoCwvuwJXT2>&FZ getES=o}cn@N`ff?lji#eoi!34xP+ge)`!V|0nInQj{pDw literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/InsertCommand.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/InsertCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..54158d1c9cecea0c0394b1f5b0f0ff0c211b20ad GIT binary patch literal 2766 zcma)8ZBr9h6n?IG*(JmZQBb7lYN-u`7(}586kiZE3ceJJRZ8n7xh5;gZrm&g{)A3v zI@5kB{m{;Iro&99Gu1EX)S3Q({+a%PPTS{hl0tQn&SbLZ-h0k-p7V0g?(cv7`Wt{# zc%oxc$Hf@BF{R;>j>|DzK~~4r7!Kl^hUpkuFcZUd+|Y1S$E_GX#B2<=@sW->^}M6u z;}{aSs}}ck%&X@oN^L>Ir!gGBXBzHnFa@IHmTh?x0-}+bmmlb;-+Q z?V5DGNvBdV?ZTKqd){$fnfGp*u33@PB}`{>e)^%gY-Y-)UChjSu4Na;`tAwDs#~=7 z1}F*ap7qT9;*42sFw^9U%rAK)KAe0VG>C7}HLIn}W%WO%G9hStWQ%D%8<+g>rdIN@ z>RFD>NQQ&JWK$uNEth4{EZ@jIWVBoDw0u1oDz&dgEfDef2pB=|Te*_yvSJ!gg1Xuq z6E9cDR6G{Y3s%iD?L31MS(e+gDip)AP~_wA_8?PK81s83ry;N57~7D|$3A02u|l)X zlAD*8EWcI$Q|#j^IQE(4cYwfDT`Xmw7k`cvGJPBJ9eS5Xi~gpl^wq~sL|2i4T`VBEE=BkmC#$(s9 zi-zMik1JNO+Rsv@3Dg%3(eZ2UUSns#pf|<(W*SvCQ&Xd08{OlIa;Gb6Fb7 zUrtKfP*>Y3TTf&mjz@3>dbW*C6<9@9Q(l<6gT5E5W|-x&E6u`c)1$&#!g3ss(Iap& z0C1<~k7EU^0>=YP-!L=;k~M;MMBq?>^_F`?_@F`YD$ZC|%?6DlE?<(I zSsejJYGfT~-0s`X=7c-%x+dd(FUTZts0D)4efuV>tnJC7WMy^E$eQGG8&16J>3|Hp znsCnQ8Phg>$cS`ZM?p7xO`tcq{fKDH85Mm?QF`^Iz{USzvLmR#<(*-6M9KQaJNgDB zf6S=}G_z1p3xS>0S&?{^FDq|$DbI_@u81-I8A{Bfz`kVP>jNG~_%83}`yL2E@ZRy$zIAYAW5KRA?v> z*+6s+$yB&0_M{?13C-V4q@qnx3$G&_`k7WC-`iV!!e`lyV`OM>)mcYvcqBgFu4R-6T4sFt!D#W;SKEh7Kwo_21B7G(YCq2hE`vpeKcG@_cy56J{oz6#NDoN zSEM7_!CdYg)d#xt4eVPZLPs5e%gz_rzmDCbEnO`e=u+DZvzMP@?=!_~_yIrii>aOz zmx%zwjWWgr`dP9RlQBT;6 z=a|ITxQK5sMNe1oJ+kySO^;Wxj%)aZUwH;SR?$k#C_Sd2^F*gKz(!zh|1HK-q{%`x z&r>oPWDHUKJ literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/NodesCommand.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/NodesCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..6b55a5d355d3221080d1a489a942e3756cf6b10b GIT binary patch literal 1667 zcmah}+foxj5IsWzldOwCKoq=ziUu&OB3^?i##=Pt1&S)Qd>EE7EF`B!*Q2mmZ4)h2m?LCkjRcMF(eDoie%_21)-d8RF|b% z6w4LzWJ-}QDoa8I#%?*2dNrsscqO^g@YVzE1>w6$RfP`LJuOu=2t_3bYYpwq6K%Z^ zRjVRg$uso$ky6sv&xI0INuk8jpM6tW6C1*-h_LJ}XcdIz{OD^2r?w}m*Am3Q<)-u- znsi>x{!e0)S5~67>OC@R-XzWp))pu?eOc2%6ne!Jy^n7O6@ zGGJ(r&te#|(eKqkDmEB~_YYf=O3O_;v2#HSe|=8W;zGo=yvI?X!c&py#ulQ6^5w(8 zRIX?5-A@>OBq=oYU~uE_&~zctTQe?taG&A0rI>{%tZNZ!LS)~}=3a~3``p{{QI2~q z9^fIvX$z>CT2r%&M|f-wD3VMUPwJ41ziMi6!~!zyf2`GAi_za{nN><`F4-stF+qPbs6{~G z7{qbfXE=eAEvnBXsGZOwU%_9Ejc+5BnA|~n{$g$$&MpppKMU6SJhN0x)ed<=|ZJWZgB6wrp;FB`S63;+NC literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/PlaceCommand.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/PlaceCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..0b9aa1ef4e33d14a5587d16610ea9e0dfbfa37f8 GIT binary patch literal 2643 zcma)8Yf}?f7=8}9YzPaKASg<8skR0*q_r)eP%j{86ety{ReM{K16fIS)6E93_nV*k zt>5U3Q^yZwI@77+7i8KQe?b31e@ktr&)IAfI>ymt=A3=cdw<^dyt{w=^V>rJui;h< z<1tLc@dD1q(T7R3OsVCZTF%Fj!37N$W0;O(2D5Rzi8&2##nFmOia8&{g4*9!%ViB$ z;^@RXFAV}md+Oxd>U1NhFoV&KxBw?)+tnqHVInn+Yv(*=P4h!$@Q!( zd6r`nq^=z@3whd6$n!j`+z1?eh6va>8uEm2-l@1*Ic2F*cI+(1pu$2RQc?vHF#O#Z zqc__x|H;v@YTN;-;~*>@H?X3kfV7SQ9MMsPt-;Yz!Xbfu4Z2~%vCE!mdjdHxFI{Qm z&9bp5rEQqDVU^1jX{=dZ-XPPcdNQ0Pqh5HUQkJ=@NHxNwZ-(6_4X@(bWEBcDXt=U0 zy?zZJ>2Oij;OVGfRp3Cq<_+=Iv4(XWH}SE+epNk2WjL$S9W;WrHRwSun}tCg3! zr%H5p-E6gE$17GLCtU>-p%8OAKEvlazJRUcOMJyPV5oLEuBdelU+ee=Z2oZ0HP>`} ztCWTt;3xm4n21|DZhGqPN!6M~9*S8vkJ$()}p=W8UH@llSFam8UWQL|K%HuW)!+ zgxuo<=mh_x{J+70eG=zziq^(4hY4K4S&sTi+~WQnrtm$vKk(b>HoubY-~#UAB7VX& ze#NX`jwM3fhZcGnW`p%Jnh`!l=%rg~98Ki^>=!UZ sSue1so~rg#QG3z+2t6z+ztK+qjW!|lzcAj`G_K)PD+_#@GEF%1FU(S$C;$Ke literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/QuitCommand.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/QuitCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..c9fbdd4a3be89325cd9f0f3476a9f064f88b8694 GIT binary patch literal 913 zcmb7CO>fgc5Pf4ic9I6trX`f`mT+()R9_H63POTPd`J-jwaNibTYE{D#CBP11pkQ( z5(tR{KY$;FnB7=aAd!H}?Cj2)H}8%8=M?r6v>Cf z{7tC}0=*#kcU7i}djvP^j|tv>o=8G_q%!%mOpl~K6h||D>5TGN%*H}1bFUt~;#j>U z?2TknMpIQpDtnddR1|6&6;h`v6El^altuKM2kz%-Dzaoq*obqjWn4THTBMSZOwtWs zj$Vs*BASV85*-v;Ws_l_6*f;6P@5}2gh0NRaapj;JK-|PDs>Z{8$HN{P9AYKG}eQ7 zuFrT~62hA?Eri}bun`*Zv5cq2v|X%magdifmJgL#=K8`q_RK7%H=m@1IQ{D`4(DyYjHET*cU_H#(G6}n@@*pj`z_-%ivq|w(acBt5v5#Y@ow+ z;t5+Ejikr?YG(Qa?>8k)+uLJ1H!RoA9Cga&;~ctnmXGt;W;EdfE>^4&pGI|U@EPu( Q;=%=6wNqP{tcAHB7(Ja#(qSAI92ZtlFkVRrA&A#CSyqV3q5&^ZR4KI&&7=*pkeO7|!OK7K z7x=O-zJR4w{(#;8WbM~8*;SWODpfswIeq$k-*>w6*QfU%0bIeO942!p+i)?(QORN2 z#wEW;#ZDa9CHlWnjiRjmLXjzt}$5k zuqhe(8-5^{yX_6BR>j6P&A5%w6WeP-`DWakwDhLG!!X^D&2DAO*A+i_7OJ+;{#Hdx z)%F9i?FXH%t~{3Qa97sDc3T9^D#I}^R7!gKp-`eN2}?9Xh4scCVpmkQMbN6OXypg3 zYVj$9-T4A_JORXTbVUnqYe{r^%D8+Xy{;zVR|^M8lk~Qf=xkONOj|XX;9e}&gnmF3 zLngvA(J%a=8<72CmjBDeHYCWvLpi0l8SDgR4PtPq@rY zW%iMNOQRHq%p83|s6HC~L_H@);sl0i#4v)BJ(hJs8tkc3ddAJ{A^RF`$@;g;tv9gJ zf6{t7;>|`pBN69NysyVe4D=hN^)W(ckQ%u~7agaOr`E{*8ys2s&QFx~z?VND_oSSj z*+<_^E9zTOKQs9O_LE_2I5S`m*!wuL2j?}8xJTdNhd0Q%{qHbf!i?pN5hrkgcrQ|l z#_8xH{bfv`hDpp}Dv~)HpZcH7c}nP6(nLyd4(BO|Ea8pxG;vH5+eJ$37_E#`FB65+ VkJKmBI0_u}Y7|Z0Cx{@0(mys~vM&Gt literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/RouteCommand.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/RouteCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..1193ef413d0c3e98c9fccbf509d877234944703a GIT binary patch literal 4024 zcmb_fZ%|xU76093ci-FP1(GGutZC@Rq|GjWvMFh?T?mChh*Tg56ooYEWB0*6Sl-*d zeH$TCtF=a3wSUyA)Y{rsMcZnvGeT=R9l!X+vELj&>5R@e<7a1_Q9DlJ@4j6MO%|Cr zVR-M}bKm*%yXTyH&fVW${?*$6?!ap*?o%-l#!-As!N*lhhB1Y+D(+WsE{sp$lVPa% zR2Z$$6-NjaDkz3=GtSG` zr^DEfMHNeuSd;=66nrL(L-MnVWfc!fg`btLhZKA+j0DcB_$Lyk$Hu_DOHG8(k{iyT??K?6T1UkJj*6G3N zHQlAIj?RoxaG5kNjg(hhbHP~lIG61_2|c&0=W<;dl6X{Le}%;BwJoZ&xI-;|wx@MU zZ@tiZt~sILqK3!t6?!@zk4v?Q<+!JqV_9_~A(bZt?x>*Gi&OG{_?E8F@KtNz0TI@)iXRJ{xK116#LRjikG5-5?@#bDwZ$~Nf+sb+Ds}fZV0VhvPd|F1d-Fqc$L0(~xfIv$CKD49Ah4RI_>^TWW*si34nr z#sft?ceT6DOwX}_c@3(X?&`_q>1~ODu`>{NByjZ>|%wtjwiE zXn0@1HWGxQ3imZ^EV3?gTlA0L@`$|~{9fBF?~0q&^LfL{(2bQscTHm}*9V$WUAxq~ z3HE)e%N?D?h3=BR>NE1PEja~u%2TYDdf)h(-;T;DV9qGw0?DuES>a z^BaI@`)F4Nv{@EA64xus%>)YhoXIHrd4pQ0+#<)zcQZEiJg-@UFkr3I?M zo`GY0-%jc-_&Ec@O%W0C1=msaIw>F8aklh@)qN%4|`50$mdkyG*> zX|8IE1lAB-!GUJ~#x&9#Xp1P`s^VXTzv@-8R&6nHh*#aio{5H%nz9KhB*43ABt?k; ze7AP9ji3XaCAybSvHL9dSzV>i5w1&tlG(E$||I3RHKFpDDmR{hP zK>O%B90!6IelfstG8&51tzqv9+N;{bt2jow-lK2xOFBln!J``jlHN^Pcyut>9+6H$Q`8sh8&0>8%oly(U>Pp;!Y zR9!=3R9nL>93wHl)^ISTu3q`wD*jYf^g({*65e@F`6V2p@ZmMw%1@Eo)^J3cNoi5- z?e<+&?KSl^^}Aj~b5yIZX-m~^n5vZ~$lT}|_3S)SBUZ2cUea-CVSbB+1T8e(a0{VG zvy5HYVpM$tEi#WwN%kDmNXAP;6Y9`{7|(({4aa!`PB9JdQen`h|q%VjmpMv{+H8|(1e%ym@)Y8r= z^bk`uHEpcDwXr5Mf8(fdc9If2%bfM1j|WNfspRaZ7wTwN9wa|v;vYDT5A)o#ioaoi zvmlO(zt9KWP>B0C^h7s*U&;fwin=RQpeh(tFr;9Z3<^dReAN3N;*q?JySz_BqPDhH tYy1x)3P#^WyRY^N;;7wDvMl2%8xh3(FC2Xrq5ntb-`tA87~%Rb{$DzUH>Cgo literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/RowprintCommand.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/RowprintCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..e0184d60e746775a1c9f64c0b787e7c600b1bdda GIT binary patch literal 1592 zcma)6O;Zy=5Pg#bHdz*d01?zEh(HnuiwKDFB}Bkzpe#voFvVe5#;}s?rY0N3zu+J7 z;)M%R9{d6RD9fHCpu(bFcBf}vzwYUNJ>P$P{RUtfTVafbk-r>)^QCJ zI!sLJxQ{6v4=}A^Mn@ZFbv(qJhDRD6Gqf()j_oZm1QW>}hET@c7YrRa+Ywu}@}7`+ zzE`51XwJ2GX@^T&+0D(6cVJf;rgCDxW**v}X*+LRS>~R7XnI1HZHJd^r&9CGSMK|Y zv>h+wmdo7PpJ(W@Tq%X+z2uUY1)+&3mMG-j@^{=Uai?f*d*o4^Prhc*E5D(-eLxJF zI1*OPqg3Y-mr49GEK*!^)#Y-3gI4qE`b@d|Va1UpDxU2+X0}ukMP52jd+qFm?xb0b z>#1^Gx(5|kMPwNA3veMBhW2fbTZfyxQm-}jj;gTj)}$rYZPk#T3niUU0U5%wS!qI? zEe958<4g@42gfbG*w4XKWSX*R8~o$^WrwO zmy~TC2oh?q50BDmUsC{i_go*<6)E`#hEYEkUnO__ikx*kQ52HeN&`?8WL^=QDmUm; zhCfxs&_+VYyN$t8OxdKLPW{A@Z;mrVq&~>%fw&?UDxO{x-lnKlc~L1f;Tt9GlkcCM z&Z?(llRLyhC1?>+x)Ou*vUSkY2LwS~LKl6bWX&N&D?m?0Su_y(g5WV(0d%W9`U5?P zpqIXY(Lj+WHd-x>rVZ3f>;C8Bp^8Yaf8ljuyCtM z^^p<`k#~GNHFg3mICYBf2_mP^KcQ_aeFEbY?Z6X2g76rF!B@1bfH-Q literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/SearchCommand.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/SearchCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..8a7361c356f196854a30b530ae392bf13e99a3eb GIT binary patch literal 3130 zcmb_eU2_vv7=BLkv77B;+f-Uo1h#x8v>{NSNLpG-KQPc1q_tW;lx?z2woP`!<^(BL zQB?faYy1Pus2AdlEh95tdEq$YoiqLbz0nJ2ymGt{ea~(>Es)Y-#-_>nde3{F^StkQ z&iUcqH{Sv{fKOx$$vCcHJD!n{l5s-8Nes&vkua*@6izFU@vMSvI3r<9fr@d_{hW*m z1<&IJ8IxkhSsCXz$h0zs!_c|9eNpGRX)>d2 zdpJ&0hc}NH3zWF-aE8{^9ZVPwH?ELvsN~W;WYdD7v||##rcJ^2*=6nq-j-0Lq?3@K zL?eV_cG*cAL#7+)`(m|6?48oY^T=@6t7zRWoPLwf^>lS-j1s3_rq+ah-s?M{uJ>x-Y&<5%Ms+F}xH6%HshTB1?mF*YA{eNtKR z8jCR;sN&I!<|7y-0#tC61**#`Ud9!MEvq{6m=(5jDz4%chWg7c*_vf@ZQ3qd842?$ zUd0>(o!i%NjWVc$QN`pieDseuz?Ff83RlJAyReT^2^gX7#0aJt_eV@w@g`=c6=vtbzL8DUaxoDS4CMki& zZOtiL8qXPyL5JVa=IpXoD3`c4WoTKOc=<@h$AXtVRnR;_B^aV>PN)b9h2y~^%CNc0 z>=lQc+*ebE2mN%VTrnU`OXm#A#PwAs35}Ao1|Q61g-JLX^Aw}Z&3s~*IHe=mSedun zC;V=xh|IXXEQEcIqZ3=Zsx4Gi`>H}B=W^P%xNcemX?t`{)exJASE20w2&IIYkLZ@3 z6=D`J97kx3oYPAr?&9X4Ya~T-VO%Qf`3LDbH8n$$?@D?z(IwJ&z$glhb4uJ(9ftDS zP}kne>K4_{5d|nwW$zEG$nw#nOOp0*$`iLSy3T0x4a?b+vbf=LBy-!l%0%v@Dw(nJ zhGSSF9gA3(40sK{+XzPdfsUlq9wDGl+=SX52~y=#gu-=qP=7nzkdz}*GE~#4L_!M) ze@;t}3cz3Ac=bA!t>`@SBbEDtSHDV8*%t|g8yE28P3-h_Dz~6fd%fFk@{4vowVT{_ zFwm*2S3aXT7wIeh1ZNTYw$pbg9tj8}%?sFY2a%+F3rF0pyJ(qQ#Kr|YwSY~Pk!_Wc z%`~#b9nmTyp>V6%MMS=Xts;~j&r=ja5SJ>k*+>LxL}48J>C=fp9Ks1ogp=r^cX2nq zLl1sJFMdWJe!(&PM&%#q$Dd^R4~CczgN$C>tQIL&j}xo`!>kD-Zv4(uvQRjd;zzap z^hT!yquN1Qs|G5~J4CDb(8&C5bp3?pFC0daf*Hr}gd&L`&HI(G9DqcazQ+-&$!->O xqV`_`B1`Cz&@17nggyz!B=o!gy_6^Su-6^xWp#CGOE?nwn>;fN5Cb(B{0|i9RyzOy literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/SelectCommand.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/SelectCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..06d31a0964eb43df71b309fb731ca8e72bdbf3cc GIT binary patch literal 1730 zcma)6U31$+6g?X|kuBu5aXv^W1&0zU+liHiexyyB(wd|M>{74^&`ch-@?wj~l1G+H zncz8$W2v z&^fX~6|@~sx{lZBg;q_u$_~qZyDh!OrogoA2LUaQWFXs$ScaK54=Ufvr_yqz*R*P3 z;CRi={9^&V^Ac(%1|*=VXUgt{B)Vaq4HCz%$-LHmUj~f_Tx~|h3%bv}g5fu4ga+12ns!$&N-=Jx_y?K%VX zPw7{R2=MB<15pLe4Hvnsx__j+Z38o4@QX2*Que)WD7}zk9~2Mon&#Dmwbko~`5#Pv zZyo0I8g>nQj8DkIKm}ESw<39RPB-U2RY55?y26~}x~eJNl7@!{KE)#gpW$;2H3M~g zVZg$^fiE#Da3h9>dShGLI#rfFD>;dNSuy=X?O(vwXU2u!LV@cE5RKne?^QKjz#F(YigJg@ z2%9b@*0Ym+O#RHwFv!%vX>kx>eh3-`ARKSv63;nhczYD;cVZ^#U0Ufw`w{7E>KN(g zg<>CiV*MDeZLeJF!#GCfCuD9X7n6Nlhye6jKn|C2ZuC9RLZc!IECYBK8kSkWd&s~f zqQJaG;!E^c;mIn0)_~(RW?x2%XG@fZJjQHGc!%gntPHa(;uU5xX^czN`C?0gR@fr literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/VerticesCommand.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/terminalinput/VerticesCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..840668f3530975d30db2d5ee7041d3452aa43e49 GIT binary patch literal 965 zcmaiy&u-H|5XQfa(>gVV7SlpYp-uT$Cp2}5Ktc-Q5($J9acPtbr>(Q3OYL>!tSerN zOF$fW03Hf4>-d1u74>1g9?$pNnQ!O!pP#<~yhOKw`yM>(dU$|`F7_JO_t3e_z5nV_fN%c9)Q?BJjq(z=e#S^Kfg^ord*D@BfewLPbF?gq0k;melG@WiP)p~5$ z42{dG1s^wX=pyvdLYraN(tAHsGtHGIKfO-JbMf5A5jsAO(RLB}IKc~s6N~b{t}%qy zN-BdX)#mCIn?4vL_bk+Z%%mA+1j~NS*FJwL3bj zrio!~N&}+Jd@^j=&?6jRjfUSmH88p@pVpi7^%`~B0bV;`0du~i_N~mhWnz>I+#%&A z)@f%nCc1&!^rjJ`e+$ZxG98KqM{_vA${edscMkUl8q2h8((aVB=0Z`?NK2<|l_vza Ni+g3A+r+G4=Pw%;_Dui) literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/tests/test.graph b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/tests/test.graph new file mode 100644 index 0000000..ebdc5cc --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/tests/test.graph @@ -0,0 +1,10 @@ +Aa +bB +C +d +-- +Aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/tests/testsuite/ExpectionInputStream.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/tests/testsuite/ExpectionInputStream.class new file mode 100644 index 0000000000000000000000000000000000000000..ea67e54afd08b96b97c0b32ca39f32ac746f4a36 GIT binary patch literal 2982 zcmbVOS#uOs6#njPJsBDT2@?owM}j6Z;3y(Of+&drM*~47vLvW`3>}IG^yMz+-gCZl&-u>j{^_5u zF96tx4-#m{fd;I>K{*V`VOYT-DZWo`?r*>YIIKXAV~>QxXO3CATX775 z=F5(^rnd1$*sjn{SHDrHWF}2FV_KuOGo`!cWX3hhZrL9zrfX#Sd>?FUpyCoS=Q@Ty zMH8{Dre(U@h|qBvM0e*tfk>}iAbexLX&JjKQzM2msE-sWY3jH0dU2obm~vkgM%;0e zZ`tyn9LmZF)cpyY7A>^QwLV>{A+%iXr3{30R4p5B^^G#lk&YoL4IkBu0`tsr;3(YD z$s{Ow+p?GyfmKzLrk&YimW;xj0C`5rt|PGA56=~E3Cz#AdVX@3UaCeS(RVy=lw8xc z$_gH#KMZ$)s2#&S*=#2hFHC_@ew@Q_FS8(z4WhKvQ5X?2X0In_o!S^%hN4aimu1DT?(>fv_K+fSDd`D!<4ydttUSa>+2=oRAlg|icX|dT!#)7YjLf> z=Ksql729x|iuJf&!DA{O#}fkUuEN+L$(oZi71-Y1=Qy_0r42f!QP5mlt0qc2X1e2= zWm{VPHNi}2e1=?%w_gMwa9@Px5 z>{yW`g2p80$BjapimkYnB~-s#>kpcWckzOX_vCO2?+dKarfkR1Sm&}$Xd@L@8?#-F zrB{@(k+f+ONYyM!x{x*6v2iAz!E&n(7=>=?l#MP;;FhaMNIk>>!U!y_h0v>$IY-U4 zqwGMP`6OtEte=H}5Kos~V~PicL$W99WZy%sU+MvMV*xR1rz9^G$@pZoVgp(8o0W0g zWI;zdvJ!TI2U~Bbl$XsDWEh=d{e{O2UQP0ZOulvC7w9$-e-MuTdo$73UY(U2{fBcXZcgT-YUg{VoykqXr(Q<2}=C@A9FY zvLQ6+j-yZK?GiggDhOSDPBs8t6L}G8qA5Sq9zkGPr^J8@Zd{9OAqllo-1CTJ~XC#Z_AwZ_gK|zC`2`8uv}bCJiFQTLW5L1mXgqip3*`lQ_7xU|FpH*HG@rv_j0F3$pI1}GK0_N0Dp*^ zt8h(Ag8;K=?TWTW!|8Bq^ujqT<4Dha3sW+7%Ne_c|1fwnxQ`Z#bh-8hK>Jc>R1xZHzJu@~o%!?zg354aaUVjq5{#;+K{Zy3fOI3(g277Orz zNa3)^@LyKu`VdQFhz!`t@>7U(7W6a C8pSLC literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/tests/testsuite/ExpectionOutputStream.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/tests/testsuite/ExpectionOutputStream.class new file mode 100644 index 0000000000000000000000000000000000000000..72ceb1276921361b5f087b949f4957343dc3e1b2 GIT binary patch literal 4289 zcmbVP`F|8=8UM~^H?vs=NH!s9ILdOGYzTqM8IS@Y*w}DLC^Vqb$?hZ>*vu}ovxKy0 zi*4;;)mE*Vc-JEyRohB7K(Msl;;q$M@B8)-@bl5?_nFz<%!c;!ss6C<@x0IboZshp zXRkbe@ks#d@b?II;7k>^kD(@!kmc?^E&q z2tI%hMz9zk3gg2vKN7}AzoD7eJ z@pu?dgzP*6MLcx!wcIYNna&TP%O7iyQoN09> z>TWY-Y-v8EAlQ*k()+pM*xuYwpJ5-=`%>fu?oYOTvqXvil-Gs zI!`BzOaTt6JAkwzcc`~P`m}sSs2tT@0P}<+mF=bdRbSaBe zI!mGSiTWcw>71P~yj0CE;oKj?)uKzoevD|?jaO>80bLq)qJxF!no*8?;ryb8ZtP*= zG<*qz8orD{A9L5fQZf}>yUR!!4n2rvY~z%f&Shi$#7(SU=a^g~(!QeMtN5CRuZyT} zl!uowFjEbL(Iy6V^wVg-;Em8rO_;agyEHvXSYLBk28 zG`tEos`$2s?_iIDRWCu-K{lKoX*CMAFYmPNwA~&%Xq!ed=A>fZ1!eGe0DSJ*MF&cuvDl z@vMfQiLe0){m=0W6~EN*D?CSdEl~gszs7I4?$GdC;r$(cPk^miW7zBsA=eL{Ml}2Z zf7I|N{Fy~F)1sX@GnF*RUt6>#Vz}+rNQxnU!C%?zBYMIitlMJ>mKE7bHw~vTqF~cY2!AP{e%vc)ECR|c-SV?J?pf(YQczc9F6YyVWUs^;r~84Q z&+X@x#%aE7EZxea)C93GufXjubg5eDMEiByupCcnwXYKiMc$X86G_viu-OSgys_69 z_IPWiEpS;yUhOok@IZOZ#%+au42@(RV~D-OO|Y7g_b$apG)T+Y?1D{hlkzUOq1j>E z`Us7fl}Kks_VpiN!=hVZub)YC3UTT7A%fR-vWE%r7jat}aEdQokCD-B-ANNMbw#)R z@nO5RmO7$_c2gd4xw%$Ej)zO;d>UMrTbzyG+7t9*wz2b4D?{>}c*N8Y!i^cM3JV zt&@mOqILpx;{~>PBH?jr52A+=yoSALonN zLi^j$i#15&I*jns{~&M2J#TOm4sl1naM+EKtZpWEz@;6*QTqQHt~Ex({0oSQYm$=n6 z&QlgD7^k4Wba`Fja)g(I7f`QYri4zPgh)vOUlHCE^*2(VsIM3GB`J?U4UQvNA<`;* z_U!XXt1n0s=R*k8Z5KaG94`p=`=vfc9=~5V`{Ydf#TT1gV$~_m67uCOPorTJweglo zToZ433Jnuz9LL-zFh9C5k41s=xK@DR**Kq|1e3uOFhR%ohesy}`Ur)jtFPXZSxWM9 zejW_bT=5`?K*KCwsuWlRh-*z?E&Wpo`pzjV?rmAP=saSRSkfMB3`Upcv1|;Bxmxb7 z<~0V-V?`b-N3np>tRVI|)inn5c$r%vF`mMP-brkXZpve`+}s>(mlgRp=dp$HcU`J}o>>@2 zv+u%Ia)@tvykaKfbh<1oVBiN?y(X*lIM(x%Z5tu5n@QQj@E=2l2{}oMjbS)AiyR&x zG#+M6Uc_y9?o+PE{mL%hlsdnG zi9Ci&lzfs&?ZXAi?h@E2okdu1m8CWo1y?!tMgozmQ(RSGuCjrB@g(8m)qK^zuwKP* z^}n%~ld`mC=|9mLSWyNfe*AbqqIX`cYwViaBn5d~FY)k7V-Dp54^s9+kbn1LuUGn7 P!M5p6qA&(>@3#K}<7OtE literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/tests/testsuite/TestSuite.class b/Uni/Java/WS1516/Programmieren/Final02/bin/edu/kit/informatik/tests/testsuite/TestSuite.class new file mode 100644 index 0000000000000000000000000000000000000000..b72f02a63422546659bd778cb4bdccc5abf432f6 GIT binary patch literal 11838 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 +00err : "place" +00err : "place 3;2" +00err : "place -5;3" +00err : "place 16;3" +00err : "place -1;4" +00err : "place 99999999999999999999;99999999999999999999" +00err : "place 5;13" +00err : "place 5;kartoffel" +00err : "place kartoffel;5" + +00err : "select" +00err : "kartoffel" +00err : "select -5" +00err : "select 16" +00err : "select -1" +00err : "select 9999999999999999999999999999" +00err : "select 5;13" +00err : "select 5;kartoffel" + +"OK" : "select 0" + +00err : "select 3" +00err : "select" +00err : "kartoffel" +00err : "select -5" +00err : "select 16" +00err : "select -1" +00err : "select 9999999999999999999999999999" +00err : "select 5;13" +00err : "select 5;kartoffel" + +00err : "place 3" +00err : "place 3;4" +"OK" : "select 0" +00err : "place" +00err : "place 5;2" +"OK" : "select 0" +00err : "place -3;2" +00err : "place 5;2" +"OK" : "select 0" +00err : "place -5;3" +00err : "place 5;2" +"OK" : "select 0" +00err : "place 16;3" +00err : "place 5;2" +"OK" : "select 0" +00err : "place -1;4" +00err : "place 5;2" +"OK" : "select 0" +00err : "place 99999999999999999999;99999999999999999999" +00err : "place 5;2" +"OK" : "select 0" +00err : "place 5;kartoffel" +00err : "place 5;2" +"OK" : "select 0" +"OK" : "place 5;2" + +00err : "colprint" +00err : "colprint " +00err : "colprint ; " +00err : "colprint kartoffel" +00err : "colprint 8" +00err : "colprint -8" +00err : "colprint 9999999999999999999999" +00err : "colprint kartoffel;8" +00err : "colprint 8;kartoffel" +00err : "colprint -8;999999999999999999" + +00err : "rowprint" +00err : "rowprint " +00err : "rowprint ; " +00err : "rowprint kartoffel" +00err : "rowprint 8" +00err : "rowprint -8" +00err : "rowprint 9999999999999999999999" +00err : "rowprint kartoffel;8" +00err : "rowprint 8;kartoffel" +00err : "rowprint -8;999999999999999999" + +00err : "bag kartoffel" +00err : "bag 8" +00err : "bag -8" +00err : "bag 9999999999999999999999" +00err : "bag kartoffel;8" +00err : "bag 8;kartoffel" +00err : "bag -8;999999999999999999" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/duplicateEdge.txt b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/duplicateEdge.txt new file mode 100644 index 0000000..a2e06e6 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/duplicateEdge.txt @@ -0,0 +1,7 @@ +Aa +bB +C +d +-- +Aa;bB;1;3 +Aa;bB;2;4 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/duplicateVertex.txt b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/duplicateVertex.txt new file mode 100644 index 0000000..782a3bf --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/duplicateVertex.txt @@ -0,0 +1,11 @@ +Aa +aA +AA +aa +bB +-- +aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/edgeWithoutVertex.txt b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/edgeWithoutVertex.txt new file mode 100644 index 0000000..eff11e9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/edgeWithoutVertex.txt @@ -0,0 +1,5 @@ +bB +C +d +-- +Aa;bB;1;3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/emptyFile.txt b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/emptyFile.txt new file mode 100644 index 0000000..e69de29 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/negativeNumber.txt b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/negativeNumber.txt new file mode 100644 index 0000000..18f3bd5 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/negativeNumber.txt @@ -0,0 +1,4 @@ +Aa +bB +-- +Aa;bB;1;-3 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/noDivider.txt b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/noDivider.txt new file mode 100644 index 0000000..fc8d307 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/noDivider.txt @@ -0,0 +1,9 @@ +Aa +bB +C +d +Aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/noFirstPart.txt b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/noFirstPart.txt new file mode 100644 index 0000000..db1350f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/noFirstPart.txt @@ -0,0 +1,6 @@ +-- +Aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/noSecondPart.txt b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/noSecondPart.txt new file mode 100644 index 0000000..a0601cf --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/noSecondPart.txt @@ -0,0 +1,5 @@ +Aa +bB +C +d +-- \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/notContinous.txt b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/notContinous.txt new file mode 100644 index 0000000..532c89f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/notContinous.txt @@ -0,0 +1,6 @@ +Aa +bB +C +d +-- +Aa;bB;1;3 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/numberOverflow.txt b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/numberOverflow.txt new file mode 100644 index 0000000..c41d589 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/numberOverflow.txt @@ -0,0 +1,10 @@ +Aa +bB +C +d +-- +Aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;30000000000 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/numberZero.txt b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/numberZero.txt new file mode 100644 index 0000000..87f5380 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/graphs/numberZero.txt @@ -0,0 +1,5 @@ +C +d +-- +bB;C;5;2 +C;d;0;0 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/inputFile.txt b/Uni/Java/WS1516/Programmieren/Final02/bin/inputFile.txt new file mode 100644 index 0000000..75a1c70 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/inputFile.txt @@ -0,0 +1,15 @@ +Aa +bB +C +d +e +f +-- +Aa;bB;1;+003 +Aa;C;2;4 +Aa;d;11;20 +bb;D;1;1 +bB;C;5;2 +C;d;1;1 +d;e;1;1 +f;e;1;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/bagTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/bagTest.log new file mode 100644 index 0000000..ae64ae6 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/bagTest.log @@ -0,0 +1,53 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +OK +OK +0 1 2 3 4 5 6 7 9 10 11 12 13 14 15 +OK +0 1 2 3 4 5 6 7 9 10 11 12 13 14 +Error, there has been an issue with the number of parameters used with place (therefore turn will be reset) +0 1 2 3 4 5 6 7 9 10 11 12 13 14 15 +OK +OK +0 1 2 3 4 5 6 7 9 10 11 12 13 15 +OK +OK +0 1 2 3 4 5 6 7 9 10 11 12 15 +OK +OK +0 1 2 3 4 5 6 9 10 11 12 15 +OK +OK +0 1 2 3 4 5 9 10 11 12 15 +OK +OK +0 1 2 4 5 9 10 11 12 15 +OK +OK +0 1 4 5 9 10 11 12 15 +OK +OK +0 4 5 9 10 11 12 15 +OK +OK +0 4 5 9 11 12 15 +OK +OK +0 4 5 9 11 15 +OK +OK +0 5 9 11 15 +OK +OK +0 5 9 11 +OK +OK +0 5 11 +OK +OK +5 11 +OK +OK +11 +OK +draw + diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/drawTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/drawTest.log new file mode 100644 index 0000000..e06e961 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/drawTest.log @@ -0,0 +1,46 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +0 # 1 # 2 # +# 3 # 4 # 5 +# 6 # 7 # 8 +9 # 10 # 11 # +# 12 # 13 # 14 +# 15 # # # # +0 # # 9 # # +# 3 6 # 12 15 +1 # # 10 # # +# 4 7 # 13 # +2 # # 11 # # +# 5 8 # 14 # +Error, Game is over. Command illegal. +Error, Game is over. Command illegal. diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/draw_colprint_rowprintTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/draw_colprint_rowprintTest.log new file mode 100644 index 0000000..e24b255 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/draw_colprint_rowprintTest.log @@ -0,0 +1,51 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +draw +0 # 1 # 2 # +# 3 # 4 # 5 +# 6 # 7 # 8 +9 # 10 # 11 # +# 12 # 13 # 14 +# 15 # # # # +0 # # 9 # # +# 3 6 # 12 15 +1 # # 10 # # +# 4 7 # 13 # +2 # # 11 # # +# 5 8 # 14 # +Error, please use a valid command (valid commands: 'select ' 'bag' 'colprint ' 'rowprint ' 'place ;' 'quit' +Error, please use a valid command (valid commands: 'select ' 'bag' 'colprint ' 'rowprint ' 'place ;' 'quit' +Error, please use a valid command (valid commands: 'select ' 'bag' 'colprint ' 'rowprint ' 'place ;' 'quit' +Error, please use a valid command (valid commands: 'select ' 'bag' 'colprint ' 'rowprint ' 'place ;' 'quit' +Error, Game is over. Command illegal. +Error, Game is over. Command illegal. + diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/insertTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/insertTest.log new file mode 100644 index 0000000..bc509f5 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/insertTest.log @@ -0,0 +1,14 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, duplicate vertex found +Error, edge is allready contained +Error, not a number (format may be wrong or number might be to big) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +OK +OK diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/nodesInsertTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/nodesInsertTest.log new file mode 100644 index 0000000..b87d962 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/nodesInsertTest.log @@ -0,0 +1,10 @@ +Error, vertex not found +Aa +bB +d +OK +C +Aa +bB +d +ee diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/nodesRemoveTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/nodesRemoveTest.log new file mode 100644 index 0000000..23be1be --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/nodesRemoveTest.log @@ -0,0 +1,6 @@ +OK +C +C +d +Error, edge can't be removed +OK diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/nodesTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/nodesTest.log new file mode 100644 index 0000000..04acdba --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/nodesTest.log @@ -0,0 +1,18 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, vertex not found +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, vertex not found +Error, vertex not found +bB +C +d +bB +C +d +Aa +bB +d +Aa +C +Aa +C diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/place_standardTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/place_standardTest.log new file mode 100644 index 0000000..93a8167 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/place_standardTest.log @@ -0,0 +1,7 @@ +OK +OK +OK +Error, Coordinate(s) not on board (or allready occupied). +Error, 'select' has to be called before using this command again. +OK +Error, Coordinate(s) not on board (or allready occupied). diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/place_torusTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/place_torusTest.log new file mode 100644 index 0000000..e1b8a28 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/place_torusTest.log @@ -0,0 +1,10 @@ +OK +OK +OK +OK +Error, 'select' has to be called before using this command again. +OK +OK +OK +Error, there has been an issue with the number of parameters used with place (therefore turn will be reset) +OK diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/publicTestTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/publicTestTest.log new file mode 100644 index 0000000..7b54dfd --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/publicTestTest.log @@ -0,0 +1,10 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 +# 5 # # # # diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/removeTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/removeTest.log new file mode 100644 index 0000000..fcec023 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/removeTest.log @@ -0,0 +1,10 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +OK +OK +OK +OK +OK + diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/removeTillEmptyTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/removeTillEmptyTest.log new file mode 100644 index 0000000..e22e2cd --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/removeTillEmptyTest.log @@ -0,0 +1,6 @@ +OK +OK +OK +OK +OK + diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/removeTillNotCoherentTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/removeTillNotCoherentTest.log new file mode 100644 index 0000000..042c57e --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/removeTillNotCoherentTest.log @@ -0,0 +1,7 @@ +OK +OK +OK +OK +OK +Error, vertex not found +Error, edge contains vertices that have not been initilized diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/routeTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/routeTest.log new file mode 100644 index 0000000..692b9de --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/routeTest.log @@ -0,0 +1,97 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, vertex not found +Error, vertex not found +Error, vertex not found +Error, vertex not found +Aa +Aa +Aa +Aa +Aa bB +Aa bB +Aa bB +Aa bB +Aa C bB +Aa d C bB +Aa C +Aa C +Aa C +Aa bB C +Aa C +Aa d C +Aa C d +Aa C d +Aa C d +Aa bB C d +Aa C d +Aa d +bB +bB +bB +bB +bB Aa +bB Aa +bB Aa +bB Aa +bB C Aa +bB C d Aa +bB C +bB Aa C +bB C +bB Aa C +bB Aa d C +bB C +bB C d +bB Aa C d +bB C d +bB Aa C d +bB Aa d +bB C Aa d +bB C d +C +C +C +C +C Aa +C Aa +C Aa +C Aa +C bB Aa +C d Aa +C bB +C Aa bB +C bB +C Aa bB +C bB +C d Aa bB +C d +C d +C d +C Aa d +C bB Aa d +C d +d +d +d +d +d C Aa +d C Aa +d C Aa +d Aa +d C Aa +d C bB Aa +d C bB +d C Aa bB +d C bB +d Aa bB +d Aa C bB +d C Aa bB +d C bB +d C +d C +d C +d Aa bB C +d Aa C +d C diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/searchTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/searchTest.log new file mode 100644 index 0000000..193f551 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/searchTest.log @@ -0,0 +1,55 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, vertex not found +Error, vertex not found +Error, vertex not found +Error, vertex not found +0 +0 +0 +3 +1 +10 +4 +2 +20 +5 +5 +50 +0 +0 +0 +3 +1 +10 +2 +3 +29 +3 +6 +73 +0 +0 +0 +4 +2 +20 +2 +3 +29 +1 +3 +10 +0 +0 +0 +5 +5 +50 +3 +6 +73 +1 +3 +10 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/selectTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/selectTest.log new file mode 100644 index 0000000..8a1d0c3 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/selectTest.log @@ -0,0 +1,6 @@ +Error, please use a valid command (valid commands: 'select ' 'bag' 'colprint ' 'rowprint ' 'place ;' 'quit' +Error, please use a valid command (valid commands: 'select ' 'bag' 'colprint ' 'rowprint ' 'place ;' 'quit' +Error, please use a valid command (valid commands: 'select ' 'bag' 'colprint ' 'rowprint ' 'place ;' 'quit' +Error, please use a valid command (valid commands: 'select ' 'bag' 'colprint ' 'rowprint ' 'place ;' 'quit' +OK +Error, 'place' has to be called before using this command again. diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/select_negativeTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/select_negativeTest.log new file mode 100644 index 0000000..329f91b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/select_negativeTest.log @@ -0,0 +1 @@ +Error, please use a valid command (valid commands: 'select ' 'bag' 'colprint ' 'rowprint ' 'place ;' 'quit' diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/select_toBigTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/select_toBigTest.log new file mode 100644 index 0000000..329f91b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/select_toBigTest.log @@ -0,0 +1 @@ +Error, please use a valid command (valid commands: 'select ' 'bag' 'colprint ' 'rowprint ' 'place ;' 'quit' diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (1)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (1)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (1)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (10)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (10)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (10)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (11)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (11)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (11)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (12)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (12)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (12)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (13)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (13)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (13)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (14)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (14)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (14)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (15)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (15)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (15)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (16)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (16)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (16)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (2)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (2)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (2)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (3)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (3)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (3)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (4)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (4)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (4)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (5)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (5)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (5)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (6)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (6)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (6)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (7)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (7)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (7)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (8)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (8)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (8)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (9)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (9)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_black (9)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (1)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (1)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (1)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (10)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (10)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (10)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (11)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (11)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (11)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (12)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (12)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (12)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (13)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (13)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (13)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (14)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (14)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (14)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (15)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (15)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (15)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (16)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (16)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (16)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (2)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (2)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (2)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (3)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (3)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (3)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (4)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (4)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (4)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (5)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (5)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (5)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (6)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (6)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (6)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (7)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (7)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (7)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (8)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (8)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (8)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (9)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (9)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgy (9)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgyTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgyTest.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_edgyTest.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_hollowTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_hollowTest.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_hollowTest.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_largeTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_largeTest.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_largeTest.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_massiveTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_massiveTest.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_massiveTest.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (1)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (1)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (1)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (10)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (10)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (10)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (11)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (11)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (11)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (12)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (12)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (12)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (13)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (13)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (13)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (14)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (14)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (14)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (15)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (15)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (15)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (16)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (16)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (16)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (2)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (2)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (2)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (3)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (3)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (3)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (4)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (4)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (4)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (5)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (5)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (5)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (6)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (6)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (6)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (7)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (7)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (7)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (8)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (8)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (8)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (9)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (9)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_round (9)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_roundTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_roundTest.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_roundTest.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_smallTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_smallTest.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_smallTest.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (1)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (1)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (1)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (10)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (10)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (10)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (11)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (11)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (11)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (12)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (12)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (12)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (13)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (13)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (13)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (14)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (14)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (14)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (15)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (15)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (15)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (16)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (16)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (16)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (2)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (2)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (2)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (3)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (3)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (3)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (4)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (4)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (4)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (5)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (5)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (5)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (6)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (6)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (6)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (7)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (7)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (7)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (8)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (8)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (8)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (9)Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (9)Test.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_white (9)Test.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_whiteTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_whiteTest.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/standard_whiteTest.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/test1Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/test1Test.log new file mode 100644 index 0000000..a23c7c9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/test1Test.log @@ -0,0 +1 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/test2Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/test2Test.log new file mode 100644 index 0000000..a23c7c9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/test2Test.log @@ -0,0 +1 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_horizontalTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_horizontalTest.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_horizontalTest.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_topLeftTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_topLeftTest.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_topLeftTest.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_topRightTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_topRightTest.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_topRightTest.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_verticalTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_verticalTest.log new file mode 100644 index 0000000..b15c47a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/torus_verticalTest.log @@ -0,0 +1,9 @@ +OK +OK +OK +OK +OK +OK +OK +P1 wins +3 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/treeGraphTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/treeGraphTest.log new file mode 100644 index 0000000..8986d12 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/treeGraphTest.log @@ -0,0 +1,68 @@ +A +B +C +D +E +F +G +-- +A;B;2;5 +A;C;100;2 +B;D;100;60 +B;E;300;20 +C;F;4;4 +C;G;20;6 +B +C +A +D +E +A +F +G +B +B +C +C +A B +A B +A B +A B +5 +2 +29 +A C +A C +A C +A C +2 +100 +10004 +A B D +A B D +A B D +A B D +65 +102 +14629 +A B E +A B E +A B E +A B E +25 +302 +91829 +A C F +A C F +A C F +A C F +6 +104 +10852 +A C G +A C G +A C G +A C G +8 +120 +14464 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_10Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_10Test.log new file mode 100644 index 0000000..63ccb70 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_10Test.log @@ -0,0 +1,23 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +P2 wins +10 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_11Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_11Test.log new file mode 100644 index 0000000..2fc3b8d --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_11Test.log @@ -0,0 +1,25 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +P1 wins +11 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_12Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_12Test.log new file mode 100644 index 0000000..bf779ef --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_12Test.log @@ -0,0 +1,27 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +P2 wins +12 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_13Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_13Test.log new file mode 100644 index 0000000..cfbf896 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_13Test.log @@ -0,0 +1,29 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +P1 wins +13 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_14Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_14Test.log new file mode 100644 index 0000000..5343b07 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_14Test.log @@ -0,0 +1,31 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +P2 wins +14 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_15Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_15Test.log new file mode 100644 index 0000000..081a062 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_15Test.log @@ -0,0 +1,33 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +P1 wins +15 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_3Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_3Test.log new file mode 100644 index 0000000..a2840e4 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_3Test.log @@ -0,0 +1,11 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +P2 wins +4 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_4Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_4Test.log new file mode 100644 index 0000000..a2840e4 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_4Test.log @@ -0,0 +1,11 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +P2 wins +4 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_5Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_5Test.log new file mode 100644 index 0000000..2cd3082 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_5Test.log @@ -0,0 +1,13 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +P1 wins +5 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_6Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_6Test.log new file mode 100644 index 0000000..4339f81 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_6Test.log @@ -0,0 +1,15 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +P2 wins +6 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_7Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_7Test.log new file mode 100644 index 0000000..657852b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_7Test.log @@ -0,0 +1,17 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +P1 wins +7 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_8Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_8Test.log new file mode 100644 index 0000000..fcce324 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_8Test.log @@ -0,0 +1,19 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +P2 wins +8 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_9Test.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_9Test.log new file mode 100644 index 0000000..422789f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_9Test.log @@ -0,0 +1,21 @@ +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +OK +P1 wins +9 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_errorTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_errorTest.log new file mode 100644 index 0000000..cb491cf --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/turncount_errorTest.log @@ -0,0 +1,19 @@ +OK +OK +OK +OK +OK +OK +OK +Error, there has been an issue with the number of parameters used with place (therefore turn will be reset) +OK +Error, Coordinate(s) not on board (or allready occupied). +OK +Error, For input string: "x" +OK +OK +OK +OK +OK +P1 wins +5 diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/logs/verticesTest.log b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/verticesTest.log new file mode 100644 index 0000000..17427b0 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/logs/verticesTest.log @@ -0,0 +1,12 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Aa +bB +C +d +OK +OK +OK +OK +OK + diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/nodes.test b/Uni/Java/WS1516/Programmieren/Final02/bin/nodes.test new file mode 100644 index 0000000..8ba3e32 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/nodes.test @@ -0,0 +1,22 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#Errors +00err : "nodes " +00err : "nodes null" +00err : "nodes ;;" +00err : "nodes e" +00err : "nodes cc" + +#Nodes of all +"bB +C +d" : "nodes Aa" +"bB +C +d" : "nodes aa" +"Aa +bB +d" : "nodes C" +"Aa +C" : "nodes d" +"Aa +C" : "nodes bB" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/nodesInsert.test b/Uni/Java/WS1516/Programmieren/Final02/bin/nodesInsert.test new file mode 100644 index 0000000..0a8bd24 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/nodesInsert.test @@ -0,0 +1,11 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +00err : "nodes ee" +"Aa +bB +d" : "nodes C" +"OK" : "insert C;ee;2;13" +"C" : "nodes ee" +"Aa +bB +d +ee" : "nodes C" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/nodesRemove.test b/Uni/Java/WS1516/Programmieren/Final02/bin/nodesRemove.test new file mode 100644 index 0000000..cbe1bcb --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/nodesRemove.test @@ -0,0 +1,7 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +"OK" : "remove bB;Aa" +"C" : "nodes bB" +"C +d" : "nodes Aa" +00err : "remove Aa;bB" +"OK" : "remove C;Aa" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/place_standard.test b/Uni/Java/WS1516/Programmieren/Final02/bin/place_standard.test new file mode 100644 index 0000000..819cf4c --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/place_standard.test @@ -0,0 +1,8 @@ +<"standard"> +"OK" : "select 0" +"OK" : "place 1;1" +"OK" : "select 1" +00err : "place 1;-1" +00err : "place 2;2" +"OK" : "select 1" +00err : "place 6;0" diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/place_torus.test b/Uni/Java/WS1516/Programmieren/Final02/bin/place_torus.test new file mode 100644 index 0000000..94b3327 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/place_torus.test @@ -0,0 +1,11 @@ +<"torus"> +"OK" : "select 0" +"OK" : "place 1;1" +"OK" : "select 1" +"OK" : "place 1;-1" +00err : "place 2;2" +"OK" : "select 2" +"OK" : "place 6;6" +"OK" : "select 3" +00err : "place" +"OK" : "select 3" diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/publicTest.test b/Uni/Java/WS1516/Programmieren/Final02/bin/publicTest.test new file mode 100644 index 0000000..b58f274 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/publicTest.test @@ -0,0 +1,15 @@ +<"torus"> +"OK" : "select 11" +"OK" : "place 1;4" + +"OK" : "select 7" +"OK" : "place 3;0" + +"OK" : "select 5" +"OK" : "place 4;1" + +"OK" : "select 15" +"P1 wins +3" : "place 2;5" + +"# 5 # # # #" : "rowprint 4" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/remove.test b/Uni/Java/WS1516/Programmieren/Final02/bin/remove.test new file mode 100644 index 0000000..d5dcc3b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/remove.test @@ -0,0 +1,16 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#init +#Errors +00err : "remove " +00err : "remove null;" +00err : "remove null;null;null" +00err : "remove ;" + +"OK" : "remove C;d" +"OK" : "remove bB;C" +"OK" : "remove d;aa" +"OK" : "remove aa;c" +"OK" : "remove aa;bb" + +" +" : "info" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/removeTillEmpty.test b/Uni/Java/WS1516/Programmieren/Final02/bin/removeTillEmpty.test new file mode 100644 index 0000000..980746f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/removeTillEmpty.test @@ -0,0 +1,9 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +"OK" : "remove C;bB" +"OK" : "remove C;d" +"OK" : "remove Aa;d" +"OK" : "remove Aa;bB" +"OK" : "remove Aa;C" + +" +" : "info" diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/removeTillNotCoherent.test b/Uni/Java/WS1516/Programmieren/Final02/bin/removeTillNotCoherent.test new file mode 100644 index 0000000..3a50bf1 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/removeTillNotCoherent.test @@ -0,0 +1,8 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +"OK" : "remove bB;C" +"!Cok" : "remove C;d" +"OK" : "remove Aa;d" +"OK" : "remove Aa;C" +"OK" : "remove Aa;bB" +00err : "nodes Aa" +00err : "insert Aa;ee;10;5" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/route.test b/Uni/Java/WS1516/Programmieren/Final02/bin/route.test new file mode 100644 index 0000000..8cdba66 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/route.test @@ -0,0 +1,120 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#72 Testcases +#Errors +00err : "route " +00err : "route null;null;null" +00err : "route null;null;null;null" +00err : "route null;null;time" +00err : "route null;null;route" +00err : "route null;null;optimal" +00err : "route ceee;deeee;optimal;" + +#Aa to all others +"Aa" : "route Aa;Aa;time" +"Aa" : "route Aa;Aa;route" +"Aa" : "route Aa;Aa;optimal" +"Aa" : "route Aa;Aa;all" + +"Aa bB" : "route Aa;bB;time" +"Aa bB" : "route Aa;bB;route" +"Aa bB" : "route Aa;bB;optimal" +"Aa bB +Aa C bB +Aa d C bB" : "route Aa;bB;all" + +"Aa C" : "route Aa;C;time" +"Aa C" : "route Aa;C;route" +"Aa C" : "route Aa;C;optimal" +"Aa bB C +Aa C +Aa d C" : "route Aa;C;all" + +"Aa C d" : "route Aa;d;time" +"Aa C d" : "route Aa;d;route" +"Aa C d" : "route Aa;d;optimal" +"Aa bB C d +Aa C d +Aa d" : "route Aa;d;all" + +#bB to all others +"bB" : "route bB;bB;time" +"bB" : "route bB;bB;route" +"bB" : "route bB;bB;optimal" +"bB" : "route bB;bB;all" + +"bB Aa" : "route bB;Aa;time" +"bB Aa" : "route bB;Aa;route" +"bB Aa" : "route bB;Aa;optimal" +"bB Aa +bB C Aa +bB C d Aa" : "route bB;Aa;all" + +"bB C" : "route bB;C;time" +"bB Aa C" : "route bB;C;route" +"bB C" : "route bB;C;optimal" +"bB Aa C +bB Aa d C +bB C" : "route bB;C;all" + +"bB C d" : "route bB;d;time" +"bB Aa C d" : "route bB;d;route" +"bB C d" : "route bB;d;optimal" +"bB Aa C d +bB Aa d +bB C Aa d +bB C d" : "route bB;d;all" + +#C to all others +"C" : "route C;C;time" +"C" : "route C;C;route" +"C" : "route C;C;optimal" +"C" : "route C;C;all" + +"C Aa" : "route C;Aa;time" +"C Aa" : "route C;Aa;route" +"C Aa" : "route C;Aa;optimal" +"C Aa +C bB Aa +C d Aa" : "route C;Aa;all" + +"C bB" : "route C;bB;time" +"C Aa bB" : "route C;bB;route" +"C bB" : "route C;bB;optimal" +"C Aa bB +C bB +C d Aa bB" : "route C;bB;all" + +"C d" : "route C;d;time" +"C d" : "route C;d;route" +"C d" : "route C;d;optimal" +"C Aa d +C bB Aa d +C d" : "route C;d;all" + +#d to all others +"d" : "route d;d;time" +"d" : "route d;d;route" +"d" : "route d;d;optimal" +"d" : "route d;d;all" + +"d C Aa" : "route d;Aa;time" +"d C Aa" : "route d;Aa;route" +"d C Aa" : "route d;Aa;optimal" +"d Aa +d C Aa +d C bB Aa" : "route d;Aa;all" + +"d C bB" : "route d;bB;time" +"d C Aa bB" : "route d;bB;route" +"d C bB" : "route d;bB;optimal" +"d Aa bB +d Aa C bB +d C Aa bB +d C bB" : "route d;bB;all" + +"d C" : "route d;C;time" +"d C" : "route d;C;route" +"d C" : "route d;C;optimal" +"d Aa bB C +d Aa C +d C" : "route d;C;all" diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest1.test b/Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest1.test new file mode 100644 index 0000000..ca87302 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest1.test @@ -0,0 +1,19 @@ +<"torus"> +"OK" : "select 14" +"OK" : "place 0;1" + +"OK" : "select 13" +"OK" : "place 5;0" + +"OK" : "select 15" +"OK" : "place 2;3" + +"OK" : "select 12" +"P1 wins +3" : "place 1;2" + +"13 # # # # #" : "rowprint 5" +"# # # # # 13" : "colprint 0" + +"# 14 # # # #" : "rowprint 0" +"14 # # # # #" : "colprint 1" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest2.test b/Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest2.test new file mode 100644 index 0000000..c315bfb --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest2.test @@ -0,0 +1,13 @@ +<"torus"> +"OK" : "select 4" +"OK" : "place 0;0" + +"OK" : "select 8" +"OK" : "place 0;1" + +"OK" : "select 9" +"OK" : "place 0;4" + +"OK" : "select 5" +"P1 wins +3" : "place 0;5" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest3.test b/Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest3.test new file mode 100644 index 0000000..29f2b32 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest3.test @@ -0,0 +1,19 @@ +<"torus"> +"OK" : "select 4" +"OK" : "place 0;2" + +"OK" : "select 8" +"OK" : "place 1;2" + +"OK" : "select 9" +"OK" : "place 3;2" + +"OK" : "select 5" +"OK" : "place 5;2" + +"OK" : "select 13" +"P2 wins +4" : "place 4;2" + +00err : "colprint -3" +00err : "rowprint -5" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest4.test b/Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest4.test new file mode 100644 index 0000000..850eb36 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/samsTorusTest4.test @@ -0,0 +1,19 @@ +<"torus"> +"OK" : "select 4" +"OK" : "place 0;5" + +"OK" : "select 8" +"OK" : "place 1;4" + +"OK" : "select 9" +"OK" : "place 5;0" + +"OK" : "select 5" +"OK" : "place 3;2" + +"OK" : "select 13" +"P2 wins +4" : "place 4;1" + +00err : "colprint -3" +00err : "rowprint -5" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/search.test b/Uni/Java/WS1516/Programmieren/Final02/bin/search.test new file mode 100644 index 0000000..6b13d14 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/search.test @@ -0,0 +1,78 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#55 Testcases +#Errors +00err : "search " +00err : "search null;null;null" +00err : "search null;null;null;null" +00err : "search null;null;time" +00err : "search null;null;route" +00err : "search null;null;optimal" +00err : "search ceee;deeee;optimal;" + +#Aa to all others +0 : "search Aa;Aa;time" +0 : "search Aa;Aa;route" +0 : "search Aa;Aa;optimal" + +3 : "search Aa;bB;time" +1 : "search Aa;bB;route" +10 : "search Aa;bB;optimal" + +4 : "search Aa;C;time" +2 : "search Aa;C;route" +20 : "search Aa;C;optimal" + +5 : "search Aa;d;time" +5 : "search Aa;d;route" +50 : "search Aa;d;optimal" + +#bB to all others +0 : "search bB;bB;time" +0 : "search bB;bB;route" +0 : "search bB;bB;optimal" + +3 : "search bB;Aa;time" +1 : "search bB;Aa;route" +10 : "search bB;Aa;optimal" + +2 : "search bB;C;time" +3 : "search bB;C;route" +29 : "search bB;C;optimal" + +3 : "search bB;d;time" +6 : "search bB;d;route" +73 : "search bB;d;optimal" + +#C to all others +0 : "search C;C;time" +0 : "search C;C;route" +0 : "search C;C;optimal" + +4 : "search C;Aa;time" +2 : "search C;Aa;route" +20 : "search C;Aa;optimal" + +2 : "search C;bB;time" +3 : "search C;bB;route" +29 : "search C;bB;optimal" + +1 : "search C;d;time" +3 : "search C;d;route" +10 : "search C;d;optimal" + +#d to all others +0 : "search d;d;time" +0 : "search d;d;route" +0 : "search d;d;optimal" + +5 : "search d;Aa;time" +5 : "search d;Aa;route" +50 : "search d;Aa;optimal" + +3 : "search d;bB;time" +6 : "search d;bB;route" +73 : "search d;bB;optimal" + +1 : "search d;C;time" +3 : "search d;C;route" +10 : "search d;C;optimal" diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/select.test b/Uni/Java/WS1516/Programmieren/Final02/bin/select.test new file mode 100644 index 0000000..d1dc272 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/select.test @@ -0,0 +1,7 @@ +<"torus"> +00err : "select" +00err : "select +" +00err : "select x;1" +00err : "select 0002;23" +"OK" : "select 0" +00err : "select 1" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/select_negative.test b/Uni/Java/WS1516/Programmieren/Final02/bin/select_negative.test new file mode 100644 index 0000000..3ae5839 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/select_negative.test @@ -0,0 +1,2 @@ +<"torus"> +00err : "select -1" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/select_toBig.test b/Uni/Java/WS1516/Programmieren/Final02/bin/select_toBig.test new file mode 100644 index 0000000..40296d7 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/select_toBig.test @@ -0,0 +1,2 @@ +<"torus"> +00err : "select 16" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (1).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (1).test new file mode 100644 index 0000000..46921e5 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (1).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 0;0" +"OK" : "select 6" +"OK" : "place 3;3" +"OK" : "select 2" +"OK" : "place 2;2" +"OK" : "select 3" +"P1 wins +3" : "place 1;1" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (10).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (10).test new file mode 100644 index 0000000..588729f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (10).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 0;1" +"OK" : "select 6" +"OK" : "place 0;2" +"OK" : "select 2" +"OK" : "place 0;3" +"OK" : "select 3" +"P1 wins +3" : "place 0;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (11).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (11).test new file mode 100644 index 0000000..d6326f3 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (11).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 0;0" +"OK" : "select 6" +"OK" : "place 0;3" +"OK" : "select 2" +"OK" : "place 0;1" +"OK" : "select 3" +"P1 wins +3" : "place 0;2" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (12).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (12).test new file mode 100644 index 0000000..eb81f0c --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (12).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 0;0" +"OK" : "select 6" +"OK" : "place 0;2" +"OK" : "select 2" +"OK" : "place 0;1" +"OK" : "select 3" +"P1 wins +3" : "place 0;3" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (13).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (13).test new file mode 100644 index 0000000..10a11e5 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (13).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 0;0" +"OK" : "select 6" +"OK" : "place 2;0" +"OK" : "select 2" +"OK" : "place 3;0" +"OK" : "select 3" +"P1 wins +3" : "place 1;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (14).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (14).test new file mode 100644 index 0000000..e656f2b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (14).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 1;0" +"OK" : "select 6" +"OK" : "place 2;0" +"OK" : "select 2" +"OK" : "place 3;0" +"OK" : "select 3" +"P1 wins +3" : "place 0;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (15).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (15).test new file mode 100644 index 0000000..12845ce --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (15).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 0;0" +"OK" : "select 6" +"OK" : "place 3;0" +"OK" : "select 2" +"OK" : "place 1;0" +"OK" : "select 3" +"P1 wins +3" : "place 2;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (16).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (16).test new file mode 100644 index 0000000..1a0e013 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (16).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 0;0" +"OK" : "select 6" +"OK" : "place 2;0" +"OK" : "select 2" +"OK" : "place 1;0" +"OK" : "select 3" +"P1 wins +3" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (2).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (2).test new file mode 100644 index 0000000..afa856d --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (2).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 0;0" +"OK" : "select 6" +"OK" : "place 1;1" +"OK" : "select 2" +"OK" : "place 2;2" +"OK" : "select 3" +"P1 wins +3" : "place 3;3" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (3).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (3).test new file mode 100644 index 0000000..900833c --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (3).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 0;0" +"OK" : "select 6" +"OK" : "place 1;1" +"OK" : "select 2" +"OK" : "place 3;3" +"OK" : "select 3" +"P1 wins +3" : "place 2;2" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (4).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (4).test new file mode 100644 index 0000000..2733624 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (4).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 1;1" +"OK" : "select 6" +"OK" : "place 3;3" +"OK" : "select 2" +"OK" : "place 2;2" +"OK" : "select 3" +"P1 wins +3" : "place 0;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (5).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (5).test new file mode 100644 index 0000000..3ee93ae --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (5).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 0;5" +"OK" : "select 6" +"OK" : "place 1;4" +"OK" : "select 2" +"OK" : "place 3;2" +"OK" : "select 3" +"P1 wins +3" : "place 2;3" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (6).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (6).test new file mode 100644 index 0000000..dcf855d --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (6).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 0;5" +"OK" : "select 6" +"OK" : "place 1;4" +"OK" : "select 2" +"OK" : "place 2;3" +"OK" : "select 3" +"P1 wins +3" : "place 3;2" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (7).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (7).test new file mode 100644 index 0000000..51b9095 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (7).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 0;5" +"OK" : "select 6" +"OK" : "place 3;2" +"OK" : "select 2" +"OK" : "place 2;3" +"OK" : "select 3" +"P1 wins +3" : "place 1;4" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (8).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (8).test new file mode 100644 index 0000000..1235b3c --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (8).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 1;4" +"OK" : "select 6" +"OK" : "place 3;2" +"OK" : "select 2" +"OK" : "place 2;3" +"OK" : "select 3" +"P1 wins +3" : "place 0;5" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (9).test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (9).test new file mode 100644 index 0000000..7945933 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_black (9).test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 7" +"OK" : "place 0;0" +"OK" : "select 6" +"OK" : "place 0;2" +"OK" : "select 2" +"OK" : "place 0;3" +"OK" : "select 3" +"P1 wins +3" : "place 0;1" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_edgy.test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_edgy.test new file mode 100644 index 0000000..90be00b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_edgy.test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 0" +"OK" : "place 0;5" +"OK" : "select 3" +"OK" : "place 1;4" +"OK" : "select 10" +"OK" : "place 2;3" +"OK" : "select 11" +"P1 wins +3" : "place 3;2" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_hollow.test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_hollow.test new file mode 100644 index 0000000..a86a24f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_hollow.test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 0" +"OK" : "place 0;0" +"OK" : "select 14" +"OK" : "place 1;1" +"OK" : "select 12" +"OK" : "place 2;2" +"OK" : "select 8" +"P1 wins +3" : "place 3;3" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_large.test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_large.test new file mode 100644 index 0000000..13f1edd --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_large.test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 3" +"OK" : "place 0;5" +"OK" : "select 15" +"OK" : "place 3;2" +"OK" : "select 11" +"OK" : "place 2;3" +"OK" : "select 7" +"P1 wins +3" : "place 1;4" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_massive.test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_massive.test new file mode 100644 index 0000000..7ca2414 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_massive.test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 1" +"OK" : "place 0;0" +"OK" : "select 15" +"OK" : "place 3;0" +"OK" : "select 9" +"OK" : "place 1;0" +"OK" : "select 11" +"P1 wins +3" : "place 2;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_round.test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_round.test new file mode 100644 index 0000000..774deeb --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_round.test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 15" +"OK" : "place 1;1" +"OK" : "select 4" +"OK" : "place 3;3" +"OK" : "select 5" +"OK" : "place 2;2" +"OK" : "select 12" +"P1 wins +3" : "place 0;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_small.test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_small.test new file mode 100644 index 0000000..cc077cf --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_small.test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 0" +"OK" : "place 0;0" +"OK" : "select 13" +"OK" : "place 2;0" +"OK" : "select 5" +"OK" : "place 3;0" +"OK" : "select 9" +"P1 wins +3" : "place 1;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/standard_white.test b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_white.test new file mode 100644 index 0000000..f98faf9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/standard_white.test @@ -0,0 +1,10 @@ +<"standard"> +"OK" : "select 8" +"OK" : "place 0;0" +"OK" : "select 14" +"OK" : "place 2;0" +"OK" : "select 13" +"OK" : "place 1;0" +"OK" : "select 11" +"P1 wins +3" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/test.graph b/Uni/Java/WS1516/Programmieren/Final02/bin/test.graph new file mode 100644 index 0000000..ebdc5cc --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/test.graph @@ -0,0 +1,10 @@ +Aa +bB +C +d +-- +Aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/testsuite.zip b/Uni/Java/WS1516/Programmieren/Final02/bin/testsuite.zip new file mode 100644 index 0000000000000000000000000000000000000000..d0079a551eeb5d4127a17d9dd9fd8d9c2a0a4ca1 GIT binary patch literal 6816 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 +"OK" : "select 2" +"OK" : "place 0;4" +"OK" : "select 15" +"OK" : "place 0;0" +"OK" : "select 7" +"OK" : "place 0;1" +"OK" : "select 11" +"P1 wins +3" : "place 0;5" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/torus_topLeft.test b/Uni/Java/WS1516/Programmieren/Final02/bin/torus_topLeft.test new file mode 100644 index 0000000..8c08a7d --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/torus_topLeft.test @@ -0,0 +1,10 @@ +<"torus"> +"OK" : "select 0" +"OK" : "place 0;4" +"OK" : "select 3" +"OK" : "place 5;3" +"OK" : "select 11" +"OK" : "place 2;0" +"OK" : "select 10" +"P1 wins +3" : "place 1;5" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/torus_topRight.test b/Uni/Java/WS1516/Programmieren/Final02/bin/torus_topRight.test new file mode 100644 index 0000000..9917866 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/torus_topRight.test @@ -0,0 +1,10 @@ +<"torus"> +"OK" : "select 6" +"OK" : "place 0;1" +"OK" : "select 2" +"OK" : "place 2;5" +"OK" : "select 3" +"OK" : "place 5;2" +"OK" : "select 7" +"P1 wins +3" : "place 1;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/torus_vertical.test b/Uni/Java/WS1516/Programmieren/Final02/bin/torus_vertical.test new file mode 100644 index 0000000..98e005f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/torus_vertical.test @@ -0,0 +1,10 @@ +<"torus"> +"OK" : "select 12" +"OK" : "place 4;2" +"OK" : "select 8" +"OK" : "place 0;2" +"OK" : "select 14" +"OK" : "place 1;2" +"OK" : "select 0" +"P1 wins +3" : "place 5;2" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/treeGraph.graph b/Uni/Java/WS1516/Programmieren/Final02/bin/treeGraph.graph new file mode 100644 index 0000000..773b01b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/treeGraph.graph @@ -0,0 +1,14 @@ +A +B +C +D +E +F +G +-- +A;B;2;5 +A;C;100;2 +B;D;100;60 +B;E;300;20 +C;F;4;4 +C;G;20;6 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/treeGraph.test b/Uni/Java/WS1516/Programmieren/Final02/bin/treeGraph.test new file mode 100644 index 0000000..69d5c7c --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/treeGraph.test @@ -0,0 +1,80 @@ +<"C:\Eclipse\workspace\Final01\tests\treeGraph.graph"> +#Init test +"A +B +C +D +E +F +G +-- +A;B;2;5 +A;C;100;2 +B;D;100;60 +B;E;300;20 +C;F;4;4 +C;G;20;6" : "info" + +#Nodes +"B +C" : "nodes A" +"A +D +E" : "nodes B" +"A +F +G" : "nodes C" +"B" : "nodes D" +"B" : "nodes E" +"C" : "nodes F" +"C" : "nodes G" + +#Routes +#From root +"A B" : "route A;B;time" +"A B" : "route A;B;route" +"A B" : "route A;B;optimal" +"A B" : "route A;B;all" +5 : "search A;B;time" +2 : "search A;B;route" +29 : "search A;B;optimal" + +"A C" : "route A;C;time" +"A C" : "route A;C;route" +"A C" : "route A;C;optimal" +"A C" : "route A;C;all" +2 : "search A;C;time" +100 : "search A;C;route" +10004 : "search A;C;optimal" + +"A B D" : "route A;D;time" +"A B D" : "route A;D;route" +"A B D" : "route A;D;optimal" +"A B D" : "route A;D;all" +65 : "search A;D;time" +102 : "search A;D;route" +14629 : "search A;D;optimal" + +"A B E" : "route A;E;time" +"A B E" : "route A;E;route" +"A B E" : "route A;E;optimal" +"A B E" : "route A;E;all" +25 : "search A;E;time" +302 : "search A;E;route" +91829 : "search A;E;optimal" + +"A C F" : "route A;F;time" +"A C F" : "route A;F;route" +"A C F" : "route A;F;optimal" +"A C F" : "route A;F;all" +6 : "search A;F;time" +104 : "search A;F;route" +10852 : "search A;F;optimal" + +"A C G" : "route A;G;time" +"A C G" : "route A;G;route" +"A C G" : "route A;G;optimal" +"A C G" : "route A;G;all" +8 : "search A;G;time" +120 : "search A;G;route" +14464 : "search A;G;optimal" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_10.test b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_10.test new file mode 100644 index 0000000..873610f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_10.test @@ -0,0 +1,30 @@ +<"standard"> +"OK" : "select 8" +"OK" : "place 4;0" +"OK" : "select 14" +"OK" : "place 2;0" +"OK" : "select 13" +"OK" : "place 1;0" + + +"OK" : "select 7" +"OK" : "place 4;1" +"OK" : "select 6" +"OK" : "place 5;1" +"OK" : "select 3" +"OK" : "place 0;1" +"OK" : "select 2" +"OK" : "place 1;1" + +"OK" : "select 1" +"OK" : "place 2;2" +"OK" : "select 10" +"OK" : "place 3;2" + +"OK" : "select 12" +"OK" : "place 4;3" + + +"OK" : "select 11" +"P2 wins +10" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_11.test b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_11.test new file mode 100644 index 0000000..cc1f387 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_11.test @@ -0,0 +1,33 @@ +<"standard"> +"OK" : "select 8" +"OK" : "place 4;0" +"OK" : "select 14" +"OK" : "place 2;0" +"OK" : "select 13" +"OK" : "place 1;0" + + +"OK" : "select 7" +"OK" : "place 4;1" +"OK" : "select 6" +"OK" : "place 5;1" +"OK" : "select 3" +"OK" : "place 0;1" +"OK" : "select 2" +"OK" : "place 1;1" + +"OK" : "select 1" +"OK" : "place 2;2" +"OK" : "select 10" +"OK" : "place 3;2" + +"OK" : "select 12" +"OK" : "place 4;3" +"OK" : "select 4" +"OK" : "place 5;3" + + + +"OK" : "select 11" +"P1 wins +11" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_12.test b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_12.test new file mode 100644 index 0000000..c1757f2 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_12.test @@ -0,0 +1,34 @@ +<"standard"> +"OK" : "select 8" +"OK" : "place 4;0" +"OK" : "select 14" +"OK" : "place 2;0" +"OK" : "select 13" +"OK" : "place 1;0" + + +"OK" : "select 7" +"OK" : "place 4;1" +"OK" : "select 6" +"OK" : "place 5;1" +"OK" : "select 3" +"OK" : "place 0;1" +"OK" : "select 2" +"OK" : "place 1;1" + +"OK" : "select 1" +"OK" : "place 2;2" +"OK" : "select 10" +"OK" : "place 3;2" + +"OK" : "select 12" +"OK" : "place 4;3" +"OK" : "select 4" +"OK" : "place 5;3" +"OK" : "select 15" +"OK" : "place 0;3" + + +"OK" : "select 11" +"P2 wins +12" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_13.test b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_13.test new file mode 100644 index 0000000..ed65ee4 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_13.test @@ -0,0 +1,36 @@ +<"standard"> +"OK" : "select 8" +"OK" : "place 4;0" +"OK" : "select 14" +"OK" : "place 2;0" +"OK" : "select 13" +"OK" : "place 1;0" + + +"OK" : "select 7" +"OK" : "place 4;1" +"OK" : "select 6" +"OK" : "place 5;1" +"OK" : "select 3" +"OK" : "place 0;1" +"OK" : "select 2" +"OK" : "place 1;1" + +"OK" : "select 1" +"OK" : "place 2;2" +"OK" : "select 10" +"OK" : "place 3;2" + +"OK" : "select 12" +"OK" : "place 4;3" +"OK" : "select 4" +"OK" : "place 5;3" +"OK" : "select 15" +"OK" : "place 0;3" +"OK" : "select 9" +"OK" : "place 1;3" + + +"OK" : "select 11" +"P1 wins +13" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_14.test b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_14.test new file mode 100644 index 0000000..52458a4 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_14.test @@ -0,0 +1,39 @@ +<"standard"> +"OK" : "select 8" +"OK" : "place 4;0" +"OK" : "select 14" +"OK" : "place 2;0" +"OK" : "select 13" +"OK" : "place 1;0" + + +"OK" : "select 7" +"OK" : "place 4;1" +"OK" : "select 6" +"OK" : "place 5;1" +"OK" : "select 3" +"OK" : "place 0;1" +"OK" : "select 2" +"OK" : "place 1;1" + +"OK" : "select 1" +"OK" : "place 2;2" +"OK" : "select 10" +"OK" : "place 3;2" + +"OK" : "select 12" +"OK" : "place 4;3" +"OK" : "select 4" +"OK" : "place 5;3" +"OK" : "select 15" +"OK" : "place 0;3" +"OK" : "select 9" +"OK" : "place 1;3" + +"OK" : "select 0" +"OK" : "place 3;4" + + +"OK" : "select 11" +"P2 wins +14" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_15.test b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_15.test new file mode 100644 index 0000000..ae5dfa9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_15.test @@ -0,0 +1,42 @@ +<"standard"> +"OK" : "select 8" +"OK" : "place 4;0" +"OK" : "select 14" +"OK" : "place 2;0" +"OK" : "select 13" +"OK" : "place 1;0" + + +"OK" : "select 7" +"OK" : "place 4;1" +"OK" : "select 6" +"OK" : "place 5;1" +"OK" : "select 3" +"OK" : "place 0;1" +"OK" : "select 2" +"OK" : "place 1;1" + +"OK" : "select 1" +"OK" : "place 2;2" +"OK" : "select 10" +"OK" : "place 3;2" + +"OK" : "select 12" +"OK" : "place 4;3" +"OK" : "select 4" +"OK" : "place 5;3" +"OK" : "select 15" +"OK" : "place 0;3" +"OK" : "select 9" +"OK" : "place 1;3" + +"OK" : "select 0" +"OK" : "place 3;4" +"OK" : "select 5" +"OK" : "place 2;4" + + + +"OK" : "select 11" +"P1 wins +15" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_4.test b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_4.test new file mode 100644 index 0000000..046d554 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_4.test @@ -0,0 +1,14 @@ +<"standard"> +"OK" : "select 8" +"OK" : "place 0;0" +"OK" : "select 14" +"OK" : "place 2;0" +"OK" : "select 13" +"OK" : "place 1;0" + +"OK" : "select 7" +"OK" : "place 4;1" + +"OK" : "select 11" +"P2 wins +4" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_5.test b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_5.test new file mode 100644 index 0000000..220932d --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_5.test @@ -0,0 +1,17 @@ +<"standard"> +"OK" : "select 8" +"OK" : "place 4;0" +"OK" : "select 14" +"OK" : "place 2;0" +"OK" : "select 13" +"OK" : "place 1;0" + +"OK" : "select 7" +"OK" : "place 4;1" +"OK" : "select 6" +"OK" : "place 5;1" + + +"OK" : "select 11" +"P1 wins +5" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_6.test b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_6.test new file mode 100644 index 0000000..02ca49a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_6.test @@ -0,0 +1,20 @@ +<"standard"> +"OK" : "select 8" +"OK" : "place 4;0" +"OK" : "select 14" +"OK" : "place 2;0" +"OK" : "select 13" +"OK" : "place 1;0" + + +"OK" : "select 7" +"OK" : "place 4;1" +"OK" : "select 6" +"OK" : "place 5;1" +"OK" : "select 3" +"OK" : "place 0;1" + + +"OK" : "select 11" +"P2 wins +6" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_7.test b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_7.test new file mode 100644 index 0000000..d5b6a06 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_7.test @@ -0,0 +1,22 @@ +<"standard"> +"OK" : "select 8" +"OK" : "place 4;0" +"OK" : "select 14" +"OK" : "place 2;0" +"OK" : "select 13" +"OK" : "place 1;0" + + +"OK" : "select 7" +"OK" : "place 4;1" +"OK" : "select 6" +"OK" : "place 5;1" +"OK" : "select 3" +"OK" : "place 0;1" +"OK" : "select 2" +"OK" : "place 1;1" + + +"OK" : "select 11" +"P1 wins +7" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_8.test b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_8.test new file mode 100644 index 0000000..4aa8185 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_8.test @@ -0,0 +1,25 @@ +<"standard"> +"OK" : "select 8" +"OK" : "place 4;0" +"OK" : "select 14" +"OK" : "place 2;0" +"OK" : "select 13" +"OK" : "place 1;0" + + +"OK" : "select 7" +"OK" : "place 4;1" +"OK" : "select 6" +"OK" : "place 5;1" +"OK" : "select 3" +"OK" : "place 0;1" +"OK" : "select 2" +"OK" : "place 1;1" + +"OK" : "select 1" +"OK" : "place 2;2" + + +"OK" : "select 11" +"P2 wins +8" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_9.test b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_9.test new file mode 100644 index 0000000..02ca739 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_9.test @@ -0,0 +1,27 @@ +<"standard"> +"OK" : "select 8" +"OK" : "place 4;0" +"OK" : "select 14" +"OK" : "place 2;0" +"OK" : "select 13" +"OK" : "place 1;0" + + +"OK" : "select 7" +"OK" : "place 4;1" +"OK" : "select 6" +"OK" : "place 5;1" +"OK" : "select 3" +"OK" : "place 0;1" +"OK" : "select 2" +"OK" : "place 1;1" + +"OK" : "select 1" +"OK" : "place 2;2" +"OK" : "select 10" +"OK" : "place 3;2" + + +"OK" : "select 11" +"P1 wins +9" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_error.test b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_error.test new file mode 100644 index 0000000..cbf4202 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/turncount_error.test @@ -0,0 +1,25 @@ +<"standard"> +"OK" : "select 8" +"OK" : "place 4;0" +"OK" : "select 14" +"OK" : "place 2;0" +"OK" : "select 13" +"OK" : "place 1;0" + +"OK" : "select 7" +00err : "place" +"OK" : "select 7" +00err : "place 1;0" +"OK" : "select 7" +00err : "place x;0" + + +"OK" : "select 7" +"OK" : "place 4;1" +"OK" : "select 6" +"OK" : "place 5;1" + + +"OK" : "select 11" +"P1 wins +5" : "place 3;0" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/bin/vertices.test b/Uni/Java/WS1516/Programmieren/Final02/bin/vertices.test new file mode 100644 index 0000000..e5f19dc --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/bin/vertices.test @@ -0,0 +1,21 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#Errors +00err : "vertices null" +00err : "vertices 10" + +#Standard +"Aa +bB +C +d" : "vertices" + +#Remove till empty +"OK" : "remove C;bB" +"OK" : "remove C;d" +"OK" : "remove Aa;d" +"OK" : "remove Aa;bB" +"OK" : "remove Aa;C" + +#Empty output +" +" : "vertices" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/Constant.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/Constant.java new file mode 100644 index 0000000..296811b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/Constant.java @@ -0,0 +1,58 @@ +package edu.kit.informatik; + +/** + * All constants used in the program + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public final class Constant { + /** + * The regex for a token id + */ + public static final String REGEX_TOKEN_ID = "[+]?((1[0-5])|([0-9]))"; + /** + * The constant COMMAND_SUCCESSFUL. + */ + public static final String COMMAND_SUCCESSFUL = "OK"; + /** + * The constant COMMAND_NOT_FOUND. + */ + public static final String COMMAND_NOT_FOUND = "please use a valid command"; + /** + * The constant PREFIX_ERROR + */ + public static final String PREFIX_ERROR = "Error, "; + /** + * The constant COORDINATES_WRONG + */ + public static final String COORDINATE_WRONG = "Coordinate(s) not on board (or allready occupied)."; + /** + * The constant BAG_NOT_FOUND + */ + public static final String BAG_NOT_FOUND = "No Token with this identifier inside the bag."; + /** + * The constant COMMAND_PLACE_NEXT + */ + public static final String COMMAND_PLACE_NEXT = "'place' has to be called before using this command again."; + /** + * The constant COMMAND_SELECT_NEXT + */ + public static final String COMMAND_SELECT_NEXT = "'select' has to be called before using this command again."; + /** + * The constant COMMAND_GAME_ENDED + */ + public static final String COMMAND_GAME_ENDED = "Game is over. Command illegal."; + /** + * The constant REGEX_ON_BOARD + */ + public static final String REGEX_ON_BOARD = "[+]?[0]*[0-5]"; + /** + * error message for wrong parameter count in place!!!!!! + */ + public static final String PLACE_PARAMCOUNT_WRONG = "there has been an issue with the number of parameters " + + "used with place (therefore turn will be reset)"; + + private Constant() { + } +} \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/Main.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/Main.java new file mode 100644 index 0000000..f073600 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/Main.java @@ -0,0 +1,38 @@ +package edu.kit.informatik; + +import edu.kit.informatik.game.BoardGame; +import edu.kit.informatik.game.TorusBoardGame; +import edu.kit.informatik.terminalinput.InputManager; + +/** + * The Class Main. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public final class Main { + private Main() { + } + + /** + * The main method. + * + * @param args the arguments + */ + public static void main(final String[] args) { + if (args.length != 1 || (!args[0].equals("standard") && !args[0].equals("torus"))) { + InputManager.error("wrong parameter (expects one parameter which is either 'torus' or 'standard')"); + System.exit(1); + } + final InputManager inputManager; + switch (args[0]) { + case "torus": + inputManager = new InputManager(new TorusBoardGame()); + break; + default: + inputManager = new InputManager(new BoardGame()); + } + inputManager.run(); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/Terminal.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/Terminal.java new file mode 100644 index 0000000..c3612c8 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/Terminal.java @@ -0,0 +1,70 @@ +package edu.kit.informatik; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +/** + * This class provides some simple methods for input/output from and to a + * terminal. + *

+ * Never modify this class, never upload it to Praktomat. This is only for your + * local use. If an assignment tells you to use this class for input and output + * never use System.out or System.in in the same assignment. + * + * @author ITI, VeriAlg Group + * @author IPD, SDQ Group + * @version 4 + */ +public final class Terminal { + + /** + * BufferedReader for reading from standard input line-by-line. + */ + /* + * private static BufferedReader in = new BufferedReader(new + * InputStreamReader(System.in)); + */ + + /** + * Private constructor to avoid object generation. + */ + private Terminal() { + } + + /** + * Print a String to the standard output. + *

+ * The String out must not be null. + * + * @param out + * The string to be printed. + */ + public static void printLine(final String out) { + System.out.println(out); + } + + /** + * Reads a line from standard input. + *

+ * Returns null at the end of the standard input. + *

+ * Use Ctrl+D to indicate the end of the standard input. + * + * @return The next line from the standard input or null. + */ + public static String readLine() { + try { + final BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + return in.readLine(); + } catch (final IOException e) { + /* + * rethrow unchecked (!) exception to prevent students from being + * forced to use Exceptions before they have been introduced in the + * lecture. + */ + throw new RuntimeException(e); + } + } + +} \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/exception/IllegalMethodCallException.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/exception/IllegalMethodCallException.java new file mode 100644 index 0000000..0b82acb --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/exception/IllegalMethodCallException.java @@ -0,0 +1,18 @@ +package edu.kit.informatik.exception; + +/** + * The Class IllegalMethodCallException. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class IllegalMethodCallException extends Throwable { + /** + * Instantiates a new illegal method call exception. + * + * @param message the message + */ + public IllegalMethodCallException(final String message) { + super(message); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/exception/IllegalParameterException.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/exception/IllegalParameterException.java new file mode 100644 index 0000000..6f34218 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/exception/IllegalParameterException.java @@ -0,0 +1,18 @@ +package edu.kit.informatik.exception; + +/** + * The Class IllegalParameterException. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class IllegalParameterException extends Exception { + /** + * Instantiates a new illegal parameter exception. + * + * @param message the message + */ + public IllegalParameterException(final String message) { + super(message); + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/BoardGame.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/BoardGame.java new file mode 100644 index 0000000..6e5e877 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/BoardGame.java @@ -0,0 +1,356 @@ +package edu.kit.informatik.game; + +import java.util.ArrayList; +import java.util.Collection; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.exception.IllegalMethodCallException; +import edu.kit.informatik.exception.IllegalParameterException; + +/** + * The Class BoardGame. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class BoardGame { + /** + * The constant that defines the number of fields per row + */ + public static final int ROW_COUNT = 6; + /** + * The constant that defines the number of fields per row + */ + public static final int COLUMN_COUNT = 6; + + private int lastTurnRow; + private int lastTurnColumn; + + private int turnCount; + private Token toPlace; + + private Collection bag; + private EmptyToken[][] board; + + /** + * Initializes the game. This means the bag will be filled with the standard + * tokens and that all fields on the board will be set as Empty Tokens + */ + public BoardGame() { + toPlace = null; + turnCount = 0; + + lastTurnColumn = 0; + lastTurnRow = 0; + + initBoard(); + initBag(); + } + + private void initBoard() { + board = new EmptyToken[ROW_COUNT][COLUMN_COUNT]; + for (int r = 0; r < board.length; r++) { + for (int c = 0; c < board[r].length; c++) { + board[r][c] = new EmptyToken(); + } + } + } + + private void initBag() { + bag = new ArrayList<>(); + bag.add(new Token(0, true, true, false, true)); + bag.add(new Token(1, true, true, false, false)); + bag.add(new Token(2, true, true, true, true)); + bag.add(new Token(3, true, true, true, false)); + + bag.add(new Token(4, true, false, false, true)); + bag.add(new Token(5, true, false, false, false)); + bag.add(new Token(6, true, false, true, true)); + bag.add(new Token(7, true, false, true, false)); + + bag.add(new Token(8, true, true, false, true)); + bag.add(new Token(9, true, true, false, false)); + bag.add(new Token(10, true, true, true, true)); + bag.add(new Token(11, true, true, true, false)); + + bag.add(new Token(12, true, false, false, true)); + bag.add(new Token(13, true, false, false, false)); + bag.add(new Token(14, true, false, true, true)); + bag.add(new Token(15, true, false, true, false)); + } + + /** + * Selects the next token to be placed + * + * @param identifier + * the identifier of the token that should be placed + * @throws IllegalParameterException + * is thrown if the bag does not contain a token with the + * identifier + * @throws IllegalMethodCallException + * is thrown if the another method needs to be called before + * this method + */ + public void select(final int identifier) throws IllegalParameterException, IllegalMethodCallException { + if (toPlace != null) + throw new IllegalMethodCallException(Constant.COMMAND_PLACE_NEXT); + for (final Token t : bag) { + if (identifier == t.getIdentifier()) { + toPlace = t; + bag.remove(t); + break; + } + } + if (toPlace == null) + throw new IllegalParameterException(Constant.BAG_NOT_FOUND); + } + + /** + * Places the selected token on the board + * + * @param row + * row coordinate + * @param column + * column coordinate + * @throws IllegalMethodCallException + * is thrown if another method needs to be called first + * @throws IllegalParameterException + * is thrown if parameters are not valid + */ + public void place(final int row, final int column) throws IllegalMethodCallException, IllegalParameterException { + if (toPlace == null) { + // just to be sure that it will be restarted + restartTurn(); + throw new IllegalMethodCallException(Constant.COMMAND_SELECT_NEXT); + } + final int tmpRow = modifyCoordinate(row); + final int tmpColumn = modifyCoordinate(column); + + if (!isOnField(tmpRow, tmpColumn) || board[tmpRow][tmpColumn] instanceof Token) { + // just to be sure that it will be restarted + restartTurn(); + throw new IllegalParameterException(Constant.COORDINATE_WRONG); + } + board[tmpRow][tmpColumn] = toPlace; + lastTurnRow = tmpRow; + lastTurnColumn = tmpColumn; + toPlace = null; + if (!hasEnded()) + turnCount += 1; + } + + /** + * Restarts the turn which mean that the token which is ready to be placed + * will be returned to the bag + */ + public void restartTurn() { + if (toPlace != null) + bag.add(toPlace); + toPlace = null; + } + + /** + * + * @return returns all tokens contained in the "bag" by their id separated + * with "\n" + */ + public String bagToString() { + String ret = ""; + for (final Token t : bag) { + ret += t.getIdentifier() + " "; + } + return ret.trim(); + } + + /** + * Returns a column as String (which means the tokens are separated by "\n") + * + * @param column + * the coordinate of the column which should be returned + * @return returns the column + * @throws IllegalParameterException + * is thrown if column coordinate is not correct + */ + public String columnToString(final int column) throws IllegalParameterException { + String ret = ""; + if (!isOnField(0, column)) + throw new IllegalParameterException(Constant.COORDINATE_WRONG); + + for (int i = 0; i < ROW_COUNT; i++) { + ret += board[i][column].toString() + " "; + } + return ret.trim(); + } + + /** + * Returns a row as String (which means that tokens are printed by their + * identifier seperated with "\n") + * + * @param row + * the row coordinates + * @return returns the row as string + * @throws IllegalParameterException + * is thrown if the row coordinate is wrong + */ + public String rowToString(final int row) throws IllegalParameterException { + String ret = ""; + if (!isOnField(row, 0)) + throw new IllegalParameterException(Constant.COORDINATE_WRONG); + + for (int i = 0; i < COLUMN_COUNT; i++) { + ret += board[row][i].toString() + " "; + } + return ret.trim(); + } + + /** + * Indicates if the game has enden + * + * @return returns true if the game is over + */ + public boolean hasEnded() { + return (bag.size() == 0 && toPlace == null) || hasWon(); + } + + /** + * tests if last turn was a winning turn + * + * @return returns true if last turn was a winning turn + */ + public boolean hasWon() { + if (!(board[lastTurnRow][lastTurnColumn] instanceof Token)) + return false; + + final Token lastTurnToken = (Token) board[modifyCoordinate(lastTurnRow)][modifyCoordinate(lastTurnColumn)]; + + final TokenCounter topLeft = new TokenCounter(lastTurnToken); + final TokenCounter topRight = new TokenCounter(lastTurnToken); + + final TokenCounter top = new TokenCounter(lastTurnToken); + final TokenCounter bottom = new TokenCounter(lastTurnToken); + + final TokenCounter bottomLeft = new TokenCounter(lastTurnToken); + final TokenCounter bottomRight = new TokenCounter(lastTurnToken); + + final TokenCounter left = new TokenCounter(lastTurnToken); + final TokenCounter right = new TokenCounter(lastTurnToken); + + for (int i = 1; i < 4; i++) { + + topLeft.addToCount(getLeftTop(lastTurnRow, lastTurnColumn, i)); + topRight.addToCount(getRightTop(lastTurnRow, lastTurnColumn, i)); + + top.addToCount(getTop(lastTurnRow, lastTurnColumn, i)); + bottom.addToCount(getBottom(lastTurnRow, lastTurnColumn, i)); + + bottomLeft.addToCount(getLeftBottom(lastTurnRow, lastTurnColumn, i)); + bottomRight.addToCount(getRightBottom(lastTurnRow, lastTurnColumn, i)); + + left.addToCount(getLeft(lastTurnRow, lastTurnColumn, i)); + right.addToCount(getRight(lastTurnRow, lastTurnColumn, i)); + } + // only 3 because last placed token is not counted therefore 3 + // neighbouring tokens with one attribute that is the same have to be + // found + return TokenCounter.combinedCount(left, right) >= 3 || TokenCounter.combinedCount(top, bottom) >= 3 + || TokenCounter.combinedCount(topLeft, bottomRight) >= 3 + || TokenCounter.combinedCount(topRight, bottomLeft) >= 3; + } + + private Token getLeftTop(final int row, final int column, final int offset) { + final int tmpRow = modifyCoordinate(row - offset); + final int tmpColumn = modifyCoordinate(column - offset); + if (!isOnField(tmpRow, tmpColumn) || !board[tmpRow][tmpColumn].getClass().equals(Token.class)) { + return null; + } + return (Token) board[tmpRow][tmpColumn]; + } + + private Token getLeftBottom(final int row, final int column, final int offset) { + final int tmpRow = modifyCoordinate(row + offset); + final int tmpColumn = modifyCoordinate(column - offset); + if (!isOnField(tmpRow, tmpColumn) || !board[tmpRow][tmpColumn].getClass().equals(Token.class)) { + return null; + } + return (Token) board[tmpRow][tmpColumn]; + } + + private Token getTop(final int row, final int column, final int offset) { + final int tmpRow = modifyCoordinate(row - offset); + final int tmpColumn = modifyCoordinate(column); + if (!isOnField(tmpRow, tmpColumn) || !board[tmpRow][tmpColumn].getClass().equals(Token.class)) { + return null; + } + return (Token) board[tmpRow][tmpColumn]; + } + + private Token getBottom(final int row, final int column, final int offset) { + final int tmpRow = modifyCoordinate(row + offset); + final int tmpColumn = modifyCoordinate(column); + if (!isOnField(tmpRow, tmpColumn) || !board[tmpRow][tmpColumn].getClass().equals(Token.class)) { + return null; + } + return (Token) board[tmpRow][tmpColumn]; + } + + private Token getRightTop(final int row, final int column, final int offset) { + final int tmpRow = modifyCoordinate(row - offset); + final int tmpColumn = modifyCoordinate(column + offset); + if (!isOnField(tmpRow, tmpColumn) || !board[tmpRow][tmpColumn].getClass().equals(Token.class)) { + return null; + } + return (Token) board[tmpRow][tmpColumn]; + } + + private Token getRightBottom(final int row, final int column, final int offset) { + final int tmpRow = modifyCoordinate(row + offset); + final int tmpColumn = modifyCoordinate(column + offset); + if (!isOnField(tmpRow, tmpColumn) || !board[tmpRow][tmpColumn].getClass().equals(Token.class)) { + return null; + } + return (Token) board[tmpRow][tmpColumn]; + } + + private Token getLeft(final int row, final int column, final int offset) { + final int tmpRow = modifyCoordinate(row); + final int tmpColumn = modifyCoordinate(column - offset); + if (!isOnField(tmpRow, tmpColumn) || !board[tmpRow][tmpColumn].getClass().equals(Token.class)) { + return null; + } + return (Token) board[tmpRow][tmpColumn]; + } + + private Token getRight(final int row, final int column, final int offset) { + final int tmpRow = modifyCoordinate(row); + final int tmpColumn = modifyCoordinate(column + offset); + if (!isOnField(tmpRow, tmpColumn) || !board[tmpRow][tmpColumn].getClass().equals(Token.class)) { + return null; + } + return (Token) board[tmpRow][tmpColumn]; + } + + private boolean isOnField(final int row, final int column) { + return 0 <= row && row < ROW_COUNT && 0 <= column && column < COLUMN_COUNT; + } + + /** + * placeholder to allow modification of coordinates which allows to change + * the coordinates if they are for example invalid (see torusboard) + * + * @param coordinate + * coordinate that should be corrected + * @return returns the corrected coordinate + */ + protected int modifyCoordinate(final int coordinate) { + return coordinate; + } + + /** + * Returns the number of done turns + * + * @return number of turn that have been done + */ + public int getTurnCount() { + return turnCount; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/EmptyToken.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/EmptyToken.java new file mode 100644 index 0000000..58d088f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/EmptyToken.java @@ -0,0 +1,21 @@ +package edu.kit.informatik.game; + +/** + * The Class EmptyToken. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class EmptyToken { + /** + * Instanciates an EmptyToken + */ + public EmptyToken() { + + } + + @Override + public String toString() { + return "#"; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/Token.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/Token.java new file mode 100644 index 0000000..d320862 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/Token.java @@ -0,0 +1,135 @@ +package edu.kit.informatik.game; + +/** + * The Class Token extends emptyToken. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class Token extends EmptyToken { + private final int identifier; + + private boolean isLarge; + private boolean isBlack; + private boolean isEdgy; + private boolean isHollow; + + /** + * Instanciates a Token + * + * @param id + * the identifier + * @param isBlack + * the attribute which indicates if the token is black or white + * @param isEdgy + * the attribute which indicates if the token is round or edgy + * @param isLarge + * the attribute which indicates if the token is large or small + * @param isHollow + * the attribute which indicates if the token is hollow or + * massive + */ + public Token(final int id, final boolean isBlack, final boolean isEdgy, final boolean isLarge, + final boolean isHollow) { + this.identifier = id; + this.setLarge(isLarge); + this.setBlack(isBlack); + this.setEdgy(isEdgy); + this.setHollow(isHollow); + } + + @Override + public boolean equals(final Object obj) { + return obj.getClass().equals(this.getClass()) && ((Token) obj).getIdentifier() == this.getIdentifier(); + } + + @Override + public String toString() { + return Integer.toString(getIdentifier()); + } + + /** + * gets the Identifier + * + * @return get the identifier + */ + public int getIdentifier() { + return identifier; + } + + /** + * Is large boolean. + * + * @return the boolean + */ + public boolean isLarge() { + return isLarge; + } + + /** + * Sets large. + * + * @param large + * the large + */ + public void setLarge(final boolean large) { + isLarge = large; + } + + /** + * Is black boolean. + * + * @return the boolean + */ + public boolean isBlack() { + return isBlack; + } + + /** + * Sets black. + * + * @param black + * the black + */ + public void setBlack(final boolean black) { + isBlack = black; + } + + /** + * Is edgy boolean. + * + * @return the boolean + */ + public boolean isEdgy() { + return isEdgy; + } + + /** + * Sets edgy. + * + * @param edgy + * the edgy + */ + public void setEdgy(final boolean edgy) { + isEdgy = edgy; + } + + /** + * Is hollow boolean. + * + * @return the boolean + */ + public boolean isHollow() { + return isHollow; + } + + /** + * Sets hollow. + * + * @param hollow + * the hollow + */ + public void setHollow(final boolean hollow) { + isHollow = hollow; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/TokenCounter.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/TokenCounter.java new file mode 100644 index 0000000..5691ecb --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/TokenCounter.java @@ -0,0 +1,131 @@ +package edu.kit.informatik.game; + +/** + * The Class Token Counter. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class TokenCounter { + private final Token compare; + private final Token testFor; + + private int blackCount; + private int largeCount; + private int edgyCount; + private int hollowCount; + + /** + * Instantiates a new Token counter. + * + * @param compare + * the token to compare to + */ + public TokenCounter(final Token compare) { + blackCount = 0; + largeCount = 0; + edgyCount = 0; + hollowCount = 0; + + this.compare = compare; + + testFor = new Token(0, true, true, true, true); + } + + /** + * combines the count of the two elements. + * + * @param first + * the first + * @param second + * the second + * @return the int + */ + public static int combinedCount(final TokenCounter first, final TokenCounter second) { + final int tmpBlack = first.getBlackCount() + second.getBlackCount(); + final int tmpLarge = first.getLargeCount() + second.getLargeCount(); + final int tmpHollow = first.getHollowCount() + second.getHollowCount(); + final int tmpEdgy = first.getEdgyCount() + second.getEdgyCount(); + + if (tmpBlack >= tmpLarge && tmpBlack >= tmpHollow && tmpBlack >= tmpEdgy) + return tmpBlack; + if (tmpLarge >= tmpBlack && tmpLarge >= tmpHollow && tmpLarge >= tmpEdgy) + return tmpLarge; + if (tmpHollow >= tmpLarge && tmpHollow >= tmpBlack && tmpHollow >= tmpEdgy) + return tmpHollow; + if (tmpEdgy >= tmpLarge && tmpEdgy >= tmpHollow && tmpEdgy >= tmpBlack) + return tmpEdgy; + + return 0; + } + + /** + * Add token to be counted. + * + * @param token + * the token + */ + public void addToCount(final Token token) { + if (token == null) { + testFor.setBlack(false); + testFor.setEdgy(false); + testFor.setLarge(false); + testFor.setHollow(false); + return; + } + if (testFor.isEdgy() && token.isEdgy() == compare.isEdgy()) + edgyCount += 1; + else + testFor.setEdgy(false); + if (testFor.isBlack() && token.isBlack() == compare.isBlack()) + blackCount += 1; + else + testFor.setBlack(false); + + if (testFor.isLarge() && token.isLarge() == compare.isLarge()) + largeCount += 1; + else + testFor.setLarge(false); + + if (testFor.isHollow() && token.isHollow() == compare.isHollow()) + hollowCount += 1; + else + testFor.setHollow(false); + } + + /** + * Gets black count. + * + * @return the black count + */ + public int getBlackCount() { + return blackCount; + } + + /** + * Gets large count. + * + * @return the large count + */ + public int getLargeCount() { + return largeCount; + } + + /** + * Gets edgy count. + * + * @return the edgy count + */ + public int getEdgyCount() { + return edgyCount; + } + + /** + * Gets hollow count. + * + * @return the hollow count + */ + public int getHollowCount() { + return hollowCount; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/TorusBoardGame.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/TorusBoardGame.java new file mode 100644 index 0000000..471c712 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/game/TorusBoardGame.java @@ -0,0 +1,25 @@ +package edu.kit.informatik.game; + +/** + * The Class TorusBoardGame. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class TorusBoardGame extends BoardGame { + /** + * Instantiates a new Torus board game. + */ + public TorusBoardGame() { + super(); + } + + @Override + protected int modifyCoordinate(final int coordinate) { + if (coordinate < 0) + return 5 - (Math.abs(coordinate + 1) % 6); + else if (coordinate > 5) + return coordinate % 6; + return coordinate; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/BagCommand.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/BagCommand.java new file mode 100644 index 0000000..67b62af --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/BagCommand.java @@ -0,0 +1,37 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.Terminal; +import edu.kit.informatik.game.BoardGame; + +/** + * The Class InsertCommand. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class BagCommand extends Command { + + /** + * Instantiates a new insert command. + */ + public BagCommand() { + super("bag", "bag", 0); + } + + @Override + public boolean correctParameters(final String[] parameters) { + return true; + } + + /* + * (non-Javadoc) + * + * @see edu.kit.informatik.terminlinput.Command#execute(java.lang.String, + * edu.kit.informatik.graph.Graph) + */ + @Override + public void execute(final String command, final BoardGame game) { + Terminal.printLine(game.bagToString()); + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/ColprintCommand.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/ColprintCommand.java new file mode 100644 index 0000000..2311186 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/ColprintCommand.java @@ -0,0 +1,43 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.Terminal; +import edu.kit.informatik.exception.IllegalParameterException; +import edu.kit.informatik.game.BoardGame; + +/** + * The Class InsertCommand. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class ColprintCommand extends Command { + + /** + * Instantiates a new insert command. + */ + public ColprintCommand() { + super("colprint", "colprint ", 1); + } + + @Override + public boolean correctParameters(final String[] parameters) { + return parameters[0].matches(Constant.REGEX_ON_BOARD); + } + + /* + * (non-Javadoc) + * + * @see edu.kit.informatik.terminlinput.Command#execute(java.lang.String, + * edu.kit.informatik.graph.Graph) + */ + @Override + public void execute(final String command, final BoardGame game) { + try { + Terminal.printLine(game.columnToString(Integer.parseInt(commandToParametersArray(command)[0]))); + } catch (final IllegalParameterException e) { + InputManager.error(e.getMessage()); + } + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/Command.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/Command.java new file mode 100644 index 0000000..eb36554 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/Command.java @@ -0,0 +1,146 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.game.BoardGame; + +/** + * The Class Command. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public abstract class Command { + + /** The name. */ + private final String name; + + private final String info; + + /** The parameter count. */ + private final int parameterCount; + + /** + * Instantiates a new command. + * + * @param name + * the name + * @param info + * the information on how to use the command + * @param parameterCount + * the parameter count + */ + public Command(final String name, final String info, final int parameterCount) { + this.name = name; + this.info = info; + this.parameterCount = parameterCount; + } + + /** + * Checks if the string starts with the correct name of this command. + * + * @param str + * the str + * @return true, if successful + */ + protected boolean correctCommand(final String str) { + return name.equals(str.split(" ")[0]); + } + + /** + * Checks if string has valid command form. Will call + * correctCommand, correctParameters and will + * check parameterCount. + * + * @param command + * the command + * @return true, if successful + */ + public boolean validate(final String command) { + final String[] parameters = commandToParametersArray(command); + return correctCommand(command) && parameters.length == parameterCount && correctParameters(parameters); + } + + /** + * Checks if parameters of string are correct. + * + * @param command + * the command + * @return true, if successful + */ + public boolean correctParameters(final String[] command) { + return true; + } + + /** + * Executes the command. + * + * @param command + * the command + * @param boardGame + * the boardGame + */ + public abstract void execute(String command, BoardGame boardGame); + + /** + * Gets the parameters from a String which is a console command. + * + * @param command + * the command + * @return the string[] that contains all parameters + */ + public String[] commandToParametersArray(final String command) { + final String[] tmp = command.split(" "); + if (tmp.length > 1) { + return tmp[1].split(";"); + } + return new String[0]; + } + + /** + * Checks if program should quit. + * + * @return true, if successful + */ + public boolean checkQuit() { + return false; + } + + /** + * Checks if objects are equal. + * + * @param obj + * the obj + * @return true, if same name and same parameterCount + */ + @Override + public boolean equals(final Object obj) { + return (obj.getClass().equals(this.getClass())) && ((Command) obj).name.equals(this.name) + && ((Command) obj).parameterCount == this.parameterCount; + } + /** + * Gets the name. + * + * @return the name + */ + /* + * public String getName() { return name; } + */ + + /** + * Gets the info. + * + * @return the info + */ + public String getInfo() { + return info; + } + + /** + * returns the parameter count needed for correct syntax + * + * @return returns the parameter count + */ + protected int getParameterCount() { + return parameterCount; + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/InputManager.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/InputManager.java new file mode 100644 index 0000000..365041b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/InputManager.java @@ -0,0 +1,98 @@ +package edu.kit.informatik.terminalinput; + +import java.util.LinkedList; +import java.util.List; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.Terminal; +import edu.kit.informatik.game.BoardGame; + +/** + * The Class InputManager. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class InputManager { + + /** The commands. */ + private List commands; + + /** The boardGame. */ + private final BoardGame game; + + /** The quit. */ + private boolean quit; + + /** + * Instantiates a new input manager. + * + * @param g + * the graph + */ + public InputManager(final BoardGame g) { + this.game = g; + initializeCommands(); + quit = false; + } + + /** + * Initialize all commands. + */ + private void initializeCommands() { + commands = new LinkedList<>(); + commands.add(new SelectCommand()); + commands.add(new BagCommand()); + commands.add(new ColprintCommand()); + commands.add(new RowprintCommand()); + commands.add(new PlaceCommand()); + commands.add(new QuitCommand()); + } + + /** + * Run the input manager. + */ + public void run() { + while (!quit) { + boolean commandExcecuted = false; + final String input = Terminal.readLine(); + for (final Command command : commands) { + if (command.validate(input)) { + command.execute(input, game); + if (command.checkQuit()) { + quit = true; + } + commandExcecuted = true; + } + } + if (!commandExcecuted) { + error(Constant.COMMAND_NOT_FOUND + " (valid commands: " + commandsInfo()); + } + } + } + + /** + * Prints an error. + * + * @param message + * the message + */ + public static void error(final String message) { + Terminal.printLine(Constant.PREFIX_ERROR + " " + message); + } + + /** + * Prints the success command output. + */ + public static void printSuccess() { + Terminal.printLine(Constant.COMMAND_SUCCESSFUL); + } + + private String commandsInfo() { + String out = ""; + for (final Command command : commands) { + out += "'" + command.getInfo() + "' "; + } + return out; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/PlaceCommand.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/PlaceCommand.java new file mode 100644 index 0000000..237444e --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/PlaceCommand.java @@ -0,0 +1,80 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.Terminal; +import edu.kit.informatik.exception.IllegalMethodCallException; +import edu.kit.informatik.exception.IllegalParameterException; +import edu.kit.informatik.game.BoardGame; + +/** + * The Class InsertCommand. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class PlaceCommand extends Command { + + /** + * Instantiates a new insert command. + */ + public PlaceCommand() { + super("place", "place ;", 2); + } + + @Override + public boolean correctParameters(final String[] parameters) { + return true; + } + + // Required to do because of shitty regulations regarding what a correct + // command is therefore + @Override + public final boolean validate(final String command) { + final String[] parameters = commandToParametersArray(command); + return correctCommand(command) && correctParameters(parameters); + } + + /* + * (non-Javadoc) + * + * @see edu.kit.informatik.terminlinput.Command#execute(java.lang.String, + * edu.kit.informatik.graph.Graph) + */ + @Override + public void execute(final String command, final BoardGame game) { + final String[] parameters = commandToParametersArray(command); + if (parameters.length != this.getParameterCount()) { + game.restartTurn(); + InputManager.error(Constant.PLACE_PARAMCOUNT_WRONG); + return; + } + final int row; + final int column; + try { + row = Integer.parseInt(parameters[0]); + column = Integer.parseInt(parameters[1]); + } catch (final NumberFormatException e) { + game.restartTurn(); + InputManager.error(e.getMessage()); + return; + } + if (game.hasEnded()) { + InputManager.error(Constant.COMMAND_GAME_ENDED); + return; + } + try { + game.place(row, column); + if (game.hasWon()) { + Terminal.printLine("P" + Integer.toString((game.getTurnCount() % 2 - 2) * -1) + " wins\n" + + Integer.toString(game.getTurnCount())); + } else if (game.hasEnded()) + Terminal.printLine("draw"); + else + InputManager.printSuccess(); + } catch (IllegalMethodCallException | IllegalParameterException e) { + game.restartTurn(); + InputManager.error(e.getMessage()); + } + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/QuitCommand.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/QuitCommand.java new file mode 100644 index 0000000..9a5ea33 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/QuitCommand.java @@ -0,0 +1,42 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.game.BoardGame; + +/** + * The Class InsertCommand. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class QuitCommand extends Command { + + private boolean readyToquit = false; + + /** + * Instantiates a new insert command. + */ + public QuitCommand() { + super("quit", "quit", 0); + } + + @Override + public boolean correctParameters(final String[] parameters) { + return true; + } + + /* + * (non-Javadoc) + * + * @see edu.kit.informatik.terminlinput.Command#execute(java.lang.String, + * edu.kit.informatik.graph.Graph) + */ + @Override + public void execute(final String command, final BoardGame game) { + readyToquit = true; + } + + @Override + public boolean checkQuit() { + return readyToquit; + } +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/RowprintCommand.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/RowprintCommand.java new file mode 100644 index 0000000..618a9e5 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/RowprintCommand.java @@ -0,0 +1,43 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.Terminal; +import edu.kit.informatik.exception.IllegalParameterException; +import edu.kit.informatik.game.BoardGame; + +/** + * The Class InsertCommand. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class RowprintCommand extends Command { + + /** + * Instantiates a new insert command. + */ + public RowprintCommand() { + super("rowprint", "rowprint ", 1); + } + + @Override + public boolean correctParameters(final String[] parameters) { + return parameters[0].matches(Constant.REGEX_ON_BOARD); + } + + /* + * (non-Javadoc) + * + * @see edu.kit.informatik.terminlinput.Command#execute(java.lang.String, + * edu.kit.informatik.graph.Graph) + */ + @Override + public void execute(final String command, final BoardGame game) { + try { + Terminal.printLine(game.rowToString(Integer.parseInt(commandToParametersArray(command)[0]))); + } catch (final IllegalParameterException e) { + InputManager.error(e.getMessage()); + } + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/SelectCommand.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/SelectCommand.java new file mode 100644 index 0000000..8c946db --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/terminalinput/SelectCommand.java @@ -0,0 +1,49 @@ +package edu.kit.informatik.terminalinput; + +import edu.kit.informatik.Constant; +import edu.kit.informatik.exception.IllegalMethodCallException; +import edu.kit.informatik.exception.IllegalParameterException; +import edu.kit.informatik.game.BoardGame; + +/** + * The Class InsertCommand. + * + * @author Hannes Kuchelmeister + * @version 1.0 + */ +public class SelectCommand extends Command { + + /** + * Instantiates a new insert command. + */ + public SelectCommand() { + super("select", "select ", 1); + } + + @Override + public boolean correctParameters(final String[] parameters) { + return parameters[0].matches(Constant.REGEX_TOKEN_ID); + } + + /* + * (non-Javadoc) + * + * @see edu.kit.informatik.terminlinput.Command#execute(java.lang.String, + * edu.kit.informatik.graph.Graph) + */ + @Override + public void execute(final String command, final BoardGame game) { + if (game.hasEnded()) { + InputManager.error(Constant.COMMAND_GAME_ENDED); + return; + } + final int id = Integer.parseInt(commandToParametersArray(command)[0]); + try { + game.select(id); + InputManager.printSuccess(); + } catch (IllegalParameterException | IllegalMethodCallException e) { + InputManager.error(e.getMessage()); + } + } + +} diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/tests/testsuite/ExpectionInputStream.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/tests/testsuite/ExpectionInputStream.java new file mode 100644 index 0000000..9e8fd0a --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/tests/testsuite/ExpectionInputStream.java @@ -0,0 +1,101 @@ +package edu.kit.informatik.tests.testsuite; + +import java.io.IOException; +import java.io.PipedInputStream; +import java.io.PipedOutputStream; +import java.io.StringReader; +import java.util.List; + +/** + * InputStream that expects reading and reads specific lines. + * + * @author Moritz Hepp + * @version 1.0 + */ +public class ExpectionInputStream extends PipedInputStream { + + private boolean expecting; + private int count; + private final List inputs; + private ExpectionOutputStream out; + + /** + * Initialises a new InputStream. + * + * @param ins + * Lines the stream expects. + */ + public ExpectionInputStream(final List ins) { + super(); + inputs = ins; + count = 0; + expecting = true; + } + + /** + * Setter of expecting. + * + * @param val + * Value of expecting. + */ + public void setExpecting(final boolean val) { + expecting = val; + } + + /** + * Getter of expecting. + * + * @return value of expecting. + */ + public boolean isExpecting() { + return expecting; + } + + @Override + public void connect(final PipedOutputStream str) throws IOException { + if (str instanceof ExpectionOutputStream) { + super.connect(str); + out = (ExpectionOutputStream) str; + } else { + System.err.println(TestSuite.ERR_PREF + "Tried to connect with non ExpectionOutputStream instance!"); + System.exit(-1); + } + } + + @Override + public int read(final byte[] b, final int off, final int len) throws IOException { + int result = -1; + if (expecting) { + if (inputs.size() > count) { + final char[] ch = new char[b.length]; + final StringReader reader = new StringReader(inputs.get(count).toString() + System.lineSeparator()); + + result = reader.read(ch, off, len); + + for (int i = off; i < result; i++) { + b[i] = (byte) ch[i]; + } + count++; + expecting = false; + } else if (inputs.size() == count) { + final byte[] by = ("quit" + System.lineSeparator()).getBytes(); + System.arraycopy(by, 0, b, 0, by.length); + result = by.length; + expecting = false; + } else { + System.err.println(TestSuite.ERR_PREF + "End of expectations reached!"); + System.exit(-2); + } + } else { + if (this.out.isExpecting()) { + System.err.println( + TestSuite.ERR_PREF + "Expecting " + (this.out.getExpectationSize() - this.out.getCount()) + + " more outputs but got call to read!"); + } else { + System.err.println(TestSuite.ERR_PREF + "Reading while not expected; case: " + count); + System.exit(-2); + } + } + return result; + } +} \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/tests/testsuite/ExpectionOutputStream.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/tests/testsuite/ExpectionOutputStream.java new file mode 100644 index 0000000..0f3652c --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/tests/testsuite/ExpectionOutputStream.java @@ -0,0 +1,147 @@ +package edu.kit.informatik.tests.testsuite; + +import java.io.*; +import java.util.Arrays; +import java.util.List; + +/** + * OutputStream multiple outputs and only writing if output matches the expected + * output. + * + * @author Moritz Hepp + * @version 1.0 + */ +public class ExpectionOutputStream extends PipedOutputStream { + + private final List expectations; + private int count = 0; + private boolean newLineAllowed = false; + private ExpectionInputStream in; + private final PrintStream out; + private PrintWriter log; + + /** + * Initialises a PipedStream with a list of expected inputs. + * + * @param expected Expected lines to print. + * @param str Next OutputStream. + * @param logFile File to save the output in. + * @throws IOException Will be thrown if initialisation of logwriter went wrong. + */ + public ExpectionOutputStream(final List expected, final OutputStream str, final File logFile) + throws IOException { + super(); + expectations = expected; + this.out = new PrintStream(str); + if (logFile.exists()) { + if (!logFile.delete()) { + throw new IOException("Deleting previous file failed!"); + } + } else { + if (!logFile.getParentFile().exists()) { + if (logFile.mkdirs()) { + throw new IOException("Deleting previous file failed!"); + } + } + } + if (logFile.createNewFile()) { + log = new PrintWriter(new FileWriter(logFile)); + } else { + throw new IOException("Creating new logFile failed!"); + } + } + + /** + * Getter of already printed lines. + * + * @return Count of already printed lines. + */ + public int getCount() { + return count; + } + + /** + * Getter of line count expecting. + * + * @return Size of list of expectations. + */ + public int getExpectationSize() { + return expectations.size(); + } + + /** + * Getter of property, if this Stream still expects. + * + * @return true, if count of already printed outputs is smaller then the + * size of the expected lines, false otherwise. + */ + public boolean isExpecting() { + return count < this.expectations.size(); + } + + /** + * Getter of the next stream this stream is connected to. + * + * @return Stream this stream is connected to. + */ + public PrintStream getNextStream() { + return this.out; + } + + @Override + public void connect(final PipedInputStream in) throws IOException { + if (in instanceof ExpectionInputStream) { + super.connect(in); + this.in = (ExpectionInputStream) in; + } else { + System.err.println(TestSuite.ERR_PREF + "Tried to connect with non ExpectionInputStream instance!"); + System.exit(-1); + } + } + + @Override + public void write(final byte[] b, final int off, final int len) throws IOException { + final String out = new String(Arrays.copyOfRange(b, off, len)); + if (out.startsWith(TestSuite.ERR_PREF) || out.startsWith(TestSuite.DEF_PREF) + || (out.matches(System.lineSeparator()) && newLineAllowed)) { + this.log.print(out); + newLineAllowed = false; + } else if (this.isExpecting()) { + String sRep = expectations.get(count).toString(); + // Get options + boolean ignoreEquals = false; + if (sRep.startsWith("!")) { + sRep = sRep.replaceFirst("!", ""); + // Ignore case + if (sRep.startsWith("C")) { + sRep = sRep.replaceFirst("C", ""); + ignoreEquals = sRep.equalsIgnoreCase(out); + } + //Others are not supported + } + if (sRep.equals(out) || ignoreEquals || (sRep.equals("00err") && out.startsWith("Error")) + || (out.replace(System.lineSeparator(), "\n").equals(sRep))) { + this.log.print(out); + + // quit-cmd has to be written + in.setExpecting(true); + count++; + newLineAllowed = true; + } else { + System.err.println(TestSuite.ERR_PREF + "\nexpected: " + sRep + "\nactual: " + out); + newLineAllowed = false; + System.exit(-2); + } + } else { + System.err.println(TestSuite.ERR_PREF + "Unexpected output at case: " + count); + newLineAllowed = false; + System.exit(-2); + } + } + + @Override + public void close() throws IOException { + super.close(); + this.log.close(); + } +} \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/tests/testsuite/TestSuite.java b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/tests/testsuite/TestSuite.java new file mode 100644 index 0000000..8189a00 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/src/edu/kit/informatik/tests/testsuite/TestSuite.java @@ -0,0 +1,313 @@ +package edu.kit.informatik.tests.testsuite; + +import java.io.*; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.*; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import edu.kit.informatik.Terminal; + +/** + * Testing class providing a text file with command inputs instead of manual + * input. The text file is formatted as follows: + *

    + *
  • - '<arg1;arg2>' at the start of the file with arg1 and arg2 as + * command-line-arguments of testing file.
  • + *
  • - '#' at the start of a line marks a line-comment.
  • + *
  • - "<expectedOutput> : \"<input>\""
  • + *
+ * + * @author Moritz Hepp + * @version 1.0 + */ +public final class TestSuite { + /** + * Prefix for error messages. ExpectionOutputStream will ignore output with + * this prefix. + */ + public static final String ERR_PREF = "$Error: "; + /** + * Prefix for test messages. ExpectionOutputStream will ignore output with + * this prefix. + */ + public static final String DEF_PREF = "Test: "; + + private static final String PARAM_REGEX = "(?:!C)?"; + + private static final String LINE_REGEX = "(null|00err|true|false|\"" + PARAM_REGEX + + "[#\\w\\s;\\-]*\"|-?[\\d]+|-?[\\d]+\\.[\\d]+)\\s:\\s\"([\\w\\s;+-]+)\""; + private static final String CMD_LINE_ARGS_REGEX = "\"[\\w\\\\/:_\\-\\.]+\"(;\"[\\w\\\\/:_\\-\\.]+\")*"; + + private static final String CMD_LINE_ARGS = "$CMD_LINE_ARGS$"; + private static final String COMMENT_PREFIX = "-"; + + private static ExpectionInputStream sysIn; + private static ExpectionOutputStream sysOut; + + private static File[] files; + private static Class cl; + private static File logDir; + + private static final Queue THREAD_QUEUE = new ConcurrentLinkedQueue<>(); + + private TestSuite() { + } + + /** + * Test main to perform the tests located at $ProjectRoot/tests and named + * *.test. + * + * @param args + * Command line arguments. + */ + public static void main(final String... args) { + init(); + for (final File f : files) { + final Class clazz = cl; + final List fileLines = readTestFile(f.getPath()); + if (fileLines != null) { + final Thread thread = new Thread(() -> { + final File logFile = new File( + logDir.getAbsoluteFile() + "/" + f.getName().replace(".test", "Test.log")); + System.out.println(DEF_PREF + "## file: " + f.getName()); + + final List inputs = new LinkedList<>(); + final List expectations = new LinkedList<>(); + + convert(fileLines, inputs, expectations); + + testFile(clazz, inputs, expectations, logFile); + if (!THREAD_QUEUE.isEmpty()) + THREAD_QUEUE.poll().start(); + }); + thread.setDaemon(false); + THREAD_QUEUE.add(thread); + } else + System.err.println(ERR_PREF + "Bad formatted file: " + f.getName()); + } + if (!THREAD_QUEUE.isEmpty()) + THREAD_QUEUE.poll().start(); + else + System.err.println(ERR_PREF + "Threading error: Thread queue is empty!"); + } + + private static void init() { + final Scanner scan = new Scanner(System.in); + final Properties prop = new Properties(); + try { + prop.load(new FileReader("TestSuite.config")); + } catch (final IOException ignored) { + } + File testsDir = null; + if (prop.containsKey("TestSources")) + testsDir = new File(prop.getProperty("TestSources")); + while (testsDir == null || !testsDir.exists()) { + System.out.print("Path to tests directory: "); + final String input = scan.nextLine(); + testsDir = new File(input); + if (!testsDir.exists()) { + System.err.println(ERR_PREF + "Not a valid directory!"); + testsDir = null; + } else { + prop.setProperty("TestSources", testsDir.getPath()); + } + } + files = testsDir.listFiles((dir, name) -> name.endsWith(".test")); + if (files == null || files.length == 0) { + System.err.println(ERR_PREF + "Tests directory doesn't contain .test-Files!"); + System.exit(-1); + } + logDir = new File(testsDir.getPath() + "/logs/"); + if (!logDir.exists()) + if (!logDir.mkdir()) + System.err.println(ERR_PREF + "Failed to create log-directory."); + cl = null; + String className; + if (prop.containsKey("TestClass")) { + try { + className = prop.getProperty("TestClass"); + cl = Terminal.class.getClassLoader().loadClass("edu.kit.informatik." + className); + } catch (final ClassNotFoundException e) { + e.printStackTrace(); + cl = null; + } + } + while (cl == null) { + try { + System.out.print("Name of testing class: "); + className = scan.nextLine(); + cl = Terminal.class.getClassLoader().loadClass("edu.kit.informatik." + className); + prop.setProperty("TestClass", className); + } catch (final ClassNotFoundException e) { + System.err.println(ERR_PREF + e.getMessage()); + cl = null; + } + } + try { + prop.store(new FileOutputStream("TestSuite.config"), "TestSuite runtime config"); + } catch (final IOException e) { + System.err.println(ERR_PREF + "Failed storing properties!"); + } + } + + /** + * Performs the tests one file is representing. + * + * @param testClass + * Class to be tested. + * @param inputs + * Inputs with Command line args. + * @param expectations + * Expected outputs. + * @param logFile + * File to store the output of this test. + */ + public static void testFile(final Class testClass, final List inputs, final List expectations, + final File logFile) { + if (inputs != null && expectations != null && !inputs.isEmpty() && !expectations.isEmpty()) { + try { + final Method main = testClass.getMethod("main", String[].class); + + String[] arguments = null; + if (inputs.get(0).startsWith(CMD_LINE_ARGS)) { + final String cmdLineArgs = inputs.get(0).replace(CMD_LINE_ARGS, ""); + + arguments = cmdLineArgs.split(";"); + inputs.remove(0); + } + initInOutput(inputs, expectations, logFile); + + main.invoke(null, (Object) arguments); + + resetInOutputSettings(); + } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException | IOException e) { + System.err.println(ERR_PREF + "Something went wrong while testing!"); + e.printStackTrace(); + } + } else { + System.err.println(ERR_PREF + "Empty test-file!"); + } + } + + private static void resetInOutputSettings() { + final int count = sysOut.getCount(); + if (count < sysOut.getExpectationSize()) { + System.err + .println(ERR_PREF + "Expected output count: " + count + ", actual: " + sysOut.getExpectationSize()); + } else if (sysIn.isExpecting()) { + System.err.println(ERR_PREF + "Expected input!"); + } else { + System.setOut(sysOut.getNextStream()); + try { + sysOut.close(); + sysOut = null; + sysIn.close(); + sysIn = null; + } catch (final IOException e) { + e.printStackTrace(); + } + } + } + + private static void initInOutput(final List inputs, final List expectations, final File logFile) + throws IOException { + TestSuite.sysOut = new ExpectionOutputStream(expectations, System.out, logFile); + TestSuite.sysIn = new ExpectionInputStream(inputs); + + try { + sysIn.connect(sysOut); + } catch (final IOException e) { + System.err.println(ERR_PREF + e.getMessage()); + System.exit(-1); + return; + } + + System.setOut(new PrintStream(TestSuite.sysOut)); + System.setIn(TestSuite.sysIn); + } + + private static List readTestFile(final String path) { + List lines = null; + if (path != null) { + final File testFile; + if (path.matches("[\\w]+")) { + testFile = new File(System.getProperty("user.dir") + File.pathSeparatorChar + path); + } else { + testFile = new File(path); + } + if (testFile.exists()) { + try { + final BufferedReader reader = new BufferedReader(new FileReader(testFile)); + lines = new LinkedList<>(); + while (reader.ready()) { + String nLine = reader.readLine(); + if (nLine != null) { + // if output is multiple lines long + if (nLine.matches("\"[\\w\\s\\-]*") && reader.ready()) { + String next; + boolean cont = true; + while (cont) { + next = reader.readLine(); + nLine += "\n" + next; + if (next.matches("[\\w\\s\\-;]*\"\\s:\\s\"[\\w\\s;]+\"")) { + cont = false; + } else if (!reader.ready()) { + nLine = ""; + cont = false; + } + } + } + if (nLine.matches(LINE_REGEX)) { + lines.add(nLine); + } else if (nLine.matches("<" + CMD_LINE_ARGS_REGEX + ">")) { + if (lines.size() == 0) { + final String args = nLine.replace("<", "").replace(">", ""); + lines.add(args); + } else { + lines = null; + break; + } + } else if (!nLine.matches(COMMENT_PREFIX + ".*") && !nLine.isEmpty()) { + lines = null; + break; + } + } + } + } catch (final IOException e) { + System.err.println(ERR_PREF + "Something went wrong while reading test File: " + e.getMessage()); + } + } + } + return lines; + } + + private static void convert(final List lines, final List inputs, final List expections) { + if (lines != null) { + // Problem with same command + for (final String line : lines) { + if (line != null) { + if (line.matches(CMD_LINE_ARGS_REGEX)) { + final String cmdLineArgs = line.replace("\"", ""); + inputs.add(CMD_LINE_ARGS + cmdLineArgs); + } else { + final Pattern pat = Pattern.compile(LINE_REGEX); + final Matcher match = pat.matcher(line); + if (match.matches() && (match.groupCount() == 2 || match.groupCount() == 3)) { + /* + * group(1) == expected output group() == input + */ + final String expected = match.group(1).replace("\"", ""); + final String input = match.group(2); + + expections.add(expected); + inputs.add(input); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final02/tests b/Uni/Java/WS1516/Programmieren/Final02/tests new file mode 160000 index 0000000..185aada --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final02/tests @@ -0,0 +1 @@ +Subproject commit 185aada4a298532d23a523d944e7d46d74d42921

Jm0!%E{pzvFCdQK6`Ce!xFKE`7Ypa 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 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/Final01.iml b/Uni/Java/WS1516/Programmieren/Final01/Final01.iml new file mode 100644 index 0000000..da0f254 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/Final01.iml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/TestSuite.config b/Uni/Java/WS1516/Programmieren/Final01/TestSuite.config new file mode 100644 index 0000000..e9ff8ee --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/TestSuite.config @@ -0,0 +1,4 @@ +#TestSuite runtime config +#Thu Feb 25 14:17:49 CET 2016 +TestSources=tests +TestClass=Main diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/README.txt b/Uni/Java/WS1516/Programmieren/Final01/bin/README.txt new file mode 100644 index 0000000..d46b7d1 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/README.txt @@ -0,0 +1,35 @@ +1. Die Klassen "TestSuite", "ExpectionInputStream", "ExpectionOutputStream" in das Projekt kopieren. + +2. Beim Start der TestSuite-Klasse wird nach dem Ordner der Testfälle gefragt, + berücksichtige dabei dass der Projekt Ordner als Start-Verzeichnis gilt. + +3. Danach wird nach der zu testenden Klasse gefragt, gebe hier einfach den Namen der Klasse im Package + "edu.kit.informatik" an, die als Main-Klasse gehandelt wird. + +4. Die test-Dateien müssen so benannt sein: "*.test" und forlgender formatierung folgen: + - Ein Testfall wird dargestellt als: : "" + - Wobei 'expected' eine Zeichenkette über mehrere Zeilen sein kann, die dem + regulären Ausdruck [a-zA-Z0-9\\s]+ entspricht. 'expected' stellt dabei die erwartete Ausgabe dar. + 'expected' muss entweder "true", "false", einer Zahl oder einer Zeichenkette + gekennzeichnet durch " entsprechen. + 'expected' kann nur als Zeichenkette mehrzeilig sein, solange der Zeilenumsprung + in den " ist. + + - und 'actual' eine Zeichenkette über eine Zeile sein kann, die dem regulären Ausdruck + [a-zA-Z0-9\\s-;]+ entspricht. 'actual' stellt dabei die Eingabe eines Befehls dar. + - Die Kommandozeilenargumente werden dargestellt als: + <"cmd1";"cmd2";...> + Wobei cmd1 ein Kommandozeilenargument darstellt. + Die Kommandozeilenargumente müssen in der ersten Zeile der .test-Datei stehen. + +5. Ein Beispiel für den Test-Fall auf dem Aufgabenblatt: + +<"src\edu\kit\informatik\tests\test.graph"> +6 : "search bB;d;route" +"bB Aa C d" : "route bB;d;route" +"bB Aa C d +bB Aa d +bB C Aa d +bB C d" : "route bB;d;all" +"Aa +C" : "nodes bB" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/docs.log b/Uni/Java/WS1516/Programmieren/Final01/bin/docs.log new file mode 100644 index 0000000..370a81b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/docs.log @@ -0,0 +1,3602 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.15 (MiKTeX 2.9 64-bit) (preloaded format=pdflatex 2016.5.13) 28 DEC 2016 15:41 +entering extended mode +**docs.tex +(docs.tex +LaTeX2e <2014/05/01> +Babel <3.9l> and hyphenation patterns for 68 languages loaded. + +! LaTeX Error: Environment texdocpackage undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.1 \begin{texdocpackage} + {edu.kit.informatik} +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Missing \begin{document}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.1 \begin{texdocpackage}{e + du.kit.informatik} +You're in trouble here. Try typing to proceed. +If that doesn't work, type X to quit. + +Missing character: There is no e in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no k in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no k in font nullfont! + +Overfull \hbox (20.0pt too wide) in paragraph at lines 1--3 +[] + [] + + +! LaTeX Error: Environment texdocclass undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.4 \begin{texdocclass} + {class}{Constant} +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Missing \begin{document}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.4 \begin{texdocclass}{c + lass}{Constant} +You're in trouble here. Try typing to proceed. +If that doesn't work, type X to quit. + +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! + +! LaTeX Error: Environment texdocclassintro undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.6 \begin{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no A in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no m in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocclassintro}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.7 ...s used in the program\end{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Environment texdocclassfields undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.8 \begin{texdocclassfields} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.9 \texdocfield + {public static final}{String}{CODE\_NOT\_ACCESSIBLE}{The Con... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no B in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no B in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.10 \texdocfield + {public static final}{String}{COMMAND\_NOT\_FOUND}{The Cons... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.11 \texdocfield + {public static final}{String}{COMMAND\_SUCCESSFUL}{The Cons... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.12 \texdocfield + {public static final}{String}{EDGE\_CANNOT\_REMOVE}{The Con... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.13 \texdocfield + {public static final}{String}{EDGE\_CONTAINED\_ALLREADY}{Th... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no Y in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no Y in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.14 \texdocfield + {public static final}{String}{EDGE\_VERTEX\_NOT\_FOUND}{The... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.15 \texdocfield + {public static final}{String}{FILE\_WRONG\_FORMAT}{The Cons... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no W in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no W in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.16 \texdocfield + {public static final}{String}{GRAPH\_EDGE\_LESS\_THAN\_ONE}... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.17 \texdocfield + {public static final}{String}{GRAPH\_NOT\_CONTINOUS}{The Co... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.18 \texdocfield + {public static final}{String}{GRAPH\_VERTEX\_LESS\_THAN\_TW... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no W in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no W in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.19 \texdocfield + {public static final}{String}{NUMBER\_FORMAT\_ILLEGAL}{The ... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no B in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no B in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.20 \texdocfield + {public static final}{String}{PREFIX\_ERROR}{The Constant P... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.21 \texdocfield + {public static final}{String}{REGEX\_CITY\_NAME}{The regex ... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no Y in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.22 \texdocfield + {public static final}{String}{REGEX\_CRITERION\_ALL}{The Co... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.23 \texdocfield + {public static final}{String}{REGEX\_CRITERION\_BOTH}{The C... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no B in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no B in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.24 \texdocfield + {public static final}{String}{REGEX\_CRITERION\_DISTANCE}{T... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.25 \texdocfield + {public static final}{String}{REGEX\_CRITERION\_TIME}{The C... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.26 \texdocfield + {public static final}{String}{REGEX\_EDGE}{The regex for an... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.27 \texdocfield + {public static final}{String}{REGEX\_GRAPH\_FILE}{The regex... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.28 \texdocfield + {public static final}{String}{REGEX\_POSITIVE\_INTEGER}{The... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.29 \texdocfield + {public static final}{String}{REGEX\_ROUTE}{The Constant RE... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.30 \texdocfield + {public static final}{String}{REGEX\_SEARCH}{The Constant R... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no G in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.31 \texdocfield + {public static final}{String}{SEPARATOR}{The regex for the ... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no w in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.32 \texdocfield + {public static final}{String}{VERTEX\_DUPLICATE}{The Consta... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no A in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no . in font nullfont! +! Undefined control sequence. +l.33 \texdocfield + {public static final}{String}{VERTEX\_NOT\_FOUND}{The Const... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no V in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no E in font nullfont! +Missing character: There is no X in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no O in font nullfont! +Missing character: There is no U in font nullfont! +Missing character: There is no N in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocclassfields}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.34 \end{texdocclassfields} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: \begin{document} ended by \end{texdocclass}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.35 \end{texdocclass} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +Overfull \hbox (20.0pt too wide) in paragraph at lines 4--36 +[] + [] + + +! LaTeX Error: Environment texdocclass undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.38 \begin{texdocclass} + {class}{FileInputHelper} +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Missing \begin{document}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.38 \begin{texdocclass}{c + lass}{FileInputHelper} +You're in trouble here. Try typing to proceed. +If that doesn't work, type X to quit. + +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no F in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no H in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! + +! LaTeX Error: Environment texdocclassintro undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.40 \begin{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no H in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocclassintro}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.41 ... reading text files.\end{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Environment texdocclassmethods undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.42 \begin{texdocclassmethods} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.43 \texdocmethod + {public static}{String}{read}{(String file)}{Reads the spe... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no ( in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no ) in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no , in font nullfont! +Missing character: There is no w in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no ' in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no , in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no , in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: Environment texdocparameters undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.45 ...line, and so on.}{\begin{texdocparameters} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.46 \texdocparameter + {file}{the file to be read} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no d in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocparameters}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.47 \end{texdocparameters} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.48 \texdocreturn + {the content of the file} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocclassmethods}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.50 \end{texdocclassmethods} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: \begin{document} ended by \end{texdocclass}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.51 \end{texdocclass} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +Overfull \hbox (20.0pt too wide) in paragraph at lines 38--52 +[] + [] + + +! LaTeX Error: Environment texdocclass undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.54 \begin{texdocclass} + {class}{Main} +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Missing \begin{document}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.54 \begin{texdocclass}{c + lass}{Main} +You're in trouble here. Try typing to proceed. +If that doesn't work, type X to quit. + +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! + +! LaTeX Error: Environment texdocclassintro undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.56 \begin{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no M in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocclassintro}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.57 The Class Main.\end{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Environment texdocclassmethods undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.58 \begin{texdocclassmethods} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.59 \texdocmethod + {public static}{void}{main}{(String args)}{The main method... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no ( in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no ) in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: Environment texdocparameters undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.59 ...The main method.}{\begin{texdocparameters} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.60 \texdocparameter + {args}{the arguments} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no s in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocparameters}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.61 \end{texdocparameters} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: \begin{document} ended by \end{texdocclassmethods}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.63 \end{texdocclassmethods} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: \begin{document} ended by \end{texdocclass}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.64 \end{texdocclass} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +Overfull \hbox (20.0pt too wide) in paragraph at lines 54--65 +[] + [] + + +! LaTeX Error: Environment texdocclass undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.67 \begin{texdocclass} + {class}{Terminal} +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Missing \begin{document}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.67 \begin{texdocclass}{c + lass}{Terminal} +You're in trouble here. Try typing to proceed. +If that doesn't work, type X to quit. + +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! + +! LaTeX Error: Environment texdocclassintro undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.69 \begin{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 70. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 70. +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: Environment texdocp undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.72 \begin{texdocp} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no N in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no , in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no k in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no I in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no y in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no . in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocp}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.75 ...em.in in the same assignment.\end{texdocp} + \end{texdocclassintro} +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: \begin{document} ended by \end{texdocclassintro}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.75 ...gnment.\end{texdocp}\end{texdocclassintro} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Environment texdocclassmethods undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.76 \begin{texdocclassmethods} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.77 \texdocmethod + {public static}{void}{printLine}{(String out)}{Print a Str... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no v in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no ( in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no ) in font nullfont! +Missing character: There is no P in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: Environment texdocp undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.78 \begin{texdocp} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocp}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.79 ... String out must not be null.\end{texdocp} + }{\begin{texdocparameters} +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: Environment texdocparameters undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.79 ...ll.\end{texdocp}}{\begin{texdocparameters} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.80 \texdocparameter + {out}{The string to be printed.} +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no o in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocparameters}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.81 \end{texdocparameters} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.83 \texdocmethod + {public static}{String}{readLine}{()}{Reads a line from st... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no b in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no S in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no g in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no L in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no ( in font nullfont! +Missing character: There is no ) in font nullfont! +Missing character: There is no R in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: Environment texdocp undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.84 \begin{texdocp} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no R in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: Environment texdocp undefined. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.86 \begin{texdocp} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +Missing character: There is no U in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no C in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no + in font nullfont! +Missing character: There is no D in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no c in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocp}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.87 ...he end of the standard input.\end{texdocp} + \end{texdocp}}{\texdocretu... + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: \begin{document} ended by \end{texdocp}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.87 ... standard input.\end{texdocp}\end{texdocp} + }{\texdocreturn{The next l... + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +! Undefined control sequence. +l.87 ....\end{texdocp}\end{texdocp}}{\texdocreturn + {The next line from the st... +The control sequence at the end of the top line +of your error message was never \def'ed. If you have +misspelled it (e.g., `\hobx'), type `I' and the correct +spelling (e.g., `I\hbox'). Otherwise just continue, +and I'll forget about whatever was undefined. + +Missing character: There is no T in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no x in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no f in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no m in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no h in font nullfont! +Missing character: There is no e in font nullfont! +Missing character: There is no s in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no a in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no d in font nullfont! +Missing character: There is no i in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no p in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no t in font nullfont! +Missing character: There is no o in font nullfont! +Missing character: There is no r in font nullfont! +Missing character: There is no n in font nullfont! +Missing character: There is no u in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no l in font nullfont! +Missing character: There is no . in font nullfont! + +! LaTeX Error: \begin{document} ended by \end{texdocclassmethods}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.89 \end{texdocclassmethods} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +! LaTeX Error: \begin{document} ended by \end{texdocclass}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.90 \end{texdocclass} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + + +Overfull \hbox (20.0pt too wide) in paragraph at lines 67--91 +[] + [] + + +Overfull \hbox (5.00002pt too wide) in paragraph at lines 67--91 +$\OML/cmm/m/it/10 =$ + [] + + +! LaTeX Error: \begin{document} ended by \end{texdocpackage}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.93 \end{texdocpackage} + +Your command was ignored. +Type I to replace it with another command, +or to continue without it. + +) +! Emergency stop. +<*> docs.tex + +*** (job aborted, no legal \end found) + + +Here is how much of TeX's memory you used: + 23 strings out of 493698 + 332 string characters out of 3144409 + 55149 words of memory out of 3000000 + 3449 multiletter control sequences out of 15000+200000 + 3640 words of font info for 14 fonts, out of 3000000 for 9000 + 1025 hyphenation exceptions out of 8191 + 18i,1n,12p,165b,70s stack positions out of 5000i,500n,10000p,200000b,50000s +! ==> Fatal error occurred, no output PDF file produced! diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/docs.tex b/Uni/Java/WS1516/Programmieren/Final01/bin/docs.tex new file mode 100644 index 0000000..18717f8 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/docs.tex @@ -0,0 +1,96 @@ +\begin{texdocpackage}{edu.kit.informatik} +\label{texdoclet:edu.kit.informatik} + +\begin{texdocclass}{class}{Constant} +\label{texdoclet:edu.kit.informatik.Constant} +\begin{texdocclassintro} +All constants used in the program\end{texdocclassintro} +\begin{texdocclassfields} +\texdocfield{public static final}{String}{CODE\_NOT\_ACCESSIBLE}{The Constant CODE\_NOT\_ACCESSIBLE.} +\texdocfield{public static final}{String}{COMMAND\_NOT\_FOUND}{The Constant COMMAND\_NOT\_FOUND.} +\texdocfield{public static final}{String}{COMMAND\_SUCCESSFUL}{The Constant COMMAND\_SUCCESSFUL.} +\texdocfield{public static final}{String}{EDGE\_CANNOT\_REMOVE}{The Constant EDGE\_CANNOT\_REMOVE.} +\texdocfield{public static final}{String}{EDGE\_CONTAINED\_ALLREADY}{The Constant EDGE\_CONTAINED\_ALLREADY.} +\texdocfield{public static final}{String}{EDGE\_VERTEX\_NOT\_FOUND}{The Constant EDGE\_VERTEX\_NOT\_FOUND.} +\texdocfield{public static final}{String}{FILE\_WRONG\_FORMAT}{The Constant FILE\_WRONG\_FORMAT.} +\texdocfield{public static final}{String}{GRAPH\_EDGE\_LESS\_THAN\_ONE}{The Constant GRAPH\_EDGE\_LESS\_THAN\_ONE.} +\texdocfield{public static final}{String}{GRAPH\_NOT\_CONTINOUS}{The Constant GRAPH\_NOT\_CONTINOUS.} +\texdocfield{public static final}{String}{GRAPH\_VERTEX\_LESS\_THAN\_TWO}{The Constant GRAPH\_VERTEX\_LESS\_THAN\_TWO.} +\texdocfield{public static final}{String}{NUMBER\_FORMAT\_ILLEGAL}{The Constant NUMBER\_FORMAT\_ILLEGAL.} +\texdocfield{public static final}{String}{PREFIX\_ERROR}{The Constant PREFIX\_ERROR.} +\texdocfield{public static final}{String}{REGEX\_CITY\_NAME}{The regex for a city name.} +\texdocfield{public static final}{String}{REGEX\_CRITERION\_ALL}{The Constant REGEX\_CRITERION\_ALL.} +\texdocfield{public static final}{String}{REGEX\_CRITERION\_BOTH}{The Constant REGEX\_CRITERION\_BOTH.} +\texdocfield{public static final}{String}{REGEX\_CRITERION\_DISTANCE}{The Constant REGEX\_CRITERION\_DISTANCE.} +\texdocfield{public static final}{String}{REGEX\_CRITERION\_TIME}{The Constant REGEX\_CRITERION\_TIME.} +\texdocfield{public static final}{String}{REGEX\_EDGE}{The regex for an edge.} +\texdocfield{public static final}{String}{REGEX\_GRAPH\_FILE}{The regex for a file that contains a graph.} +\texdocfield{public static final}{String}{REGEX\_POSITIVE\_INTEGER}{The regex for a positive integer.} +\texdocfield{public static final}{String}{REGEX\_ROUTE}{The Constant REGEX\_ROUTE.} +\texdocfield{public static final}{String}{REGEX\_SEARCH}{The Constant REGEX\_SEARCH.} +\texdocfield{public static final}{String}{SEPARATOR}{The regex for the SEPARATOR of the two parts in the file.} +\texdocfield{public static final}{String}{VERTEX\_DUPLICATE}{The Constant VERTEX\_DUPLICATE.} +\texdocfield{public static final}{String}{VERTEX\_NOT\_FOUND}{The Constant VERTEX\_NOT\_FOUND.} +\end{texdocclassfields} +\end{texdocclass} + + +\begin{texdocclass}{class}{FileInputHelper} +\label{texdoclet:edu.kit.informatik.FileInputHelper} +\begin{texdocclassintro} +Helper class for reading text files.\end{texdocclassintro} +\begin{texdocclassmethods} +\texdocmethod{public static}{String}{read}{(String file)}{Reads the specified file and returns its content as a String array, where + the first array field contains the file's first line, the second field + contains the second line, and so on.}{\begin{texdocparameters} +\texdocparameter{file}{the file to be read} +\end{texdocparameters} +\texdocreturn{the content of the file} +} +\end{texdocclassmethods} +\end{texdocclass} + + +\begin{texdocclass}{class}{Main} +\label{texdoclet:edu.kit.informatik.Main} +\begin{texdocclassintro} +The Class Main.\end{texdocclassintro} +\begin{texdocclassmethods} +\texdocmethod{public static}{void}{main}{(String args)}{The main method.}{\begin{texdocparameters} +\texdocparameter{args}{the arguments} +\end{texdocparameters} +} +\end{texdocclassmethods} +\end{texdocclass} + + +\begin{texdocclass}{class}{Terminal} +\label{texdoclet:edu.kit.informatik.Terminal} +\begin{texdocclassintro} +This class provides some simple methods for input$/$output from and to a + terminal. + \begin{texdocp} + Never modify this class, never upload it to Praktomat. This is only for your + local use. If an assignment tells you to use this class for input and output + never use System.out or System.in in the same assignment.\end{texdocp}\end{texdocclassintro} +\begin{texdocclassmethods} +\texdocmethod{public static}{void}{printLine}{(String out)}{Print a String to the standard output. + \begin{texdocp} + The String out must not be null.\end{texdocp}}{\begin{texdocparameters} +\texdocparameter{out}{The string to be printed.} +\end{texdocparameters} +} +\texdocmethod{public static}{String}{readLine}{()}{Reads a line from standard input. + \begin{texdocp} + Returns null at the end of the standard input. + \begin{texdocp} + Use Ctrl+D to indicate the end of the standard input.\end{texdocp}\end{texdocp}}{\texdocreturn{The next line from the standard input or null.} +} +\end{texdocclassmethods} +\end{texdocclass} + + +\end{texdocpackage} + + + diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/Constant.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/Constant.class new file mode 100644 index 0000000000000000000000000000000000000000..849526dbc88ee23b2db2a5e888287172ed17a618 GIT binary patch literal 2079 zcmbuAYg5}+5Qg^>D zq5r9$I@1sN0sT>(zQ;0fhSGlNcr5vmcHgsSchCCIzyA0@L<_V#M173zhrUD7tg7i-wuc8U zqw(UIaXE>Du(8PK>WN&HH#;Ijml;iEw`X>rZ$HdG*`3~=$2I+#V{|Q*HY{(;xAl^l zp%F$S*=;@lg6H4ncV}R8xoocMuI@Q*hORN{%jX#lr+#K(6)xk9EY)T499+0Ij4phR z45ZqtuD-tJuUJK_Fv+NqRaJMw+`C7!$N7AACsd#RucdSE=4X!?UGL?@wLH_c9NYIS znV6f5`jem~7~MQ?P_W9LZW}PV!)PFmIti@)A+zjwYZ>~4(NJ^%A>L#(ab8I;7BloI zqf5Mr*CXlcvZ=cUT)$v+JDZg;!G;{mGz=!=+bc-9arxhG=myXgmx(6MEs(?j5=Zc%-nW7f5oZTg$$t^MteqKl$;n& z%GU6E;)?Y{Mhl|e5Lzt?6CQ-^?gBwgw6$cPC)z$g6q?l86C%`tFi3)C@K#{y@vfqw z+fvOnOHLKBK4vtT%JJ~NbkbtciVmgyRBG?oo^IJ@!AELcQ!i{~=o{p*>lCy#WFZ#3 zesmI#^qjOSrDfB_2HleG`Bt%LuIi}E6GlriG_Hl6)}Dy9YsHX%@5Yow+FsB=w#Q^U`x~xfulCe4w1jl0iId|%)DcM>oo&>!g`kUKW85zBTe zy%h<_Fxzk=>*$C*MDR^6G9elZV$eV%8POHUbD^3_r!Stnr-W9Z# z<)rwT(bHrfd8tKpagv{dsND|snnFV%;!cQ86R|+;gmx5lv{t9xtx_X`>fn;>xo0?m z*<2MT-hj+7U83p;xm3o$EC!*lyXE&dB;^o}YP?zHaUi+(uwTZ&=x*^p#yw{Ba5?J4 zHL(&%q0_(0C)JGZcu)*ctYXp;2R20fo~~% z8}zZlcft1**1(@B{5kkbg}(x470!WY6rKe?Pezg74<@Kc2s!QU(V z4E%$_I@nOS0A5je6>KT|BeBb5PfqX--4n*L33Dvh1b|&Yz#)sX@j|bxm$4r_RO(o@Ml>V6AOQUKgu{< zjM2($GCOZR-kX_^&$o8~$LJK{5L_Ll-khz+<~B~2%JSSBt=W#&p?65uzmU|Amqb1(gYe43MXvXo=U7g9t858Nveb@p?w)#xmuWAUb!MQe)$!^ z4HR{R1jb~!p4zefl&YlETj3OqW&wHNhOS?uhzS#y6kybM zn^YM{Vp7Ltf#DNKUz6Uh?N}8PQ>yyzD%tf_FAZG5RUN60X()VL^X0CIYq-wt$fq_Z zLrW|rIbJse23kbS)i*b#C(A8%)3~YFy(Q3hR1fKIDznL=fi&)z$OKudjw|>mast9I zFr!$$OV3vDrPVgK%JZIyIW>UcQpK&2TWymAt)?%q4`%piWJs$gYxN3qjvdpsC=>|U z4m;E|=$H}?q+sOH4%M-K(~2-^ssx7Grk#wa(XOyaPFvgJg|etVRq(CSPTr~pd!yss z&Nc))prg>DB`9<4iRXUQ+&!b<*1eKcyUki&TJbB28MctS%x?n_;vaXIZ=J6+Pr);M zc^}cA1GT|lgGN9h=^!p&DW6N!a?Yu_h{{u65tz5v|l3@ns6bD!cf ze9kk&+ZQb6OMHc|`TiE);Tg{^dH~yq^LGqUjPpIgugE0~B7teH+%+y#hC4Ki6z=0H z-lpUsuH!KoexEW6H?fIZ_yo6!ktJS^NOy>oB~}jK;4aa!#LM9a+zUuwY!b_O4~QGZ z_n5~5X*X!~78co}L1wf>tS(}^cn8b8&Eg{R^w5YmOzjG9tMvZ><{`V;rQ@NF9-Y|> z9V79-aYjd)!l6ULX>Bcq%3!9%{|7oA9WsGPhnB*?LL4%aPDd=zOAXcG6XVmg9om6*x0y~6e~nMZ zXI_A4!VmCA8Sk_;#<)bY$;{lnckVs++%w;Qe7y#+g&i9ShDlLr2PaYoGCYb@gKK#b zQyjo;hV7<` zs){$f8gF?z@=C&MX|A-Wcps#$c~L05CZ_1)u4NpgF>YgwVJ)UU#WrNf z>oRP%b#P$TJP&zQC>Il$Watx0MT%kEk3;5Q8h32W{6SygV@r#Mi@TVm&cvA{DlPvY zQ*>|-^ENz&AO;FG*Q^BwcNfenW4~z2dc}abj|GMy<2{Tz9)_(rNO2^0Gk0$78akHD z{FWIO{C`Co%xU;8GG^XM)ear3V9mxV4J4)qaaI;hEu)aAJSA2u`viEuqqV(XE*I+v z7@VrmdC_VS*9>ER=5Kn5HLj|poOFyT7~Bp`y=f7palPC;UJ@On!aH%d{-+DNKU~nf ze3IwQp3a>@)K+C-T4oqD4{P0s850O_)IY-@kaLA`UH1$};Ub&Ha{LDnqw evf1gyc(?GF;6I`N14yP0ZLADYt!=Usc={7OPA9?u literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/MainTest.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/MainTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f069e704d44c8602b78758d1069693a329865183 GIT binary patch literal 2434 zcmb7F%~M-d6#pFpB#oirOFpdB+D|ByfVNN)v|tEY2Kap?s@Or^ZT81?m74U z`p*wP0=SI08#ROzGF1pADZLdJhDb}xi!QW#@ixx5 zar%Ya&u!US=6pDda~!lSU$!Ki?2a8~_a)p=&w?8lUIf&ZGSVLOaF&;X2`_qa$&Efj z`w`AM8StSW0Zv?wW!|#x+yA92f)!Z?2_1)ily@{@Stf@!fOZcq6GGu&BEq$jw`F3( zv@&*HBxPb!86rC{m?-8ik+wvB)lQ@e`K(F`EhDM4?AM#xgCWATR|k-6x2W{0SY2*GO1xtdHPb!h)VmG(Mpa>p2E!7lMnRF}PCzt65qYb9%Lln^EfSF4Di zh_ECr)3J7Aig4SJDg*SB^Nw!^G!I$Z=*arS5q^65AQbIwO^yw^&J`?@kbY$`B`6FQim3nYxr*E zyACzJF+OLV1B{;zQh;X%tM1|s+8pbe|5^J=3($d1))U@f;~Jb`+2MGTX9jW!=4Bq5 zd5o@GJ9ujsr)u|bKGy4M?w;%2#l>&YxDDT946yc{pJE5fcPlBcR8kICQjSzohAJuF ztE9YENjY9g8Lp&^9Hk^q;UoU>d2yac6c-TY5yb@V@Q6a-9*-#QW1B}5Ut)(x6uWrB zBZ}Yf7mp~O(Q!JCDEX~MV-h{7qT2(j{0EHAZ!{!fr41)NH=I2cPWm~ioI|bKBr3etJ#lsj^;Yo zabH=QE=wzA=|Nd~SeEw6($li^{6J#A_L13}0}iJLN6@z7=Ir0D`oT`#V1OFL{sj~- BaZ~^R literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/NoExitSecurityManager.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/NoExitSecurityManager.class new file mode 100644 index 0000000000000000000000000000000000000000..b0e321f08e649fe5e008a49dbc399afedd94718b GIT binary patch literal 824 zcma)3O;6iE5Pbsy7Zc1!+d#rsxP=_>0eYgM2LuvQfJ#)6dfb==mLxW^*H!pgoRC_n z-1$)zGqyz#9~Fn)+1+{b_RX97f4~0%*ut8F5kf<(eHvEC+>cB516ViXf)jA5KG-7=v* zO8Xrh|4^NtCd{>>K=s-xHgYc>OZLJfgl6l#!nT<@xX?lOyN>%NNlX+HmK&{1YEm@e z50l%Ox+?|~YHy22=!N57WCdA&{vlGa#6*S*jZt_6RT{>PSF9uJ&Dpd(ECPgt-U(G4H1Mj@O*gu zK#5O07v3GdZE_@zW6fK9xZ%SHT;5%dz$}C3Fv+KK4&pe)H-d+0-i6=`FTv8VSh#^o zR#?fCMWK|=Fs=OQF?CMyjnSg*1w}2RsOQNS6hih9pZEh3CkwKDMvES=xp<5DKdAoX dxOm4ePdi&-3s#>9^d8wgEMtYai1SiYe*ntns7wF= literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/Terminal.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/Terminal.class new file mode 100644 index 0000000000000000000000000000000000000000..1faddb931e051ac04c73a201f01ed471880972f9 GIT binary patch literal 1030 zcmaJ)tS$6&SSIUDV zHqm!~l=0kcp+yoOcIVEWnRCyXncshY`~Jm3Nw29K zyI~+IFnnTvw5^8i99cUDC$j1b46Q3i`L6^9a`}otbknU#69b4RFo+?6R7pAVUC=y` z-kyEXkOJwFTeTY%+f&-_UPk?6bt*7b`VWPoK)mHC$JdYoW4Tg~PT6PRsF<(BaSI~` z(pSiqznuEAnZPKHg;gvfVCGNqlU-e`bTW@>=g8HVS-Bl9oD0<#wTFk;-n$q<8$?P3HZq%mgO znBH$=X8#QL&hhXZ`E5cjeBExNuup;Ear6p literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/exception/IllegalObjectException.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/exception/IllegalObjectException.class new file mode 100644 index 0000000000000000000000000000000000000000..aeae4c4d34acb9b7a35283e99541239b3e91648c GIT binary patch literal 416 zcmbVHyH3ME5S%q81``M|f`*EYhr|_xDku#C3CV&YDE-+v%q8bDvd@U$qC%qJ1NbP! z+Pn&=*p*f{v$K1%uW!#U00xKxc!VQ0t;JkBq3umk=F;i8P!FlPbGoqN!WflFbCt|g z>dwCC06t-3Chw&%(q`hjLFk-ltKEpOxf}lo#;(*h8}3aA{%J8)Ar`RQ#UeU{UaYOU ztn);b*D^7R5XD6*%|w>E!Jnk>ZgoXCj{o6zNCRdPfZ~uMu zVKavv5Swp;IQasu0izK-PN1`Y@PwsDet8JFhArD?WrP*RTOTTPvC4?`SVOPfwa&;x F{~a^4X+;14 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/exception/InvalidFileFormatException.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/exception/InvalidFileFormatException.class new file mode 100644 index 0000000000000000000000000000000000000000..e3a7cca0281c5a27a6adaf31c73f54f638c334e3 GIT binary patch literal 509 zcmbVJO;5r=5PbuMYDGX44|*`(026!A#25@0BZ*1l1=IV|uDH@}Oo{LC@ zLlwzkfnI$=HY~#SgP0395_;l(0fg#>(kdSi%AKxHur8BOIw)hkh6<{LhNrZ=nZ;w7 z-imP~2`w)PMC6N9nSS+X<@YKhoO}Ot*eA3*-nYY1o+>@*cYWifX}r`4b}X|@ObQRb zs03$}%+f%b{RszuU*p)!;t;$u-xerw#k+E}xjW%ZoGZNr)}9O4;pi|8Xu`r4Hn^%S uNt`#iGXiyvMqt29!>#s?7HIrb*kk5?p|HDTtrVEg$}QI5pW^8fc0K?|KXIV| literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/Edge.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/Edge.class new file mode 100644 index 0000000000000000000000000000000000000000..c1166861a70132d1cc7bb297df494c12862c9c33 GIT binary patch literal 2744 zcma)8T~`xV6x}xo1mcJoN)W15@QWm3tfe0|NUI1);(6vhJYS-%OQy==Hy1MV&n`A_2e8|k1JLlZJ&pzj#$v^-8{wIJ*tcMX0 zIAs;%}Ob?kYBe7ZW!GHueDca zsv9-aG4o|hpr>eWx@M(7Q)C1}uDwCCYt?o(U4hZ;p>Ru<<67UQ1-dt_LbXz)F=bb5 zcUs`~c*n4g4w+1RiF9VFMJs|JjvF|Ns6cQ$zSIk5V<3Vf(ux@{ly$;D7(H@r#6T~4 z1de6xigmxfk++;hm2Na!Etusc)3N2VUJSWw_NKt;!%0bPnW}ig-!}qBN|rm@(v6&` zT$pQ%o_O8X*LAbZ4F|`wZP8UJ((x6U&P4;`h*NzA&6LeeIuDG;ecs+;TDm3;oWuDD zvzjn)87UPsr|NT-L7gfT!J9~iag_;naFrmF2Hut+y=0ctg$-8o>jF_9J)Mle(VS}* z9?zRKEoF~e&AEszW7kuJZ|suP}~9T5#7arx`c< z3UM79M&Ni}79>~Y2`?(bvNR72JOojD3*P*&7OSsDl&X&X4=?X*#WS+`lJfF}fhE-e zUr9jokaEddk-&jx%-hV8(T@ZoxoX`hSaY@b zxrc$or9BKLPVHeRF&Nsz@GpED!0XZn-MpS9#yReNo_k!t04`#fgXJXOOsbu53UBa9 z`kyAE@T@bm0-hz=1wBjh3-SFZ#x$E0@6x|3@hgUQXei)rZ}Ex;BI(mXg9y?&D0p~( z@U;VjIpw&W)M1BElHW@5Z!9MpxDXW$B(`ub`4?ziBB6l>u52Nu7T)5*ptsN!+G+c! zC7+K9qEApV3i@=MLqBfgD(+CX4BPK69$?;M8BxZkvgX*clkE_e1zz3fwKswMR&$Z5=F zt=33V>#~i0Y0C7s(G}bYwX;>l%lk4LX=T>z5SbbK_XM|J#HSjhra{J7`sg* z^*pdEBz+}q%xl37Hd}@ARw;K4XW;n2$6DZHx;?e5{l|#QkDW&Mx8lHleZKSQ({4q6 z#104^+#meI0l@(|e{}GVx}aI9trB(l8OB~JuX-gbD=Vm9vjV#MGMW$ibxWZ>?hgFK z!}~KP@YKg8tCi8km>?YvGfnD|E=DZD!|~actT89X=Slt=__AGXwLL3?ZT?$&<`X{F u5xgFpoh6xTq#33aN9`%f}IZ%ja*)c{t#YYA)K-Tn_8axg&v literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/Graph.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/Graph.class new file mode 100644 index 0000000000000000000000000000000000000000..29cee699e95c44475b7bef23a3d075077e22873c GIT binary patch literal 6157 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 L1B3jKRd4+l$laRI literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/Vertex.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/Vertex.class new file mode 100644 index 0000000000000000000000000000000000000000..55417f210ae7a88800fee61c9452d25f56cf8f79 GIT binary patch literal 2156 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 JkM6E_{|B|bRowsp literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/GraphPathFinder.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/GraphPathFinder.class new file mode 100644 index 0000000000000000000000000000000000000000..bd8b9fa3412c23d3c2cce1fff7bc332d19e40231 GIT binary patch literal 6892 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 Z{sS8SA&q~Z#(#WdjaT?Hqu|3|{tHzM{q_I= literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/PathVertex.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/PathVertex.class new file mode 100644 index 0000000000000000000000000000000000000000..560a6025977a292c19959a62116aa35f76088824 GIT binary patch literal 3793 zcmbVOS#uOs6#i~z>5w!e4lxk75JAjB98?4)IEn!^I)-2{2rk%}X)>M6Ob;_XF}Uyh zEG(+o2ywJPbpeeXHn*}ik`{PFkCzW~^V&kVFF zB<*Z9x!`z7r+CyY7c9?NNY0h5QZ8AtyxdWzn01PC$tkX9?6PMs8Hg%$&s&RDGH>x@ z-|W1d@f4z2%d->)(k=0P{V|31QrTW~+-gPP=GNlP%~L(E3Wdnv(99|*tTnL;9kRO8M5n)6XCj8U?Dd&2 z(5}#xc8d07wJ>X!4_LE#I*>@a87n_yl^yvGHltq7VVG)Bp|fIpQ?9&g$i?f< zxiHABgF~%jZGoa-5Mz%n*2b0eYvo!^`AOTE%gwsgGJ{DCrgizNo|8|eS%9(7_qdzS zlMjwt92;uBt*~m^nJZdewal#j)(E!iKSz{mZhr-!z1cZ?EY-rn74%x9G&N>mh{UO9 zWp}x39hcN}U=ZD%*n*o3j4JfhMe2z%k;GPV+41bM<+){rUe={9IT7rSb>bFmGjJ=p zcKNA^+pwLqF4{}%#-57^p&q4|w<}!RvOgs&o!BX^vdh-gP56QAz?~*ixQj;_x9C|; zvEozY-?iLf$--_E_h6i{UPNG%1q28?I;4g7nz&blBUUymq2F&}0uPYCIjb_Mqh!k- zCfFhelasMY&F)azG&2=qHpAjkZ|JC=dj{H33~@Uu(hB{pNvOHQaU(|UCBeOok8gt9+Dus!l#@mphQdyaDHuOU#!rv4A}NTD0<2dmk}2H{+(C)(|k= zvr&{=#BHE+;Qr7|JC5-Z*dT%x6CSE0kX0(##jL_;*vLhV%Zvox)0RS3aHtuncpMgq z%Vb&nxP7c@rFT2^nFxDNfYddI}$ctTe1nRpUUkUn0aG*$Zr!Is;*l(9(=w^%Xo z5$8v}R^x&^>3Y-EQpsh9Wox1W_=$3)b^_v$v-)ksI|M^_QFN<<*eD@8XMb~iT3=;C_86G)<-eGkH>wna$SMhn3 zh8>`Z>-lS8Bh@!yEpEViY{u0*@AZLjjW$b2TuTjdK#~-gO9kfQVjzUwp>>mVeQO9S zUc-v(U<7M}4pm%FYHT1jd>ZS2sJSU7f!j5Vsn@XpM$z$&+-X$qZB*XfRCyC)ZDXvG z+8YH#9pOq+TsV)xLuWBOx#b*26n4hG#s0q7Ioz!9D|YORj-10C+%~?&);=THRy*T; z(Z2X;^e$u9Nvs>~i=V^YZ8!x}FZZR>gQ!OMVu(n28h*8-Dz6c zpxGsw2Wpy+)HG*!dQkfky+BUH4Jd>0VhjIRxm$n>q(^&r+rSPv(1%+tkWfvOXz5WL z;SzqER{5RQa)*a*ELjr+P><{h#9^A^*9j8nKRruzG5| z<7^0`s5ijXY_ocE`3>+a8{j#O;5Spa0i=7S0XSWnVI>-|UMJQYEwE%F2o^7n0PA_i zD03jmu*gU&&G-7>F>oICp^=|3cNT?2X&GhNUdAF<%Xm6HB4mu{IwVLL;6oDTBXr?o zjN(Mdcrr*uJ3D6y$7xjP(hl_(Mh)IhN``RYN|ug@EBzzOcy^fo%Xsk=Vv+B~wUJ+; zw1+QC=6%y^_y$grC8yAh&qHSWYn<=LD|j_9%W8JhTTa!$;(QSN=JQa8#L8K`o*wZ- zeN)~&%XnMfiDkU2WA?e%%M=4&aGZXL9(+Y(UvnmY6LMg4;DE^-y)W^0@1fo8jPC<# fMrr>;P3{}G5{ktb@5hbfNNGSxiNdFRw&BD-1XoL5 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/PathVertexComparator.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/PathVertexComparator.class new file mode 100644 index 0000000000000000000000000000000000000000..1907df2e41550ab5d15e1a807e25f6a26d1d4754 GIT binary patch literal 996 zcmbVLO-my|5Pg-zjK;Xe&t2V5_p*t*+7~^@h_Hx4AnYz=$z@NSNjqsxW0?)VM}!qaip!#(Lrqb(&{4-8ae2S zfwbKN9d&dRia&gADPz^?ZrmS8BW-Lv6bO|=c_Kwma?S7dp$e>rB4OTT6RUgTv7S)e z){(Y5gnYHuA{2Jxjw&IK$uc~Q6Q&zFQooXZTbaMI-BX0wMjXgqOB$WV!(_pB^)bP3 zyxO`?@B;TEtf8t|i83quwK`!uRJIw!h9x($OFD+*{|uYi8R}`z%WPt=6RM$+uP@M~ zWzP7wYGZWD{?kmY?qQiAG7hB#!iO>{m?4y!abg0suhY>lJ$L8UQzL|lrVb-%leCxr zo?3axj9kC%%v0X+3oGm{&uffdOp%eVDen^;2}WWZTfIc-oDVsahef~?f8f{^;0>nX z-U?CBwu6EJTpwKe!s!e4_+5|e>NgQP9*2DAKm^5pB;X= E2aGQm-v9sr literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/PathVertexDistanceComparator.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/PathVertexDistanceComparator.class new file mode 100644 index 0000000000000000000000000000000000000000..d9183ab82fad5d122101d2ee0efee32020b0960b GIT binary patch literal 1442 zcmb7D+fGwK6kXGMOA#!BH*T$>rxZD$U_xq43~D5)m!zf-zD-YuGPImiPfv-z;3xRz z2k_zxCO-H9ew1;|X$1om)0dgqGkdSK_GNzk{_zvQ1|B965qPE=J-ej?Tf4iSe;@41NG^-?gr9z)V6ofk-iK(KZ%&Y)`&2t;R1;#+SS2R zfv8oi3B+X8^|lhoRXj(wYtq-o9$dzPJ>3=9u8b(< zd`4w~Y*Pg<8ckJoJfDOGYdETLD;IY%xQeMHasqQh1sK;Xu3=hWj0As~!_0RC1eq58 zLnM%N!qU@MU83sZ?v;n54+$`d-NsxJvjXTP{rIYGJj!Qf8`#CNsd4FuLlmPm%Kay+*oFkTI$(|RpCgPBON%7Yeej9#pw>B*r$ zs(XU6IXcQtv1U>%WwC+>Y&^kE8y~ay%;dZMITK{eRK1?>sF&JIdj7JXw`!`1JUBo6 z(co_(5)xdKv>tI6=63lzQr~!pAj37o9hgLn^E$>;w(rD!oR+{9OmH;-TilIrymXAo zBOdwy1|OIWgJ=2+#|Qe$tr~k7W>#I3M|&65Gu47Q6TqS;>8ioq|>}! zV)*&&7SCq4HYB_IA+{iYaRBpbkX@oQdyM6?W!@z7<9~D}PIM;F#{&Dc3Y#bbYg8J+ F`X94GR<{5E literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/PathVertexTimeComparator.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/graph/pathfinding/PathVertexTimeComparator.class new file mode 100644 index 0000000000000000000000000000000000000000..07afdc0cf57c542550894fdda0bdab035865bb89 GIT binary patch literal 1422 zcmb7D%Tg0T6g{2CB#c221YaN#MJ5CpQCLv%v7of1Dn6>9vT)Z-n$VDB;$%Yk3x0w- zKY)!Jta9N8_)(UpXQmJ-Mk|}{+qdsM_nf}BfByRZ1Hc*{6_62ls+t4$P=~JW?)gDS zhWgNL1+usA_GGxfr@KwvZMpAgH&hU+k2|`fHvLXd1~T-60&)TyLqhyX7qFh_t`46G zWSvSwAh+o^m5nS$O31?!7^~~9dNb(ks$fU%ww1s{-S=d>Ap>pBi8B}O>%PGA`jAxq zR#OuwwN&_`*;3n{AF$ZGla6S@YLzV;S1?(?gurZSaT8j?RZIyKSin?`6mJO#T66y? z!YnU(a>lBEFuJ&7wRH591S9GeW($}Ra8pHHoLs_f%(1WP!$7v#k}0QtAdjTmmK>wE zy9de(YnAr~e^Ma7r-ObdusSqFR_H6w?=}TSw?pY2zLvdY7K(h~qo23G^~i7|$sQ(Zp6&CkeZj|o`Ld_g{UOjl%OBA+=m zO{Hu^^>&nBMv)qA%wq!g_+b_>gGEl%QpBJfW1li`7&{*^ba0nehB<~;)*cz5djaD(()njzW99WTJgrln7B$2?Ev&#LioioM&0zI6 DelJdp literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/Command.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/Command.class new file mode 100644 index 0000000000000000000000000000000000000000..9dc1b711494a6660616750c4e61dece3e0c03b0f GIT binary patch literal 1754 zcma)6O>^5+6g|(9W5+12aa>afp-IzHTXriFNP)Vv6ql4R2_KVA7AXv)C?Zi}OGcJ6 z@CW!0*|A{RMVTS)3^Qa{^P3ok^PW`ICSG(Qy${`Y?mg$+r@#OG;|#!i_&kS-l!a^LvBHY6sn}?eFEF3zQD+W83Q3{=W6)?xE{M0=jQ^ zU4in(i%(lo==u9Cev_aA#hx89h_LNo;PZ@F7nr)^`CfFF71YijJ-@SF-zHu=*mDce zP&81$1p%#A-=2oRs|K=|lCxO@xp;QbKpxWq7dAZK{bJDFb;C#YZb#J`ICf{-4n4U} zHudPh>kF70FDnT76`ddqsX`)=z{Lq%>N|PNlk-9Wm$8_`!kCP)RtBzMNg&(rbv){G zeG<&$^P)(^YX;uNb?WK>UHkSfSbp?H9oU)!KymWZGPUEl^0?fK|>;2p5>yifrd- z)9xu#a#-bg_ea+mM6_*nf+~~T+7IpCf%Q#5yu!D^RRkjc@dJL6=kF`18WHz}aWQR<&j zVvRa-psW#zhe>LtFiC z;)n32BA9qLI#R);yS#H{C>wnh$m`f2%IH=Mr;O0}2zp~tg z2D=1H{*{ni&?wvfrD-ASf~*i|JSE zSvVjZWbkh1qjFJ4gHWEabJ`e0sAZII{If>sFpY0Zo)d~mJA`JIaf_`IoSQI?M)I>V zL)cuf@x*ZP9z1yd)qosFMU;58I6FsyBfvSX*cChf8_r{*Su=aA1u7_`igk|MREZ62 xaz@zVvy}3czlLsiexdq=xBoKg{8l4jG*jK2!8dS-X2P|(#t%t#ADNWH(JMW$$4meK literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/InputManager.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/InputManager.class new file mode 100644 index 0000000000000000000000000000000000000000..412e7a87e061f72bd57569b7c4f2c0d75361be5d GIT binary patch literal 3110 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 TII3Z4TEp!y0kY`YF4X=5mE_B> literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/NodesCommand.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/NodesCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..4ca7b919ba137c7c88316c0634160a6494e54303 GIT binary patch literal 1615 zcma)6T~8B16g>ki+pdd9h4QIT5NRoOl`qi(il~SJn$R>6;=^4|+E47Uu7;5I|I)o6;G`!6kvQt|_a(EtXi z0Mqb3AFWV-da4a|%wSf-eTK;ZH?ePtif6lyxl$^LA}_rze4xg9 z_UGEb13aX97lpSbs#RX3dUhlO+09`=!~Fk@@QNDbHSQ3aH1J6A4GSqklkgeAv&!a9=CSac*P%ReS->ZiRZQ&`S#O8 zdq;_(?xLrMUOUiAV$edXMyFYXXb0$Hu}Dl09m6=JQxn?M9esgLL=nd|+8GT?v?E3* zhU@6?QRc}~*+$dN6S2-CbbY2n14IP^dg}o3hLI0I=D2~I^q-~;gFe(3A`~W%k#9)6 z9ZMf!xOw6jqwC|DBaEHk?kBW94E2PLFnxmTAvv|7i{NKSm*O0+I}gx4LH9%G$1rZu zlq&vH4dB1wNAMVngh0XY1WR?oaXiH{!sM#yN9<>~p43&QsIh(<}BP|2FVzBpQB-K8HQQ2zJm&3Rv#$dTHP%6Q}1Q}NvxBP+o zJs!3F3zf*IUH^-mZZ(Twm@L79O=m+!;w%lXMRLindxF7h!~yR$c_Q^a2Tj$H_YAeh zzu||*tur{{Q3RY}a?8Q(FIwI)m zeAyOhsqRIbCV@DTdhV&AgHfc`={cDDTUKVu*^$y0U7U^~XlR99s>bah4ykWd* zyrTR}Pytg^%bDCG@(lH}m?o?=kia8MThC%Hw>u$~e$K9%zg%3xfkle2lsRk+Sh)l7 qF^`4J)h5;wu^E=JlDqnJ>X26T1?4Ad2GQ&cTpNmH{X|;LSZm*26{2bY literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/RemoveCommand.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/RemoveCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..9d88b7c275d5f2ef1499b45354a6674ebfccdf72 GIT binary patch literal 1668 zcmah}T~pIQ6g}Ifq{JY#3W5k$RA?!sh+jx63aE${bcCrRjt@(^mIzHcON!z@@fY~w zi!Z?Fj6c8^|B>U}q<$c&%yiPbo11gbJ$vqc`|kvqI9q=`9IBPOJDC0VrT05w|wx|jwe=AR-%s>21_URh22z zN9+#1Y9gxLehkq2bAC4Kp)loBS5&_f;Wql89m(!uaOn$%p68+ydq_`deysU%Z1fAV z&wI7rSi(pcd&uo#{5_5(ukT~>1LDbB`?#%I49E;3PVpte9ipa&sd$F0IYR!*l6yum zgE61zbWr&>(OKNZJ-?Az+{Zk%(MI`-e3Wp;@c;`X>;T;h4=IZI4Rs>&14SK=bPUl? L>0YAZ5iI@$uI;9L literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/RouteCommand.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/RouteCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..20c318ddaa9dda43fe662bb4c56097f7abbf9cdb GIT binary patch literal 4127 zcmcImTXP#{8GgQ4^2+OtlPGm+5lEHBZKT+Wh?Bal~t$a4CdR%ApMu+LCY#gsRY9P!4iJW(pS!Gr%w~!wkn8Zr~Si#SAsiw_4Z2u`rnl zaYo-^-|sy>@8Oqk{rF7)hwz$$O#%sHx|EzV-K1%qv7Nl`nsZ6laPp?5=S-_ma+4?R zl56zY`MhpTD+mb0Hhkh!3pDnamgycAXo$tf1pgK%&+EyYZp|b| zUB|R$(l_1=N=3E|nU-;)l%F!3F?}j$2!x01jGi0U9aEnD%Yd6Tivr1^4K1#9Qd(eJ z#&#SdjmE> zigDJ+FmwXu(6wJaMEYza#Vvg zDBXZQU!w~7q%8Z6lKfNNI^?^^x+ax5P_uE7Dr)u@|}TC5sxK#7Ag4Q6jz3Zxm!Laf%h-saq(JLDPEEjC*PQ5rXDmz<0-V9JSYTkXuXUwRF@*|Zxt z+=9P+h(`V@Jl%%?ckEF6!lAI*xCHGDo;G2NyyFUjstFNn;7c z4*~Dc7zqTsQc7neSiyZ4p>;+Yxw(XvCUd?4BBF)$En7~hwNvYRiOhiIgF|&lZh+09efm|I+1F5vwL$xw^l|h($cDR zrJ6lq%~fHNt`MQBRY^~4qE&0%e0li~^6s-zz-*0x3l#AATP>g|{DO>zFHm~nixQbt z;Jm^}$Y{uUb~`!=kOcqsb4WaZqv*oJ+&#i54dY(?5clIM=fdA3jel@`i^HD4gQA6# z-8LK%t>_c&oYFeE?#F=W!!dE1YZimT=5XfVxR~ca_5_B-vltQ2aesj`*Adk$n`tUK!3!f_!H-yzcPe>V+WR5^E_H4LRSFI-9=m?e&yYl@fE^d6Mx26@ip4E zom?c`15D|kE?mL4p;GsLyu!CCE!c@N zzcy3PmAfk|cQTR0K7^O)sE`7opiRME1?>u6RdCSz-v$K#g+tz_HjV$5(F&~|ag~f( von}au854B_N^DtX+_wC8DyjoP?Op}im+8n2nf^a`{*(R}_zt7E3E%xUORr2# literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/SearchCommand.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/SearchCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..ba00b0f2f0fbe050a15421a4f5619ed3d00399ce GIT binary patch literal 3039 zcmb_e&2v*#6#reC1%SEyf%3+yxbtg z;s+|aa}668F1nBzg&9*uW^|(q9ohH?=)xH{x{;+bqUXLmYzxVBI^#?x_v_qqfA@FJ z{hjy2qp!XO(2b82tYYZk=~8Uk5HZ7?wCubtjOm!*cHS`coM9G9A~wQxJC*IX@_F4% zEATLcm)+x9Gx&N8(-6H3b>YYugQwq0b3f{7q3F2vV>QFUN?+?K3f&g{hM4J1^rU%F z5C~ydraL2yJfF3#lHjvefd+c6H-I{V!OycR8q=eBh zWSIO!DL=vOQGFuE8G=JrO3#hywjsyvq(@|pBE$1T%iebhM+t`YDa*EbN}SYfJHd-6gmw%}O?h2oUTa&o${%B7{x ztqhyPVaZrzHtcXlt;<>@!VoAdLbjm_ForcFLQhQ}*9$Hi3ctcrL_WjbDu-6%C}Zn| zZ0v~qPejHP>}2S!LS@CQpo{FJVWuf;l`SV}Vvr`d9Y8B03c?IqYi@T=QL!6s4E_uk zhtnC!PcR&*kX{l-E;eKoMIwL}L}ku&Fl=ydvalK%3xGndVh=hQno^atAGH=D*=O7O z3`1)b5+YTIRM5?^ttRdjl4e>$o3u)1I)E3@r{G0~XccrzH6SUK;J9w;8E&h1Ny7AU+qP^!1{feS zc2LC;yiDM-dXdy3O?g6ZKIz9%%2zk@q}`B;<2XSAz%P~b+>O|Mpe8Ddc&J2$TCF+ctPfgT@;l^$WU6IljTXPZLv5}B>jb(iGf@!Rye8YhhJ{PG(Kg&Gg0k zry#{}XoYx2iF6WhsSv`V$2S2kQ`0Be`4SYZDYr?e{a^nfunT@*H9`r?0Jf2HIv zpiM+px|j6e45n4&WDFFFfxNx~lc8^gybX}L=w@mOcX?18&)|{@Tl!y3{vVt9AsFJa z#AqpcE*iD+Z5FIz(V!Zn2}`p}rY5r7=2V)wHe;2ve5ok339e-o?Bt%q29&0qizS{PSpNz9t zCVxfS$&1%1`wY#s9k_3d?os(v7_@Bar)+~{iaroXYUr~-fku!zo7DI*_)b5jzOr zcIS}BiX-fAzou;(6n?*#kf{*W>ruP@{9XXN{1 zdGMDvu3e|L8T(E>pti$z^=^{dM5sQPEaTWMXmd!@VAvV#n!{-tyy6VH=5RC`^2$R- z$~b)w=i~l49CD`aV`6+B=`tqEm~vNkxGQ;Dv7D8HyHX!4N`N8%J(OgWDkNT{2oWNR zPK+Y5hsf$glnN`ARvgBD9Hkf^LjuF-!6)d&=TrdiQZf4$efS>z_>rt0U=Tl3`zsZ* z-;l)bwCfKH;ZG`BGViM0}b|df)0q`qe3YrwODriygfr2jQ*93U~M!U1r Tq^fE#6#9$>a~xtMK8!h@nk1 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/VerticesCommand.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/terminalinput/VerticesCommand.class new file mode 100644 index 0000000000000000000000000000000000000000..f8aa4eda2b8aaf3d15e6355070dcc545768c9b06 GIT binary patch literal 932 zcmaiy&2G~`6ot&TQ`N4LYqRNc4_LW0tqRIO(hUg#HLX;tftP84)ssuj4NJ? zO+YMo03Hf)$MFI=7Tt_yM)!Vm=A8Tc&(B`~UgFe5gW*(+^Wa*lKqjBlEapmH2TEkI zOn4-dX|95i$dnAl>^zNQo{UWx4Bo9>Wi`Xf8<|M;mZ9nSBL?F<9SaL>2J5B-+i2pB zgBBbDdxJ0hh6fQ(Cc%ZuWHRY5-+a)d)qzaJ$2`6i*^pmGg25f6A&*8plloj<8tO{U z7|sT_O0Img&tQtLBFq(`U)AZVAx<(ry$aszweOE?ba3CqCd2OkYaKkm7FnXw#h)2E zp1=HW3lGUbyVtXAJi@Mt#|&##zZ~qL%g~xlBdHh;Yn1z+mf4#4#KBXo!yw~h8_#fP z;yJ@kjrd_XBMvpEX%qRQI zqT9iJX)|Z(ZpkqOmR@J>OmuNY&@K_Dz3;yS-d}R(BPT?p)3i*tiym68bJ5W{C{Ta> ztaL05p&mPH#1O`QG=KqHL6e$m7|p^!iWge_L-KkyEHLsI0O1< zo_W>v*%>`Qs5_?oE>DKsag&s6`%igQQ7)M=Eh5w}M4v2FJg7y(EtgVOCDbx3a|#~U z^8$;^VwH($v1Cfdwk#H2U`?5jN~IUjDM4brCo@JtN~EZujl5Qbk?NnfDA*vd_5W5) zvYu3NJ6a^Scc@s5n`&?u?pCmwLh}6Obt{)lPZnKcLd6!`!{iLd5s3RmmeD(=RTgkZ z6x#&uZ|-#*+iBMZ9Mi~ZuC0}m)=rr2xMtawHn0BbtTj^Y>Q=^RilGDdD(I|Ay2^`+ zE^H^21?f0%F_toweylF1bCgz$ncT0U8$GOxandB`p_Y_ao}$YPR$j|Mp0w&nSog(g zSI->Xr57qv;sMRlY0F4=D%F}=gon|mV5h)M3y+(MUD!=eMRSU(WYJR!_6RJi6ptsJ z;q4=s;V9TgnOD*5*}6++o<`|mK*b}FddeA$KF;X(Ouh#VJ}P-M{tzQLoXBzi~Me=#xKWrBYv48M!pxrG4vxVAGV4I zQSfTiBWn}|s~kGUb}KV>5(^pq~T@B-0 zk#1_$9-~fzd4mTt;uytJp3)6u#-*7jkyBFovZempk>JS_CYO#*Dmbm+4BKGZE;$)v z2VL_fm~R|aU3#MgLK9n9ke6@>0eMGo6p*(D-*xgHp>>frr*fWsj^i-rYO#dhzU5}F z1X&F52P{jR!_q|C4C)iX88jq9Gg$Er=Yv?qXFYcVtLbeG(QhH1hNX;QwP*A8({c;H zh(w$8-^8)Xw?89C0=Hr5DVvg|3~d5U?_B&MhZ)5gs=tqauiwM_6u>a$^Z~63V~gWMqJ%x+G(ow_ hAfgI{g0n*K`H_Ntx={Z@Ls#wHtLg4zk`TZr{{Th0#*hF2 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/tests/testsuite/ExpectionOutputStream.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/tests/testsuite/ExpectionOutputStream.class new file mode 100644 index 0000000000000000000000000000000000000000..8fad49df6c43bd5506dcd7426199cf7d6c360acf GIT binary patch literal 4228 zcmbVP`*##~75_}Kn^~3t!V(C9P?m?7YzU#sGeIZ`P@>@>p}~L(!|o&uS!R~mS(4CJ zrPbP2Y^$}liSPP|57f581{&?dXGN>l`hHujKX{IRfJd!Y(LqDY=qM+`ienxLG?Uwy!&d7wP6=;UHjT&t$ub{fiTU&6=Y)hA!ciR-q z=r;Q;-7PqVf_c-Xx1_dmMKo;}ELVZjsbIEc40f58u|1o$2aOB|4=boJEd`sqUWpT( zR@nzysI&{zKi{`5jyR?jcqp@3yZ@TmLk>xCI9s*Fv`lxaf{hK+(6^QKg*llV-DPHt zw#FU>@ts3yBj-`1qLwt22<_Zgo>9;`UB9sNznX}2*cl^^N-Wke5A}4ap|NKM6kMla z2I3+mHOz!2(sB(^RH;}Qf)b)6juluXYF^FQ2cSsW6eoSJsRdB5yL(O^&Nsmh+$zQnW&45omoyB{U`83SxexOHEehT}Q!!GO5#6ssT(^b9ss9z3iESZa7y$ zIIG*$(*t|-oQGJ&o4I*vD^c-Q1vMqQ!zPK15%2Ju2(yfBB*6i{p?RID+dON`#1W)5 zWN=JDB+mf_GtGR^^(;03Nt?aKP|z0?)P~X~R2@t(HEmlKo27y!lM(cqW4P@!_NW+O z+xS1*mK5_T4JTkq$=VubVfGB1MqUNUul9)WYhXC<8eHk3nxQcqCx$Z$Zdkd~acrkG zdC)P9OwzTJ0qEqQ>7Gbhwv`Ngx2+KBq-o_{-AWs*xfK}FFf28v=A>a}tvK!9tl<{i zN)B1qWFXSeDJ^bMInvkgzy?1k&6H{yjlGG1vrH@vU!04tx`V!pN`?QxvL-BMETp(zeF_QddB&X*XF`Fl0ohxf4+(>uq_ zA0h|;rIj3x;eK|lgFGHvlj86L8a{{znIBo!TDOtY9o@AVf|^o(ggcSg8qqK+wp1Rp z=@SNfOFKTS;UmIi)MGNvh<;3iffmWiPiS};pJeQqfC8#BXjh)zeaBBS)7s+rG{#hX zrbJF?PQzyfUd*-qZWzPod2B9=;erAPo-b+mG9F=fc8pwBPaC_~?`UY#%QR9yieZPs zSb}aF!(%kiA*wHGxFoJt8>b6;Hs9HA*^ben=Xn&J!?=daxFRQjH#v>(z_CX1Jwaa9 zuJtnaYZSf2jp0ceiHn}6HGCc4AfEw#1v|pfJ5K0MH%%DK+TgtO9GEixGH%3i65rDB zZG4B+Wz{y&tQW*exTup_z}I= zb2-DxC}<9YE*)Ig5FY4ni{Zz-JH_?1OJaSsV=??x!HSa6o2-)6r0reVlDeBrlY4*l z&&B>Pc!EsLC*N?%3MoF$`_++lW}n^H$7j~yT`O@7EOxy}{(zAqRlLqI$UB3WM$=ha z!d;0MH2eYelI$1)d2#V% zUR%63J0RZ)xpR2mJS6#!anC%|P|JLNMfkNK(6JD8fU<^KBb+ponkWuKj$rd&nDzXCb|-qd$$rp2AXIKUQHin)$a8Yq1^I zV>ho!2e1LX9LZu6Y;0yXZo?a?C*^y@`EGvEHyrf16X_=OkUNnM;Z0g>TszO&Yl=_#DN z1Zxa)9z!lsC}ObUGR{f@_*k#=QZvJ+!JzapZTnHnLw+eOtiXV0eSxpH9Nd*W`rk(I z;!OkYQMJb`C=6IaLaecASG;yFIV*0V)C&j5J-RKLV9jA2!2 z^-s83yei^n(^pLf%RxOUx7lxU49;n+hr=HYc_zM#Jt(kF25}ritj=LdH}j~v1?O=q z9-wp?x8W*o$Md)YzvlJjMcj$M;x7CRcPq1bQ<;bJ%0k?uEXKXcI^3sh<}tbz_j?Jj z+Ye(Y0hDd{C4R-AGqltdm-L|Y8%mX!qpT&q-!d_d;tGC8DN0O5{GRDm<)ut5V*kW? z73Zq|g}r)lLSIKOe1RkWhhxlu9BvdV0 Lxqkobt$y)8I$IRD literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/tests/testsuite/TestSuite.class b/Uni/Java/WS1516/Programmieren/Final01/bin/edu/kit/informatik/tests/testsuite/TestSuite.class new file mode 100644 index 0000000000000000000000000000000000000000..b5ac514718afd3c9da060a4004fcb90e7e36dee4 GIT binary patch literal 11942 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 literal 0 HcmV?d00001 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/duplicateEdge.txt b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/duplicateEdge.txt new file mode 100644 index 0000000..a2e06e6 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/duplicateEdge.txt @@ -0,0 +1,7 @@ +Aa +bB +C +d +-- +Aa;bB;1;3 +Aa;bB;2;4 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/duplicateVertex.txt b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/duplicateVertex.txt new file mode 100644 index 0000000..782a3bf --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/duplicateVertex.txt @@ -0,0 +1,11 @@ +Aa +aA +AA +aa +bB +-- +aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/edgeWithoutVertex.txt b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/edgeWithoutVertex.txt new file mode 100644 index 0000000..eff11e9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/edgeWithoutVertex.txt @@ -0,0 +1,5 @@ +bB +C +d +-- +Aa;bB;1;3 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/emptyFile.txt b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/emptyFile.txt new file mode 100644 index 0000000..e69de29 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/negativeNumber.txt b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/negativeNumber.txt new file mode 100644 index 0000000..18f3bd5 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/negativeNumber.txt @@ -0,0 +1,4 @@ +Aa +bB +-- +Aa;bB;1;-3 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/noDivider.txt b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/noDivider.txt new file mode 100644 index 0000000..fc8d307 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/noDivider.txt @@ -0,0 +1,9 @@ +Aa +bB +C +d +Aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/noFirstPart.txt b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/noFirstPart.txt new file mode 100644 index 0000000..db1350f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/noFirstPart.txt @@ -0,0 +1,6 @@ +-- +Aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/noSecondPart.txt b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/noSecondPart.txt new file mode 100644 index 0000000..a0601cf --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/noSecondPart.txt @@ -0,0 +1,5 @@ +Aa +bB +C +d +-- \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/notContinous.txt b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/notContinous.txt new file mode 100644 index 0000000..532c89f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/notContinous.txt @@ -0,0 +1,6 @@ +Aa +bB +C +d +-- +Aa;bB;1;3 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/numberOverflow.txt b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/numberOverflow.txt new file mode 100644 index 0000000..c41d589 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/numberOverflow.txt @@ -0,0 +1,10 @@ +Aa +bB +C +d +-- +Aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;30000000000 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/numberZero.txt b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/numberZero.txt new file mode 100644 index 0000000..87f5380 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/graphs/numberZero.txt @@ -0,0 +1,5 @@ +C +d +-- +bB;C;5;2 +C;d;0;0 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/inputFile.txt b/Uni/Java/WS1516/Programmieren/Final01/bin/inputFile.txt new file mode 100644 index 0000000..75a1c70 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/inputFile.txt @@ -0,0 +1,15 @@ +Aa +bB +C +d +e +f +-- +Aa;bB;1;+003 +Aa;C;2;4 +Aa;d;11;20 +bb;D;1;1 +bB;C;5;2 +C;d;1;1 +d;e;1;1 +f;e;1;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/insert.test b/Uni/Java/WS1516/Programmieren/Final01/bin/insert.test new file mode 100644 index 0000000..bb6845b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/insert.test @@ -0,0 +1,20 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#Errors +00err : "insert " +00err : "insert null" +00err : "insert null;null;;" +00err : "insert null;null;null;null" +00err : "insert null;null;null;null;null;null" +00err : "insert Aa;EE;Cee;1" +00err : "insert Aa;EE;1;dee" +00err : "insert Aa;Aa;5;4" +00err : "insert Aa;bb;10;5" +00err : "insert bB;d;50000000000;5" +#00err : "insert Aa;Aa;-5;4" +00err : "insert bB;d;1;0" +00err : "insert bB;d;0;0" + +#Works +"OK" : "insert Aa;ee;1;10" +"OK" : "insert bB;d;2;5" +#"OK" : "insert --;d;2;5" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/logs/insertTest.log b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/insertTest.log new file mode 100644 index 0000000..e69de29 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/logs/nodesInsertTest.log b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/nodesInsertTest.log new file mode 100644 index 0000000..b87d962 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/nodesInsertTest.log @@ -0,0 +1,10 @@ +Error, vertex not found +Aa +bB +d +OK +C +Aa +bB +d +ee diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/logs/nodesRemoveTest.log b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/nodesRemoveTest.log new file mode 100644 index 0000000..23be1be --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/nodesRemoveTest.log @@ -0,0 +1,6 @@ +OK +C +C +d +Error, edge can't be removed +OK diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/logs/nodesTest.log b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/nodesTest.log new file mode 100644 index 0000000..04acdba --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/nodesTest.log @@ -0,0 +1,18 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, vertex not found +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, vertex not found +Error, vertex not found +bB +C +d +bB +C +d +Aa +bB +d +Aa +C +Aa +C diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/logs/publicTestTest.log b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/publicTestTest.log new file mode 100644 index 0000000..16024af --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/publicTestTest.log @@ -0,0 +1,8 @@ +6 +bB Aa C d +bB Aa C d +bB Aa d +bB C Aa d +bB C d +Aa +C diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/logs/removeTest.log b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/removeTest.log new file mode 100644 index 0000000..fcec023 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/removeTest.log @@ -0,0 +1,10 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +OK +OK +OK +OK +OK + diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/logs/removeTillEmptyTest.log b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/removeTillEmptyTest.log new file mode 100644 index 0000000..e22e2cd --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/removeTillEmptyTest.log @@ -0,0 +1,6 @@ +OK +OK +OK +OK +OK + diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/logs/removeTillNotCoherentTest.log b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/removeTillNotCoherentTest.log new file mode 100644 index 0000000..042c57e --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/removeTillNotCoherentTest.log @@ -0,0 +1,7 @@ +OK +OK +OK +OK +OK +Error, vertex not found +Error, edge contains vertices that have not been initilized diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/logs/routeTest.log b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/routeTest.log new file mode 100644 index 0000000..692b9de --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/routeTest.log @@ -0,0 +1,97 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, vertex not found +Error, vertex not found +Error, vertex not found +Error, vertex not found +Aa +Aa +Aa +Aa +Aa bB +Aa bB +Aa bB +Aa bB +Aa C bB +Aa d C bB +Aa C +Aa C +Aa C +Aa bB C +Aa C +Aa d C +Aa C d +Aa C d +Aa C d +Aa bB C d +Aa C d +Aa d +bB +bB +bB +bB +bB Aa +bB Aa +bB Aa +bB Aa +bB C Aa +bB C d Aa +bB C +bB Aa C +bB C +bB Aa C +bB Aa d C +bB C +bB C d +bB Aa C d +bB C d +bB Aa C d +bB Aa d +bB C Aa d +bB C d +C +C +C +C +C Aa +C Aa +C Aa +C Aa +C bB Aa +C d Aa +C bB +C Aa bB +C bB +C Aa bB +C bB +C d Aa bB +C d +C d +C d +C Aa d +C bB Aa d +C d +d +d +d +d +d C Aa +d C Aa +d C Aa +d Aa +d C Aa +d C bB Aa +d C bB +d C Aa bB +d C bB +d Aa bB +d Aa C bB +d C Aa bB +d C bB +d C +d C +d C +d Aa bB C +d Aa C +d C diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/logs/searchTest.log b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/searchTest.log new file mode 100644 index 0000000..193f551 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/searchTest.log @@ -0,0 +1,55 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, vertex not found +Error, vertex not found +Error, vertex not found +Error, vertex not found +0 +0 +0 +3 +1 +10 +4 +2 +20 +5 +5 +50 +0 +0 +0 +3 +1 +10 +2 +3 +29 +3 +6 +73 +0 +0 +0 +4 +2 +20 +2 +3 +29 +1 +3 +10 +0 +0 +0 +5 +5 +50 +3 +6 +73 +1 +3 +10 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/logs/test1Test.log b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/test1Test.log new file mode 100644 index 0000000..a23c7c9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/test1Test.log @@ -0,0 +1 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/logs/test2Test.log b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/test2Test.log new file mode 100644 index 0000000..a23c7c9 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/test2Test.log @@ -0,0 +1 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/logs/treeGraphTest.log b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/treeGraphTest.log new file mode 100644 index 0000000..8986d12 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/treeGraphTest.log @@ -0,0 +1,68 @@ +A +B +C +D +E +F +G +-- +A;B;2;5 +A;C;100;2 +B;D;100;60 +B;E;300;20 +C;F;4;4 +C;G;20;6 +B +C +A +D +E +A +F +G +B +B +C +C +A B +A B +A B +A B +5 +2 +29 +A C +A C +A C +A C +2 +100 +10004 +A B D +A B D +A B D +A B D +65 +102 +14629 +A B E +A B E +A B E +A B E +25 +302 +91829 +A C F +A C F +A C F +A C F +6 +104 +10852 +A C G +A C G +A C G +A C G +8 +120 +14464 diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/logs/verticesTest.log b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/verticesTest.log new file mode 100644 index 0000000..17427b0 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/logs/verticesTest.log @@ -0,0 +1,12 @@ +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Error, please use a valid command (valid commands: 'quit' 'info' 'vertices' 'nodes ' 'remove ;' 'insert ;;;' 'route ;;' 'search ;;' [numbers can't be zero or less]) +Aa +bB +C +d +OK +OK +OK +OK +OK + diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/nodes.test b/Uni/Java/WS1516/Programmieren/Final01/bin/nodes.test new file mode 100644 index 0000000..8ba3e32 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/nodes.test @@ -0,0 +1,22 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#Errors +00err : "nodes " +00err : "nodes null" +00err : "nodes ;;" +00err : "nodes e" +00err : "nodes cc" + +#Nodes of all +"bB +C +d" : "nodes Aa" +"bB +C +d" : "nodes aa" +"Aa +bB +d" : "nodes C" +"Aa +C" : "nodes d" +"Aa +C" : "nodes bB" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/nodesInsert.test b/Uni/Java/WS1516/Programmieren/Final01/bin/nodesInsert.test new file mode 100644 index 0000000..0a8bd24 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/nodesInsert.test @@ -0,0 +1,11 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +00err : "nodes ee" +"Aa +bB +d" : "nodes C" +"OK" : "insert C;ee;2;13" +"C" : "nodes ee" +"Aa +bB +d +ee" : "nodes C" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/nodesRemove.test b/Uni/Java/WS1516/Programmieren/Final01/bin/nodesRemove.test new file mode 100644 index 0000000..cbe1bcb --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/nodesRemove.test @@ -0,0 +1,7 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +"OK" : "remove bB;Aa" +"C" : "nodes bB" +"C +d" : "nodes Aa" +00err : "remove Aa;bB" +"OK" : "remove C;Aa" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/publicTest.test b/Uni/Java/WS1516/Programmieren/Final01/bin/publicTest.test new file mode 100644 index 0000000..f0622de --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/publicTest.test @@ -0,0 +1,9 @@ +<"C:\Eclipse\workspace\Final01\src\edu\kit\informatik\tests\test.graph"> +6 : "search bB;d;route" +"bB Aa C d" : "route bB;d;route" +"bB Aa C d +bB Aa d +bB C Aa d +bB C d" : "route bB;d;all" +"Aa +C" : "nodes bB" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/remove.test b/Uni/Java/WS1516/Programmieren/Final01/bin/remove.test new file mode 100644 index 0000000..d5dcc3b --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/remove.test @@ -0,0 +1,16 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#init +#Errors +00err : "remove " +00err : "remove null;" +00err : "remove null;null;null" +00err : "remove ;" + +"OK" : "remove C;d" +"OK" : "remove bB;C" +"OK" : "remove d;aa" +"OK" : "remove aa;c" +"OK" : "remove aa;bb" + +" +" : "info" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/removeTillEmpty.test b/Uni/Java/WS1516/Programmieren/Final01/bin/removeTillEmpty.test new file mode 100644 index 0000000..980746f --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/removeTillEmpty.test @@ -0,0 +1,9 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +"OK" : "remove C;bB" +"OK" : "remove C;d" +"OK" : "remove Aa;d" +"OK" : "remove Aa;bB" +"OK" : "remove Aa;C" + +" +" : "info" diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/removeTillNotCoherent.test b/Uni/Java/WS1516/Programmieren/Final01/bin/removeTillNotCoherent.test new file mode 100644 index 0000000..3a50bf1 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/removeTillNotCoherent.test @@ -0,0 +1,8 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +"OK" : "remove bB;C" +"!Cok" : "remove C;d" +"OK" : "remove Aa;d" +"OK" : "remove Aa;C" +"OK" : "remove Aa;bB" +00err : "nodes Aa" +00err : "insert Aa;ee;10;5" \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/route.test b/Uni/Java/WS1516/Programmieren/Final01/bin/route.test new file mode 100644 index 0000000..8cdba66 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/route.test @@ -0,0 +1,120 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#72 Testcases +#Errors +00err : "route " +00err : "route null;null;null" +00err : "route null;null;null;null" +00err : "route null;null;time" +00err : "route null;null;route" +00err : "route null;null;optimal" +00err : "route ceee;deeee;optimal;" + +#Aa to all others +"Aa" : "route Aa;Aa;time" +"Aa" : "route Aa;Aa;route" +"Aa" : "route Aa;Aa;optimal" +"Aa" : "route Aa;Aa;all" + +"Aa bB" : "route Aa;bB;time" +"Aa bB" : "route Aa;bB;route" +"Aa bB" : "route Aa;bB;optimal" +"Aa bB +Aa C bB +Aa d C bB" : "route Aa;bB;all" + +"Aa C" : "route Aa;C;time" +"Aa C" : "route Aa;C;route" +"Aa C" : "route Aa;C;optimal" +"Aa bB C +Aa C +Aa d C" : "route Aa;C;all" + +"Aa C d" : "route Aa;d;time" +"Aa C d" : "route Aa;d;route" +"Aa C d" : "route Aa;d;optimal" +"Aa bB C d +Aa C d +Aa d" : "route Aa;d;all" + +#bB to all others +"bB" : "route bB;bB;time" +"bB" : "route bB;bB;route" +"bB" : "route bB;bB;optimal" +"bB" : "route bB;bB;all" + +"bB Aa" : "route bB;Aa;time" +"bB Aa" : "route bB;Aa;route" +"bB Aa" : "route bB;Aa;optimal" +"bB Aa +bB C Aa +bB C d Aa" : "route bB;Aa;all" + +"bB C" : "route bB;C;time" +"bB Aa C" : "route bB;C;route" +"bB C" : "route bB;C;optimal" +"bB Aa C +bB Aa d C +bB C" : "route bB;C;all" + +"bB C d" : "route bB;d;time" +"bB Aa C d" : "route bB;d;route" +"bB C d" : "route bB;d;optimal" +"bB Aa C d +bB Aa d +bB C Aa d +bB C d" : "route bB;d;all" + +#C to all others +"C" : "route C;C;time" +"C" : "route C;C;route" +"C" : "route C;C;optimal" +"C" : "route C;C;all" + +"C Aa" : "route C;Aa;time" +"C Aa" : "route C;Aa;route" +"C Aa" : "route C;Aa;optimal" +"C Aa +C bB Aa +C d Aa" : "route C;Aa;all" + +"C bB" : "route C;bB;time" +"C Aa bB" : "route C;bB;route" +"C bB" : "route C;bB;optimal" +"C Aa bB +C bB +C d Aa bB" : "route C;bB;all" + +"C d" : "route C;d;time" +"C d" : "route C;d;route" +"C d" : "route C;d;optimal" +"C Aa d +C bB Aa d +C d" : "route C;d;all" + +#d to all others +"d" : "route d;d;time" +"d" : "route d;d;route" +"d" : "route d;d;optimal" +"d" : "route d;d;all" + +"d C Aa" : "route d;Aa;time" +"d C Aa" : "route d;Aa;route" +"d C Aa" : "route d;Aa;optimal" +"d Aa +d C Aa +d C bB Aa" : "route d;Aa;all" + +"d C bB" : "route d;bB;time" +"d C Aa bB" : "route d;bB;route" +"d C bB" : "route d;bB;optimal" +"d Aa bB +d Aa C bB +d C Aa bB +d C bB" : "route d;bB;all" + +"d C" : "route d;C;time" +"d C" : "route d;C;route" +"d C" : "route d;C;optimal" +"d Aa bB C +d Aa C +d C" : "route d;C;all" diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/search.test b/Uni/Java/WS1516/Programmieren/Final01/bin/search.test new file mode 100644 index 0000000..6b13d14 --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/search.test @@ -0,0 +1,78 @@ +<"C:\Eclipse\workspace\Final01\tests\test.graph"> +#55 Testcases +#Errors +00err : "search " +00err : "search null;null;null" +00err : "search null;null;null;null" +00err : "search null;null;time" +00err : "search null;null;route" +00err : "search null;null;optimal" +00err : "search ceee;deeee;optimal;" + +#Aa to all others +0 : "search Aa;Aa;time" +0 : "search Aa;Aa;route" +0 : "search Aa;Aa;optimal" + +3 : "search Aa;bB;time" +1 : "search Aa;bB;route" +10 : "search Aa;bB;optimal" + +4 : "search Aa;C;time" +2 : "search Aa;C;route" +20 : "search Aa;C;optimal" + +5 : "search Aa;d;time" +5 : "search Aa;d;route" +50 : "search Aa;d;optimal" + +#bB to all others +0 : "search bB;bB;time" +0 : "search bB;bB;route" +0 : "search bB;bB;optimal" + +3 : "search bB;Aa;time" +1 : "search bB;Aa;route" +10 : "search bB;Aa;optimal" + +2 : "search bB;C;time" +3 : "search bB;C;route" +29 : "search bB;C;optimal" + +3 : "search bB;d;time" +6 : "search bB;d;route" +73 : "search bB;d;optimal" + +#C to all others +0 : "search C;C;time" +0 : "search C;C;route" +0 : "search C;C;optimal" + +4 : "search C;Aa;time" +2 : "search C;Aa;route" +20 : "search C;Aa;optimal" + +2 : "search C;bB;time" +3 : "search C;bB;route" +29 : "search C;bB;optimal" + +1 : "search C;d;time" +3 : "search C;d;route" +10 : "search C;d;optimal" + +#d to all others +0 : "search d;d;time" +0 : "search d;d;route" +0 : "search d;d;optimal" + +5 : "search d;Aa;time" +5 : "search d;Aa;route" +50 : "search d;Aa;optimal" + +3 : "search d;bB;time" +6 : "search d;bB;route" +73 : "search d;bB;optimal" + +1 : "search d;C;time" +3 : "search d;C;route" +10 : "search d;C;optimal" diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/test.graph b/Uni/Java/WS1516/Programmieren/Final01/bin/test.graph new file mode 100644 index 0000000..ebdc5cc --- /dev/null +++ b/Uni/Java/WS1516/Programmieren/Final01/bin/test.graph @@ -0,0 +1,10 @@ +Aa +bB +C +d +-- +Aa;bB;1;3 +Aa;C;2;4 +Aa;d;11;20 +bB;C;5;2 +C;d;3;1 \ No newline at end of file diff --git a/Uni/Java/WS1516/Programmieren/Final01/bin/texdoclet.jar b/Uni/Java/WS1516/Programmieren/Final01/bin/texdoclet.jar new file mode 100644 index 0000000000000000000000000000000000000000..28844aa6e1382054763674081f9c7b55fa5ecd54 GIT binary patch literal 22053 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

QMR#6q7 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

QMR#6q7 z3b!zNsBWiYnS6gBh32UH`WvKP7T;8E_tn2xysbGSpX61XGcIW*dxq@m4(5!GNsW1u zRibL^lgo>=u27j4{#B?p7E;dA4N<)l(S|*xO40h5r&N0E*XotX)ku`qy*_Rf7isD9 zf~{YAbxN&sRqM%JZ%}&I#G?fNshuDn{LS>IEnuCE^qnTBJx7?-SC6o;^c-QbDAnKlu0DFFQFQBrBIsQ&Q>Z7;)TCreU6D+WIwe!8 zm5jAo#nD)uS3_2+l#rT>9;K&rtzJo~8R_vKX_d)GS~XQltEMc{>eZ*TYI>!WYg$}e zRaJ3?(y8i{t2~u!v`V8lc%)#dmMIj9ltQ5@QmAWF3Wc^jH|YwdiH~AUs#IQf!jiHm zuU>sBubRF*Hz^KJD>9VJ%+7aBS)|pgPifWkO6#v`g>w2)db%>MD0OUV!>_14#h+M| z=5iLpTizyF4wDiFV`Nu(z>T{ zPo$N09;r6>>Xe$==U%NRcfCRBT@#NIw84`OPTzaAxu}Wv3wdy$^5W~N?xm2mx0~6D z7m=Q_VOEkHjVptk#?_&S)(F||HcyMiKicQQsWV*-Cd`92p)d(3S~%Qx>KLv?6s6tb zEIlaCTIWtF+ITZL?xya+)52NQia`d6$*X+eF3j9gv2R)0bnX4c{W~GFk}#Nrn904r zX!(?mPg2@s@BL=nsM*ww84bJ}_iy-bD}D!W=%&Rl>h}53*x82L+XD@s6t^X*ir6d| z*(*lrRCTaPF;-Oq64i)yjbA+)zGf>9T5Xob?joON25|IgQ%crr9w2CGmR)%$9#R{9G zSYeYC3krInK(?j@1?jRitwR&mmj(!%q_l9L5ZS8rH>-%cqSHdr`^&UY^!_p}6eTO~ zG;k|Y+;^zHnWA&6HY&SSN@~SRjTh5ZrOK%%Y$_=GDoV7KCP$%}9E*qU#~VxcQ^h#Kp=fq~{FXj@I_-?pBXmk66_G ztM@6xw|d+~k@Ak*;$-10PL{txHy5dSu8PGx*PXpFH)~;Ab?0Ey*N@&`rd3;Aw0YI` z{iT>#ms7&h?#wBNxHLnS$d~@ZVHb)LC+C-vkBLN{opfws0wE z@)jX^FO8`rq>vJeknTz$jD77q7D(QrHw zn>kVhg@t3*A2+_qfm+%7ce2>3#6c7Bt%e&9Cb|a`-Gj%VL10AIszio{5$t{?x(AP; z@*8)D$xhrIM)XX29xT6}he|9xG;?aLN*rv`!$;A04<8PlD(la~>8Gnlqf=%*eE896 zBQ`RjKaVXODYkGHu~nKBTWA!U_g~%Z)Xa9bQ!~qpZOvial zV>-#60lQ@IB&SmMF`b-B+J=NWw>fyT2;Qs*$5{k#=A7^J-@oO@u+!hl(x6GIn_)$A zD^g*-?MEnUmh^i5G(E7fi$0!{CsVFaHZ@g=DTJ#$x7TQu>E7VV`yZ_vWpG94H)8)@ z*L$o#Gbw5}^~9$5T|eCVOOZ-W#P9b0o0_pq=_mG_oZIV>=QQ0&3Hsb79xSK03Pmcx zLRFMtU7Jd<&?+@ju(4+Je^$taBBfBMiWKVFltQ6Z3U}0Rd75-frK?qQ>5*so^svci za=Fjsa-TU)O(d!mS~Zs*v@heVx!h-tGum3+03va3)6L;~GDuAp-;+V0>@6JbEgbGG z!lX{YV=L21ZMw%6Jw)Lx#a3GGH@zcqZ>2*I8#B>OTd(Z>^ySv89SwKP?%S%&UfX(A zY6?HP6RI6aVy9u$yB(O4YGj)Fc#R)(AHNgbW%TjpRKKCDyqn!a>F$7OMdBmltxG69laqKN#hYotZ=l``*&?gVs|FiCU$3H zZGxBTCX+8o$dm+ndyO?ciV*$AunNGmerPjN+LDo`J9@*dO;v4xOFva}shZm0RaeB2 zHoDq$EZ$(L5>cB|S-nttRVtTSC~H@W$%)#I!c`^CsQ*s3;i`P%YW%HQfFjq8Xa==l znHQ!Cy)rv|y~VTrbE6L6Cvoaf{-_qcEU}b}zhAjs=Gjv=?*GK(`S@3?%E-^6RZcp6 zKY4AY?jT)nQC|N1nawlvubGvbpT=CC<5?b@EG8bGp4DbJJfxe?GJeY`jQrM}#cUM6 zwF!Q(ewt8zlyV@=+r zFSgNn=&G@1R5z(&%X#5ebh3wMMIZ-pSYzqxW*JAbCk}HLaWv_JxJ(&!FxNz|_n7+p zL^C|SX2)k2CR^iY(?Bf?sw-!ZBZHo%RXfFS&Kx>@xUxyz7qgw632g@^x03WeF48oe zf~T0+6f)~u74WSom8YP7+E>15jrGr0zIE`)K}W(1t2Elt9t?^lIm|+Z%9fggr=4tP zFcE0Euaa38Ba7%+7b7Q%H~hHleq44x?w@^eDJ=Wql00Z~#8b%bC*mpe_bqRcRv{0@ ziLfbO^g^UeW>tr*%SmppM!hQ40_%m6FI5CT31yTdTt=DPMU;gqMVVBog4?@n{KWHC z8{dkg%RXeCTa)dySE8x{J_zTpJdMG`YB})th<+^eInX)E1?n6Zf&JGl{y>+F|vNybSwU@?EEGn1lqEZR{!?qUJqEZ4rW&HE1 z%~Sc;%u345*Tk&!+-9@=9Sy}pNE@%v*m<{?1lg#~d|7j#kt5eE%blt?=?)A6O%4Og z{AVXvlZ)-HLh1yYs8txQMtjdn>}*2T;l{=%Tz-Icg$}9kuY>S5QjzMS^ET4t=1{s5 zhe5S?lFmiztL4UwJor(kb5-xj|IDO}TpJtZn(q2tNt*eWw@vk=d-X-q*O*e$y(T41 zuTJajiKN4}PWXyig>60e6@#b#Q=5{%KEg=9%2qA?E9#W~6+@B!b+(lL6`Rukn}(ak z@uUpsQoK&D9B6=joyD{8bEER`lQ<(2MdoUmxT;T?xN0dfajh|B;;K=ZNYlpMX>Zfc z@`a*-Z@y3@=amVDz=fk&nMf8AVti}iDP{)7MO^CL8Df~eSftRHx3mO=CD zQYkIPA_XJpB22nLz)*<0%1T|$QrzLs7rt(w^r%$qx_*0Sd`{%9Lu4 zx=8h^C8gS9QL1cK%*UG3Rl{?QS}Ciwy2jvX|J0_`ua7X&&$+6ne?^_rzhWrTzs{D@ zzhYDR3|-VA@)j6Gjb;#iSoA9W+8$~8-@L0pqH^PN7xbQknp>&*+y%Q*irIh`drVE| z&4Ry$F-H+ca;G@VtvGC6K&9jvdK=@XS6IY=lD7|d$E_C_tX3VpxjX^y=#xSz6#lJ1 zH1;>EN93|HYT?{fM3faNB3DF2k<*lda-AY_OA%34q=;Nm<%mPJh?GJRk-LhBvLZ#~ zij*UNq~3F6a?X*tiimVs=z)7FQbev$M4U=xLeG|`Gdx^YhvA;;U~WZHc~%@+m;I%A z*Pq|mVvwih3oTu}bJ+%cnn_nqX?)w(rrveI`(CJ{dL5?k@Bc7o!^#hH@}|t`)ktX< zze%h=N;z*vjT=9#srKkRBk^3k$F;S}$WfmSSk<3DIBudVY%BiOi+1|+be5X8^@xDR zn|#h~$e%fQcihzQ)aIlE_ps#`2%6N?GtT~=g*$3!-5X>Tm-ieF4*bC()B{Dxo4@dO z5WQ;q43n1Ok- z3hl$F{umu-`s67#wCXv?Ip3sXO1~0`@!r;Shnptttrh+0Z88o)3#(p1tr7@l&Rfq36)T3#-Wy#AC+V3`Op7QQYt&dM$Otc+vgEzd@ z+&c71_inS}W2C+I?w-}5qF8>_=CMJmeR?IQSDp_;UOr1I4m}G`EwGxlbFTAaHSObc z`{T66Mk*r{sRc>)qI0$9Ltd?1KTbzMf1LJ$mcnkV=otK_iC!nhgVT!Y{iZIlIPosW zDH&^j7#qB8E0&y+NhUjO3cWZcy@aq=;+Sck`tl~JxNJ6%#5#+O0K5V#LoXvbz3HEOMfCEt9gJ>yH@}_) zjVHUq5t&xFU#$>#&lQ)3_k2xVmD4_|Ze_|h(39XbL}PM3Q*IT~zrJ0jq8h38RavxO zz2q%^|a_kcsS7CSO%+hYfbiMBLjEq;z$ zAMcGodWS)lA~$@PSDQP3>9^}qpU<^lee~82&cAV6iFU%c`^DQj?3=Lit{3gvi%WD1 zjJAV(>f@+MumP8U9N|}+Jn18+)&g>sk(jbQW*d!DC8QcEOL|KS3!hpKRh`i7J!EgY z1~o5rz1!TK+BeEir+kYKCwk);Us1GQGfp+qG_n%Rhy9n=I-!0u9rE z%kkbX9bYn-^>-2rpQbSUoyOsc)=VlGm7kg(%jT|za$e^8q>*Xt6GmR&^v$ABX;C<- ztZw^jbdt)CnD_K}qsM23BA{NHlYHIO<9NC>ky?BhOO1HSv#=k9lJs6Q^5 zS|6Z^U(c*Q5o6KvEf+KBJ1wT*11#3wH~y|ZxcDAQ`H7VwPGIk+QfL9vXHE)PS6tSs zMyMN(Pm3g3-Mwu?GQD3FE_(fm4}Vzwk<1Xp7BbZes9IH`U3G2y{Dy7jZro~E8=~vi z-MR#6Q}o(Jwz2V<2>-n;1A}S3S<3~zN{f+^X>{cw@p>&Qrd@qRfn(_IY2eFZu$4aV z>1T}NEBuxdwT>Dh-KC(&vj1aszzuW)nkvVjh>Kc!wRSBEJ$dKXs=38Qd;=_|C9`GC z9Au4n?fUFq_;R9k#Z3;)-usRpUD*4i)wVaS+X3m_=62qBnRzIp< z;vL_X*4Af*u@`l7I4NU;nyn_8Ups6YGWrqZw_n?F+uN=wc?)ufi!~1_?`b4e#w0nf zm3F+ZvbJ1<9~)1m7uMcUZrb^^v8;n>B_vK5C(eche`AozN=f_+HDT4JO_^51Gj86v z>xMtUkmI#;&-+|$s6n@6Z%VZ$+TKb^^JQJ4M!a)AaWy@&iiUM7s*bnJrRv243WK-p zfrMLDXI1TN$E9kf{i+gDPSjMZs#Yy24-JlJkWAFCrX8g0uV7UA_89Y^YG{5(BWD`3 zopHT-krv%wlXwfso65V&kt^+l{FSSwIyEMBNW4d9PAj(bx-A@0QroMmh1a2lpias)svR!eyh*C&=gxni?fqh-O45A6 z#7z|mWx!BWx4Rqn+sc9|<4 zTrKuquf$3`@W2BPJov$@<<>IY%q+9(x|dzC5)Z7zN?eI6aU~vDiIsTZfh(~R5BvLl zU&J|aBAur)?MN5(ixZJ?zW5^Ii-<42_;b)5$scbe`lIwG**!X& zqlL2mlfmek^7&VI3|+l+@k&?lB(fC8)to*lsj}LP=3{9z(-V+nwRL&s!I4H`vQMQb*Yhw z^zECXPCIW}zkO5uc$34ba0~b-zF16#TPZ8#OX8?fF3(`P2W7t9iLWcT5~oiTcSaD| zmY5WB=vRFbLY>||^l?5&%`q!kfVzeZ;CDGObLXaJAmK*_pwOA$kpcM;&E*c&J9$~R zC5hj@p9~TbNW#7)R5--pf&=hqpI9{-M)5@TVF09f>XU9*!w`riQ5EP_dy)oWs=af7 zjDE#Q8g>V`Cj)j!w(nQcsM#L(+<5}dr7_}BnRa~OSDGe%V_kDJz4HP!|3VG@#-r;2 z#*>(VMbRK2FR-IhE?Scb3sQxpkFD_y{%OL=0Hp22NAj#M=7E}&niu*+E7#{9=h3^MBPbd56VZ< zZ{yop15bRAzV+MmtRLEw(6fGxue>pgdtjm0v2NL8sg_5dG@0l(Gxd;|+tK^PF>$ps z8&0I7vzoPuJk9EUa%c*uHr;BDXRS2XizTk-~;qzE~aQ8L)?!7eMuo|Aa%F zcjWL-F2uN|KO5s(6xSHnB0nD}-+g<&xvl3Ezqu^|xVG@N%I`NTk(ht8;)=QWA~FAF zMc9T|iao|0Em5xe{ht_?6WI0l`AoH%~v@*0tyB0zRh8AT1Mw zMqU&Oy!rx41<%{IeUC373G@TsJcsTtn)f%)`|LxHeb{Xu`nH-lJ@&!uHT~wf*=vf| zRf9)}eXynS+?L$)K0Ax-5tRlK^vxYdyH^!Rr?u!c(0STinstacgHC{E(Z<(IiVymz zmXSn;FDf1&w)7n7BZ=J2WZ#NW_1UrC1}rVov&rjH%lx}a%ET#TL{8Y=jWJh+q~jB*qt zdfD)mZ3rcI*(5RYC`l_LnzTfT0wg`56$K?ya6{u1qEJaeD5{yq=0GS$K?#a(XiPB* z6^f=xWYx`7CTuv#DiOa^B{#H6R7i{*7@>*+Io1dn;=N_Gd#XK2@rQikJcs(Su|Um3kA2u}ANp*Zo{vPS{yjd_`TP62VFwTNn7dxpV^$H= zKpjQnVoD;KQMU~Nj6fKt4FT)nJ5e+tU>9JRC@tSO87T`g#*fB>oic8Sw!6kaG$rp{ zv?v?Gq(I%FW3 z*v0+TV&2El_yG?=@yB>Mi_z3r75|E`Zu_b%1IVk0y1$%tu6J*+8dvGq9X}Ffr z*_?mpkZsPt^U+zoH0R&tHCdX`*JQy)9?hY5c}+rPrPCaGm)GLB=A^r%7W3dNn`#81 z5M^P1R3rPN8gbT7qZ)C3jS2#H%A3M*)>)&*Zhi%m`=dJCZ_i^ROgaz#s)y>aVhXMQ z1G7HGE+Tr|Z66_>@neserIA~^n5qK^hZMOJj{^Yz#~+6QY)^zmzzNfeUoRK}&_Dr# zV8e8HNK%c$l2qMbhiViIs%EiO)i&c%eNDub3zb&L`Rs_R@mg`E7xYvI=;=AIL0yRNwDmQsmeZcth3KFRmn4_tIo3zShc1O<~ zIO6agSv|FJxJbcg#?b`}nk6W;c2yNr<40$$HHv^&;|S(}2`QKZCVVs}P`FwfMZjw^ zfXHxQhF=T^*u23dFerKKZ_sm_2kL(kLj6ycaP_C{NGJ+HXDUDS=#m-M$YiOEYh_#~ z1zA}`q8S(8rp6Kysru>%nhkWe*|z2BLHiP{FZVkF54YPqL~feP{G5 zMkK_Or39E`Bv?E!$;dCPK@+ZzPN!XOWiLf0L%dK))@DC;AX1lCvz)HalrBS#TcOoAaH^mH>h=RVD zuWoO6HIV?mT1B#&Q>=v|MK1uQn2fR859sr0U|q<2B?>_CB~vj0aVjPtPQ||B(}+{C zuV~ItCz`|#uC`^Fe=QjEgDE@X!v-g@NG9W;Lin;2Uh?Hc8r-(U#>6=}*Nn|lE7y!Q zF#biy0*Ry}fvhpdq4=f>sc?PSc~!!=zU+q?!uSDA!z?Mwqgm&cHD&Z3DvG+otiJ6% z#-}UI9K6{Ep_QR)6?$AbhOpUZvd=#wsbPd|Rtv=`ND8Rn00eG7e zG;|7*MSV77r-bWjHp9^`L~+oY%CqSiWR)8|gK>A8RqsCI+VDQ88%&F82i@J`g069? zuW+dvtpdF*=Qj8p&khp?k=R^x^j+F#3vpb}@PH6w{v4M8Mk8WT0I(w;my1C!2hXVY7cyMAG0hX9{M)CVm6$mIFqjvV_Zt%6MQtq#IUV<<)FTopTf(Clg6UJ3tims!` z(fx2$x~^sH_)w@e8cI=To@SRPnKC)LZF6*6>GyT>KWVhxW4rl}0^ZZj|7h&(`=C!; znkQ7h$5uG7Ay(x*cve1KFBpkpf)j3=(^K+F8tnz7%zg%&;BM5M77@A_Y$OvVU~Mun z(Vs*yVU3~*6cYmKwED+|E_7MK^)4A1^#!18O%v*@VC>El`WlY@Dt^VJVPBDC_zDzB zXA>V%VM!SFVGR;i!9L1~OoRLf5&JeKNJlZZGbT3yI_&EvK$`*Bgt<)yy|JkgJa9os z%Sdw1Ec!pP*!Z8U9hr<7QgPNSDU&;PD>w;ki&6Aw@v!R24_&6Ku5KV?sfiy%Sfb>J z|4AiCd1?bd7_w?b%N77i9L0ifpkmmULlM2ZdOw!$hsJ(>y-{Pxw*s9Q*3TGQKiqTY z9N|16Pnac?2o*w|ut>NtQ&6J`k|LWNK#EE28|mI%v)YlQ2B8-$yLTZG$$6~Zdv4&ff*K4FdUfbfv; zi13*3gz%K`obZD1lJJV~hVYi~j_@AvKW7MA30Xonp@*=K&`a1)$Po?@4ifqa1B7A1 z5yDZzF~TU}Bw?H|K{!J=OE^b3PskHy2_-^>P$w)Bt`L?8R|(66YlQ2B8-$yLTZG$$ z6~Zdv4&g509^pP=jqrf*knouBgz%K`jPQc+lJJV~hVYi~j_@9EH%sUy^bqzDdI|dp zIl=)#KVg6{OgKU~N*Ec)R60(GDLJwgd zp_j0qkRu!*93=D;1_;B1BZQ-bV}wz{Ny0c`f^dd#mT-=6o{%TZ5=w*$p-xyNTp=tG zt`e3B*9g}MHwZTgw+OchD}+_TUBVjS0pTIx5#cf63E?T>8R0qMCE*p}HQ^26E#V#E zJ>d5l!d60-&`sze^b&G}1B8Qwe!>7@m~ez}lyHnNN;pXvCrl8|5Y7_L5zZ6xgjqs` zP$yg=ED^2}mI>Dg*9kWWw+OchtAsm*yM%j$`-C;Z1HwbXBf?|C6T)-C3&JbHYr-4C zTf#fSd%zzugsp@up_{Oe&`a1)$Po?@4ifqa1B7A15yDZzNy0c`f^dd#mT-=6o{%TZ z5=w*$p-xyNTp=tGt`V*iZV+w~ZV_%1RtT$vJA}K0dxSN@1HvQ1W5N@{Q^GUCbHWS4 zOTsI{Yr-4CTf#fSd%(R6VJjg^=qB_K_7Qps`w2P10m4B-KVg6{OgKU~N;pOsC7dLT z6D9~}2xkfB2c0o3KJyCEOw0CEO$2 zC#(@35FQd95grqs5S|jA5uOuX5MB~q5ndDC5Z)5r5#9s-Aw$?o$P&57C=n`zI$@D;g|I}pN?0abBU~rk zAlxL}BHSjd5bhA}67CW16V?b12oDL52#*O*2u}&m2+s*G2rmh*2(Jlm2yY4R2=4*^ zm?3N>bQ5|A`v|>+{e&Fh0O25^pD;ieCLAFgB^)D+5>67v2@`}fgtLTmg!6QiEx#$Ot?n4PPjq1Nw`J0O;{nU67CT067CW16V?b12oDL52#*O*2u}&m z2+s*G2rmh*2(Jlm2yY4RdOrMQ@6!L(wRidCCwsAML$w3XALh1f*}FXOqir9UQ2c;h zK%eaS`Y#v<|KyO<{d=6x?74qW<~4A!)GU56fx?e}+i6MUPxh_>JYpU!n*$|WC&CFo zX2P-=O@7Bzn4exD3I2~iUg(?%06pw|O9Uy^bwWYge;p~vF-@he%<3AT6M{5!3DF7D zMAi#NDh(7GGlIR0$~1F@KiX7C{v(u`$*=jO2tpA69^`s)^P48`g&<`Z6{7c%s4NuX zW!(dN|DHMXix9PKAOyCZ42f#(!QzwIvI~BgC&>r?VUlVeIbpTW=A^JhQA3YB8l#Uq zb43G!1rqo(k8Wno?cqoqxl?lpo;7Q(7x_}_2!2JTc(|Knls(;B6#GF+wh_f4O0Y2y zWMwB&923Ol+*y~c4s5ru`9*5-Z6WXwzhFLdmK3I8VqEW(g%i zg-|Cf60Q)I2v-TqglmNBgd2pLgjsJD2Emdq2tT(9|Ugnn*8W_2d#_jc-`yJ~GivE7Eu#wQK`5;eMw{Q(9p5 z<0wV-Greq1+AGe6pDIZtIQ0g^%qt z#mOJ|W~s;@DSeQW&NRow@B^x=7f(BsD?D}gSia~{&TJ2Z+c%sam4o=rtox>L@liw- ztD5ec^6QRV)b;k{wrN?gA7+~7H*y{QMvs<-mSAsOf>M*aa*1AdUk;KZ8AnF&PvU%l z^2&Chtoc)yOKp2hO(YHi%p%f%dmZKx!uR$j<%S9L`jW#y#>I%mLWWMGaGy_Wga?F& zghzzOgeQcjglB~3gcpRDgja;ugg1n@gm;AZfPcymwi2?0ZbA=XAEB49pO7OQARHw0 z69x#wgd>EbgkywJ!b!ror;*)%Znd!c&%tS=g^5qJuy4mj>-u(FwXko;RSWxeT(z)o z$M<|YE*izR+IC)al^h4q`nsz()|%10VD# zse~Vd;>aK)y2iKTMl1Pt+^pYyJ8sky{G{p$ezFf-YMh&HLzB^9$z%?Uvosx~@dn#g*=NJX_t zCw5~-RGTzWkg*I}7k#Gg$%)Y>5eg4@uys$bChvtHWh*X>z*YlFBkM*AxX(S8IW`VTi|*@q9d@KS&eWtUm>bHa!F<}kQL zzu~ljA^pB6we02z1UOQlL@rzx3ZA~scX#Kd};f1Gm=FY?MA zBFrjL}d#c+bSP$&Yb&hkcvKlzCJ+v-~)HPnFsR|ZgR-(f>!uX zvxE|%LZ}lK30DY9gsX&Q!ZpHm!VSVr!Y#sW!U|!PaEEZ0aF1}Guts=5cu06ecuaUg zcuIIicusghcu9CgcujaicuROkcn|nrGlZ>#ETNmwL)b^?CG02U2nPrU3H^it!Z6_o z;V9u4VU%!^Fiw~toFSYgoFkkk~-_}?;wt%NM0 zo6tkpN9ZN&C*%kR2nPxMgaN`Z;RxX<;TU0*aFQ@im>`@XoF$wioG0W7vxE|%LZ}lK z30DY9gsX&Q!ZpHm!VSVr!Y#sW!U|!PaEEZ0aF1}Guts=5cu06ecuaUgcuIIicusgh zcu9CgcujaicuROkcn?_15VjJsgl<9)VIQHFu%D1493UJd^b-aM!-OM*ql9CGQNl^W zIAMZthH#c}j&PokC(IH`gbJZfSR`B_ED^2}mI>Dg*9kWWHwm{0w+SnRRl*&@UBW%W zeZm^y0pTIx5#cf63E?T>8R0qM1>q&(72!4E4dE@}9pOFT+YDhVAxr2c^bqzDdI|dp zIl=+LK|()afG|urLO4n|Mi`ZeE(U3x=wh&gqAwF&gqg`Jo}5rS(M9L#gxZNN6jz4I zL|6J~Gtrf2{sMnIqM(QVL??;1dq)Uk$uyE$E<1V~Lwriz>c%=*MkMIT{3VMCp^(xC zPLDXXq{eHemVDHh8g8eY96K#-j-U95gqeu*nZL-?86N&foz_g9oe;*7iMYm4GG-#~ z2CYNQPQ+ts!i`MC&8t~E5s&<&BNK6kn28@B8E#6DJlKgiexgs`GJ`*6n9z5ZBbk_s zzt>F6)uXxKaE-xvm#`#{45x7bjOA22!nP-w_o{xx-@!o4?QU>Oi;Lz4sB++NWz7Z3 zl}L}+8=(H?RQ*Lt`nokcNK}a#^KT6c@|%%0tI3F=KviX9C{T}~-_;(q?RzjB0P3R%)BlHsX6LN$DgoA{B!T@2IaD;G_aEvfYI7t{MOc2fx z&JxZM&J*&4Swe|WA=C+rge!z4!d1dD;TqvO;RfL*;g)Aq`Sz+cs(gDDWgi(;#Aoj9 z9eE06o;U6t&r_|}CpD=c?0yt>--eA`w_zjKqp&AY*b^xCav|{XQFE2w@ljHbd=vDI z{{U(}AJi8=?Ka_gj5PRp7G?*Hm=`+^gD_#UK{~UMh{;e+Exp$<$B`hJncz31VC)3y z!JJ900_ruS*ZXdIC2##|1bRlGHx-bIeOR;)OER5BQ69sA1S1K@_|ow!v|nkpn*ih?s&f;h?5`6F z&i&VgX(f1{3EU%V*Rvm+RGlzod9%&YomN2UZM158RqCV?&;k;OL#Kh5Ojib+~Ud{H%b;iR@i%EY}EarEmDfF?q zKjPuGldjzON{tQlOdNf7(nXv-T52QGWL79r$q))bGK8XtCb5fzA6Pb@z<2y1?_rbL z8&N;+ZFBwDv!3wB*);K^Y^&eN<||#pmn^@+u6)qZXKwE|*)(w^n;W_f;)1a_h;(11Ju`9R$89sRzD0W!>a0sDhKQT08ZAS z1CC5*ucErl+xKwj4swO0Z{f2nat6lrE&xrE9z~T@#R? z8;8YoO;|)1EyJa2yfIx9kf0lf#dJ+rM7K{WE-nZ4#&pf^3A%AuOxJ`(bbFF?jW?!i z0uprNu$Zn1i|FF)Xrdf^e$DR*x^Y-c*MyO-(F;a!{XzV=-Kq!`riY(Aztv8USFCn= zyn?G~wRc(LI|^186*5lv{z#u_$ld6Po)ghM|L$yWQ~=1kn|XXgszIqF2YF;1-y>fCH_dd~ z&&Y67%E&CQxKuXYbY*+dDL7svj84G`(9{~jkVNuDLl-A-!GA;r4fJ4^}vvi{{ zp}Tb#3Uf~Lr3KBD!%B=NQ{kEizOeUQ1pPu(bc4PDd}BIdT(*Lh*>+{jqa4o zI+2&7wBzLvO)ncOBjc_l$BRQtL5c|ptNKjW#XW$ zI4i?VE=*gg8IPrAybiTE#8NXMLQRGTS#;t(9ePo#-p2t+Hd+|MjYhVIpOUkG!h{>5 zZ1HYxEgMDKT3A>TvfbQKcic8Z{K6V@{i5*W44$f;-K-K+zVWd}VxQyl}i zpk!JmupzBDJeigWXIger7Ab%%O{)wZ?~WBZR8*w6**K=|op4$GG;N9+lg2P}Z&bOF z4oFip_fCW&Uv`3>2-mDN`w6+TbMM4k$e?`PKpL$|urkoA2euo+k-VPsZumtRX#OKu zXhIWA$X*bKWHjP-_sXZY_>(YZi)Wos%%9BwW#V#cfecv258fgEZiw>S7zkdycfq6d zcI*a)hu&^;se!U38fEk&QnIsj{rT&HG(4F>OGuP5dYb4p1Zv7|V3e{M3A&jrMzDU( zmK%~FZlfiL+rWr8x(m&gA#VLKaT}5#?gYl1+dxBHX6X*`*l&r)ArA3Gpd}s$M#ODa zv{=NJA&JGrZHxqQCom>%10&)#E0(zR$HZ+&g18eH6SsjNju}+1Fe$*nOWS=fuY)8!Sg$7Fg@C&I3P{VqYDPl+Nj(uY)8YIi(}j11eiRZ>(-2bY<0tNc0o3KJy zCEOw0CEO$2C#(@35FQd95grqs5S|jA5uOuX5MB~q5ndDC5Z)5r5#E3J;ob+CV;Oa} zs*_cxTb&+t_NmjW&VF@r>Kst#pgR5P45%}#&JlHvs&h=8QFTtLGp^2rI%m{5tIj!f z&a0DGXI7n(Iu&*5>MW{rMV%#euBx-F&NX$et8+u0o9f(B=e9a4>a41BN1eOs+*9Yi zI&11YQ0JjKkJNdr&J%T>s`E^p=jyyr=cPKY)OoGW8+G2Q^G==j;(VG>XRA6{b-LB* zQD>hzz3S{&C#TK@STI#<+LQs=5V%j#TH=ejyK)VZn7Ep=|Iv!c$bI(O8$tIj=j?yIw=&I5HG zs`E&l$Lc&$=czi+)OoJX3w2(q^Gco9>bz0stvc`2d5=9W9H~a0?$XUXeB?s9Y{o%f zp5JaZ6p&q?~-wkDKY~?U&iR3|MU%fxlqZ>#+F%@*;gAV_g0@i1v_{m_#$F?Oy zUtZ9`IorEGx08EiB!$EeO>&T3HwRdVGW)3{XG+NIr*c9VOZHPa$z{!cDmRGntnhWm zr79JRaLMhxD11Z?zS#JcDExTErL!1^FS_ANarhF$cjt^IVx~Z!=%yE8PbWo;wZp{1 z(sEA}0Uo8GqHQd0*jFaokwC$QFqUn^-Po7LV?R;_ve$<@z(k$X9bodvH@eYeRKTIb z?G>W27r)~ulQp;rvEA7p$hIwwq!q4vp&%xWvY-s))|ZEvI~13`D?!+6CC9~BJQ_ew z(cmRcyvBWf`wyd1a6=gzB)r(z_VFX#aR$0^bObX#%G2RMQpIHd$8w-dd@&%LZ&=w_ zi|cyL2_Jb9g^xU8_{TX}2gejGUN8TloZE6&pt<_KUTh@!>&Dm&W$YcM^L((ot0$^> zc=(%@JzbjKjXi|6aBT=5VpP~TiEhut-sLZD62I8pNEikI=I%N!&7WTec`B6V(um=+wC~-#Y zH9c4|j4@5`If4(>TM5H6e-Ys^Z|m+ym9Ad-buU^rM<+zEYj3^rfy_9Nl#B`yEh9($ zcof1|C^O|*S~uhk477M z_?zMKc!lpHEaEZ>v8l6ADzTEs5oMLZ2mhbm>$zEY(_n%4PYGGDX{Tz zbu-x<8PZ589{miZME7DSc}*6SBo@SuxpEaXdh@+MaZ1D!RdRstL>io2YZxu_nQIMW zzeMHvUeLsh1SWdFR;Ndued_e8vtON@ItSD_s7}8+1L_Q`b3~n^>Ks#NRGpLR zjH@%D&KY&is&h`A^XlZ)nN_ExPDP!%I*aODQD;e=tLiMPb4{J=>fBK0raHIOxvkEM zI;-m3QRl8Y_td$s&YC(8)Oo1RBXu6D^F*De>O52DxjHY@d8y7TbzZCUMxD3nyi@1B zI3pQ#wyKj=r(2yKb@r*#tImFPa_SsV=b$?M>I|qetj-a2j;eD^ol$j8sxz+6ggR%` zIjhb&bgp`2b48scb*`$jtj;xcuB&rHotx_1R%b<>Rdw#Db61^v z>fBdnO`QkoJXGhAI*-+PqRvxwo~iR(ofqo7ROgjCuhn^@&fC4oOM%eduKv_q1;l4I zKxkp+I-n@zdmrxIuNw?U`(YbKEV$qMu&+x@0HfXN^r*9M2h#YPEilTBcE^vnhTMkk z%i;?5%lr>h*DW@*d*8OM=s9|DWAr#NdTfjyH^x3E#y%Tk-!`1f05cWSCyfr6VR>|* zi;J22h12M%Cwkhq?Vx$_pmb)V1JuwNJ8K`1bCMq5a4!8lXxiU;OuF)x#4_|EGW+!H zUM;tCmcL%hUvF2|q};pXlf7U6zgqC}(ut$E$DUU=^FI45cGU_?S~1(c$D4BTllH-* z{oA)~?b0Bu;jmjC?HAB=&!{u5&Zs)a;_4cWACDnR%>NnV;;@U@SVkwh?bFG)Oh==V zJcgX>d+H)BGH}wA&`B1V255<&)ZZtJMgj8OChCNZI$;Wv0g|PYTTxb7TVN-*=C*XR z1gO}JPT)8A0OB*WdM&M9L#r2Zo-=ZuH*%iO#zmjkqGu_9&Iyz~zc_%;c3MJt%S_%D zG-pJkd8L0MtJ$i=6zdwIUCU_Q7UGi4?vkav^btzBhs5wDCVa4#Pm3lWi}-{e{dEbn zzb@^`NV!O;!Y3Il#YjvS4Yhht^lP{Nj66hS>)pERUlXbCM!RuoY~9wy8=K?!OWoLX z7QZb|-8;8!C*f|< zl))ksQi#f6QDZ2Ylr;+OqBiBUs3o!Zea(wQMhN~mgFCk6sS!L#8efu_E+ z(`BVdb%a*eD-Wi=SK0Z<)Ma#4d-^>h`>U*D`5we7O%>hx z$cbS0Cwonl?py{p;QfQf2Op%n+Rcsun*zHK&;G{EORl&3<82=ZJFANF;$D^RRp+&j zRV>_~?mynf8P@3P&h9L_?EhX9m5>;IxJ|mhb>eg%bXbl>eJPS?+p3pHO(Ck0C8-O8 zrnogqEYV9U082)q9Wp{NlIR32rE4TwUx_3-PEN|o5VR6)$ykYY(u*b9L^7NiiFRTN zXO2W$q9$CqGm;v=7E83oSBYLSz1^*b__1Vbe3k5_Ju2BTU3SUZaoHl)j9ZD;m|HVj zcI+Tzzqf764%|A2uXwSOq<3drvCGOtQ+~%+cn~CyZc4a( zQc8Snrx9CCpYb@oA6@(LHt7Y`69r4GW$e-tf|?e|J4K^Wq87BQ>?;0rTP}L1$%D(} z@;}>#FShZ&eLK6bO9k5+`44Z(6a7)anslrrEnC@9c1+i|5{t<-m5*zt9G5(lv#luS8jmlaqQi z1a1Fd$?P=Rf|DNV+KhOXgeGJ92PdX*wsU7R;#s05TwiM_mwR5h+%xgCz2D=@3bvN6 z*&@@7*g8{2+{~{U&#EwBYV%rLo7c5AZ-1Ek9)_YWtMskn$>=RIrU^d`R2BPL7Y90J zQUdpW{r7u*w}%%g?EU(m)cMx(dVPBa-zj1G*YQ;sd~^a|Hj*ZEz3&6e7({rk8#b>q zn&nwM*W3))Xp+zCaV~Cb%WVbwG5d02ff5{rE?f3d%rzF2F!2ftm^qK^u_R#&0D4{C8fIQ z88lhRg@EaTopDlL6);_}Ns?4m7=?yH)EIS`Hi#~mOr`$m5T;b(F1TB}U`+bD`7IYZ z{DY=v+K@@XirFpOoRyG~jYUep|0AvCb}S6Hc@N^wE+~@QFa`Wj2xsBTZbKE*XB33n z@ZyRKc(W{q+opzZ@7kpU>g`>7zWzV=e*M2g2)cGj#oeZg(AAUK+GT#y(5MOAHcjAm z+yo-3-IhE@b*VT0Bz={``%2UvcY-g;*@|fp_{nrXE2e%N4J4|c6=BJs5oV1S49K}+cxQPWqV%8HYd{1}3E5V2(JAmXGK4C#G=b3?i1O z3D?&e%4OLr7aiCe%P$^ml&%goD^^lgY(Z-FtSl;fsQuj zwOCqLwd-0nwY+NbpuHV)w;JVPRdQ+2u%z+g3B;;)F{`F-9Wp{Is@nuDrE3_~SE9O& zlM|se1Z~|~GIj#tq!&*hOeDjZsaq$eaOO-PEKw7#+%=R-JR#8dIw6QAw5zs&lxOl8Rw|PJAHt!o@yiYc56B3VY zT+*IwG--+VP2;)|GrVS`W{qSNqO#Z7lR;B%8YS*2&7^J3v?hm)5R6(=f|kguRdDo` zsG8#Bq@)c&+nOvHTX9Z$aZhPUXfmcXIWdJZr>C?;O}M_+P%d##sqvSa#EW}Mji++A zW~Si|8@8I)Y|(0lt!QaXQ_JG9`k|;OYgUu59DAN6Prcdf0L}sMXa=Sh{NAoo$Iq%z;6ZOa z8GEkj3yoct2GZu82&T9+?J-@!8hx!v>tfaDTlKwD=RI!w`P~mc#37Vkxo&jNK;-uE z1D0KT27p`k3?Ox(-wUftws#j6A>>}2(YJWoB{lUH=0B|q@xI%sD`2~@ndH|WWT}5k z_K=hexpGpkMspD5hB^dI$~ z?OVpOY_emr(j)nXRkBM|+p#6eCpMjJ|Bxa0lBhTk7hZk3bsG?mI0Zt~XMAxPk}YKL zA!0mA>FJ|{R=T6mN;h{sNN8PpjV1c!1>?6{hsG9hveEu#o|PJ|!m!~LT!&)mU60e& zM~QtcPWzg?C!yCJ+U8kfJG8Gkw6Dgr^-*Fk$F!GY+E*Rg=2>Gqw3mCj|0uVA%XZFY zWKP3@GWt*@J=>+Fpq`?AU}KB2i^B=1B=%a3)!m&~^l?Wemz0;Y*}_EkPYVkNQ=g`f`%`)dY3;64aLy)Zyc=T6`6C>gp`2b449p zs2jVgzGZc;sdHVO8`^|!sdF1;iCcoDGR;J5Y(>LFfH~=6t6J&V9zCJAmv^$*a>Y$n zI6Xz~vbnCV9&CpC&*+7-+k4S3b4Q_UfYX#$(DMngJ9yy0FvbUVSYxm8z+N|gc!dz* z;4L1gmyU6Cp!*7D>nyuXp>?+#otr%IGcV?({g{r*OVF$2r~AA)#ys}$gTrEy9=ort zRdE~aQ2aovedlfus2R%o&DjqSV>{Qgc@SUjypUpB!z-q_ufgb{8#BiqP~hQ_JkUdP zi^P9m`Uv}y@so)B{zyp6d-^D$4{`aDN#$Wzl*(f^HJb`OA6Y7EXqol}JnxS9(!9{G ztf@bG?@4_2ddxg)`aN9{y@x$r80Sz1lD7Q(9K&wJ2t7D_XHt01u_k8hg_8iDQM*z_ z@9@CdeagG)s`E^p z7wWuJ=ao9I)p?`NTXlH2>+Amj_+1}9VT8vIw!zT(ANc&cK7Jj6KR{za5b$?>ySHsa zZbtii_x$StoI~$2x=%mCB}g=--fXW4&s#&tKz1iIIg}{=@M^E5j{$@?<5yTVlp&?D*Qg|@cPG%x(aCN5P}WR)QLOl_FV4Y#lpV68%*=l>kI1r8H_`g>n~BCp6RqDy z>xbbBHw{uLfYbYZo#kqoFjxHoM)#HAext-|oZe4RXIZ9r;vgH*iGu_iN8bk3Y%&gG zj`p$@_ewr{KjdRCLxg+Kihj)XqJP^dDICydaN=MubZYdd(hIekLdC+9;nxD#oe)czy2R~aK##n z#t20>xEU&J3k!u(xpJv6SI^ZA8#Co#ULg za!ckKa$QEq;ShW119es-io%a;aP$K3MI~UF^?Y=+8~LrT<@S$^4WNPk%L4IfcAcQQUD& z#AUYh_ggYc|I?|N+~x9oZmL?y&DV-^7f~0}S|W67_3Hd|y^zn9=j*j%zK|==n1bxj zO-rs2pB&j@HKm!Gn#<=ZQ?(k2qgD+?RBpahKu?w{)(_=AM^{<>s#q)Zv(p3vkeInL z$RRyMnP$z^DMptH_1Q87>+}{}f^vFSb_B(Fv0T0U@ox&%8f4_~;n6|`m51Q`>0R4Q z==adUp5C=%Y_49tJW(#r)%QsyPF*M!MoL9=si*6B;n0@MpBf4CemVGQwK{cqWUAtp z?iZV5;p2;?u{kfDpKZw;BnJ&YtjoY}JqEu2Y4yUd=ZY8=E*+nrnJH91zwoyZW2YDf z4-F)W;ggFcG~!RE>&1nFd9zkr7~7ILMlKqDI(X>Nq5fPV`ovTfqZ34{KZhUP;yLAW z_nWaVPM`YxSCfY)2PQ|yCcYRO`Si@#sKec1kGpLbOP@|p&tE#{QTp+xUmTyT6)H%& zUYM-SPUQ>L$+G0N=8zlq>KvI>)=$eD6V>uX@P5K0{!z^4kVEY7A^02t+HHxQL60$C zEqvyY`F>2M#oT@bilxfz)QS1I>4ut(sU2=sc1ZzeW~&9mT(%nV6 zXbWSd0#y-+N}?G?r8hVUNsF4FFL$I;uTM?SYE=XgmE(nr#ktR$@iUa*XULPZ-isx9 z9eq~5$f0Jc^hE(eO6~Ep>7R zo!o_~=`WMgHkhD?zC!pDdNRls@|(=+8Oy*4lm1_OY_?dH=t+-bIMZ=zyo`<)#kYxK z11;^me%Xwl^s4Mpew4=XsaoOW#^~&E>3l&|#BbtJ0i`qaeI<0FI(2b$sy=0l=)A|4 zNCn2Dx%}h|dVooEE0n#);fz-z?K8Yr3q+f)=5pL4`mu~1Q7knTF2jj|!j}j3 zE@Z`$DgMeUok%3o2SC=KOXsxFW}0^D>1=WQT8~^2^Pcs`XDDF_0ZZzI&_#qEb&;l( zmd=u`G?FO#G8C24;mP3y8}K>9D2F{}i!^KrH65nX+2JtdlPZSkB1^@((?vEduJ6_u zq+8|~ks{-1S_frZXq=wEAVZB;`R%vd9T!WSHIEl-b$|40pBRM7607;0VEcVNM1Ewp zF#V-d^qj=a*P2#9`Y;W79VwxkmrmxdypnU|HLclT!ZK1SOjZ3(q5ZNFZa_)qKTX9U zJx34+;YMX*rWl6ILJ%^=g{B>FdZy3;JDHjwZ z)NERsoHk=xssIkq+Ld*-&_Y0L7?g8w^POXX~YfFL6wS?iPF?u!5?PY zFaPbxDvfhP7knMGeOl~?mDWN)#_|Cf%ZFraCLm)oAsH(MWULsHv06aJY6}60&0h%9 zE=Bt1F9c<+7?QPOP}XW8S*rzaxCPcb>5kUPEjs4H!Y+aQ>7#?Rf?s8E+_iBlViO}F0v)(rdX&M z!CW2tO=^WaW~QeuO+&v13dZ7yJ%% zH%HHDY|fn2r9fx6^jA8u(7;`s3G2B(zO~fr)v&nm zsYl%zXVcb$Xttd%l}=1e7n&AU`m!KYo6$lE`|Gr8s`=`1`|D=h`6v{fg|nK!?A(4+ z#Oj5TQZ&G|H_h_ernVH(03{=9D*Y!%1^CTdWjr$0`Sd_E$ZlA5tQi&mg?vgD({u}yMb!)Z1@wra^n&N0jm#O{qN#MJmo*eI5-}UXYg69v&=-|9 zv<_|=uT5USu3Tf*OeuMe+74ZA<<)-F-?i0NeL}%=soEO#=OR%7rq?J;WJzkKPX9Jk zA^fu@3B;x0bKbt{W+X{xQ7Kc6@0cI3Afz+5k}wmh5U|g=fp}a1zC~dJYJjQ61|?wK zJ=*nZJ3IFc?+v6+*D=kw^Uqf!c)IT8YykC0}W9d0VABmS6&cX!Qc?80oAvV=D(q~?j_PM;Af?0R3 zdwXq@;%=xJ1#eRY*3ia-%&Nz5W^<%muI3NteK~7iEHG9(^cDg$I1`w`nZOJV1}?$D zd}sy(m*C*cf-lkS%M3ek$lzy%+U((=)CPm7F62!HtHWW*4W?M?TO9gefU$?`RK@nk zzgA2qDE<@Jd|TiaSO5K}KmX40^F(p3SexDWw)PXH`P%GRZ}{Fv)gH%s%=*eC6r+m; zN2B*wS)kDiozJE!m4Z3tCmLglSPeH@Oi!K^VJVd_NjiT&3!zvlhGMC>(6BPb#?Y40 z7y6%LgLf^zzNQtm^P$PKNf>Mu4nbok^&4&bD+W*p8_6CX?GWL?P7xj&4P9lXgvX~Y z7pfb#$)2d^M0LJapTCr1R7yKRhQ8&Og*jsnY8U|9mT(M!AXnfu z4WAV&7%3XMtF}p^y8=l^9>eSv1x;DF3U|O66#eCEe`2E$?wn_hFUDD>>nBszO z`E8qiE{#5O;E&!dma<5E@|K%_>8Y|mWJffwcjs7jR&SJXirT-$#4T!j?@p;a{bg~% zHymz={EwaDaLKbI{Gn_^31DE4M8zaP+P(;Gh&EQVecHHL$RFZbtUxF>Bqle;;6@B- z4Yj70>hvZD3!u`%wOaNrj;7lc((Po}t^iWUaT#A>YOXlBkka#|t>j40XUQ~J6rv(Z z>V8AsMHQG^krz4s9c|<*{$jXc`V!Ggx3sBj`1BT<7J520Ep$UoH&8D$ZOrMUv@t6w z^lv=p9>nZ~(!*M)9{%)K3>{6Z#hsNZ8u1=IU$1DNA{I%>A~*H>8?rk{ym42hBR^@I zsj;LY?E3qu8)gmh+I5RXtCHEUSJB@M(tZhRf9nvA+R@BHC#g4{wP|ms0*tyS>e2E% zwg#XVO3^aYdLdE$4V6vocLOJ5)oQuw_w?;$NxQ@or7{lAPj2G854aH`4Tn`k=|g$7 zaodu1JeYaNHBPc%;4j}rZ6kf$(6P}{vV+h?PbFzzv;Pwj1ZQrfBjzPu{ARD|OFatH zVhdD(JBei+xk1m@McQw9sz^lyBW7nBtt@SK7tLrF8;nX$?YUMKf238No!4nzEL49n zyiSX2#jL9XL`0?e(U){lN|4#C3Sziv*oWm*Xp5F_?M%jbDe_EMa*ds3``lp_5gh}p z(D^W@9F^EiNMgl>6dk0+N>JJO48|9pEu0BXvDlznI#tnPR|3;GORqS0X=*W)YM|7d zPNYMG8;?Nh))T!Dbn+6eG{&wr-ZbaTA^qvPjw+wUal_SGH+$-06C;f(rC)Mlv>EEYv3} zdWr1hh2k9UgLmqAo$am=bYl_3<%fvfbS~A(1lCYGH8)cpFJElBbuXQi4&;VZap8ie zfoyQQz3S11s=eINFzV~k8%#py0A3Qs1;3iwwm_M>*Gk28Viya=1%J0~ll^7M$q*EX zGorUk;6AoesW5okK-m?~}w7P>(t`75(%c zREKZ1NSZFLsTDAtk`7}^sd05#da`zIlT&k%lAFMN_(fihuOBMd)LMm7JS`t4+4!0# zdP8i0#Wx0;8Y|MLJvzTo5=DPkXxqKM5r}B9MCSH^R!ia~7-M0#(|vz0Pb-r~)t0#v zsIl*N+Chtoj!GO>+{We>0&TTJy(+z+{9zd{&`vw$5A=fO7xap0+H0EGEvf{$fWhC8 z8JQ%~H+X61j*=heM}nL|BP_jQ+9;fsNgaj3pTnAOAdIq_-tx7rx}-3MZORUppoMWO zMbl_6kB$0hi+RME0Sc-;XJGdb{swafbeX=nZ9~g*szAG|iqh%%8}Ve!zF3*JAK93x z{33Z@b5hUM`GldG=XXTbzkE7seh=iRH7%<5P?DmR1ivqLsI{mh;p~z0jCp^&YM&H#=P9WM(QluYWosrJTQdRK zDu!b#)ymvrB|;>0c*C`QDVqgaJVS=@NvIit4<}=_aHW=d;L&n@VBGGUnzkOR5R*_ECoHgYz;$Gu!+ooldKJ>6P*NpAg*O)eFPo@l5lGb9~ z^jK)R#gVP1CI-ibC6cx`J7d-56u#ZY50PDvon3z6w`o(8k~6ltrXrqR_-x2EH3A*= z2KrVk7#z21G+;EX`}AGHk^{`x_{lxra@oW%@2=(hR&dywPt_VGT7JbPRIS!Nqa>}y zXh(d*uQ;chYO&Kp$?1A}kU_#M&4*(v%!n^+1+pCpth@IxT0GiTV(~Kf$uH)FQ{@Y@{KD%+dI7obH`g`Bf(|$pr1Cy}_ z*NLR4f-N>mmU?+Ae~RDM#MfPXb6fk|Q7k|Zn>MP&#fDEjZjxS@i|EN8RWHB$b(m}M zV=yp6k(l(qm2$0Ma@{GyGbtl_nh;||#}a#S`typvNaSR>MS;N=qOc?5a6TBNFo!I` z(_k>324_-wi?p?E^cG;m>=O5si+0Z%Lv@O1eb*V|7VA#g`(?F=s~CbzV!)tKn+Zv6 zFeq<>p?EW!&{EE3w^$39-o#tl0u`Jx*YGXJ_M5lET;tC9jgrGiKs6>sS8LHS1{Lx% z*=gtZK9S8Y{Tqr{?8f^#f8Z1VixExNlG8uzh&{Bj<&D=m>5SXYUBps4AxzvNLY=sG zs)2ZX?^MHC)_7B0i{qay1}4PWZ+&*Z~>EeL5Xrv;#6a*a;aO?0}38c0xvn zIv}G%osiL?4#?AfxzfUHI;4xC1hZ&)9W<(GJKc zK5N$jMmr#*_{^QZwSMED`Las2)gdPi&lmko(;KIbT?h#cmDD@Q{9s3!2lY-ej}NVN zu;lp}w+@O8KD^dJ=J{E-AO=@TV@QK*Om8NLDUi+4#^2^P*Da2RQu$K^rHFMW>i-+A-l4chq3<+tAaiUVL+7`;86DCZAX9v*jTD z{lrwQc4ihAV_lr}cMs_n0)7CpRKnF01i zp&mvm6KC>+to==tD|+u@$~3>lQBS0yqTf?enxQz<$w`oXU&t@_ZulL3B&Xl`xtob< z@lvr~Tqt}|z_)Iyb=lSHAN6&*u@(ytMgdSRS3&w;70mv=h7UKjf9nFpP!IF#l?(oO z|J@Y*JIrAlvDXenS1S3R_}$W96}9Om|GGu?pESraLCpSdr|MRKs4=DXFFrzf)yB z+%c)fT4l$W?wC|#-Lhj$cTB3WhS@2p#u7}Yq?)Tc{w?Yo90zbzIjQ~XdmOhHWH6fn^XqbYKPp%OETlff)=egV;kImcik`G6;<;FoS_* z5E@%x1_R3=>;f)T7=0x8OFgO%V1{5S+i%xKA+17L+f_ zb$pU0%zcVVYvz}p4K&)$a(FWNSqAu=&oZDg^f3EKc>y0OzSwXfjM=y;w@tP9Jr~r5 z()?Sa`b;X<2{EbR&lEhMf1IdPuxwJ`h9X1=zVzo&UJ%-OF?q>D3 z@3cu2_sujA#WF+q5^cOhdPDvC>FKFbAJKEa&svmY^89H+3 zL&Jx`+M~wSt6a$*v_iveN$rt?2`x#k;cGHZ9S%>9j!k?qHuCA2vC+idaNLgVbTF`a zoi0q5=kmC@TfW>mbio(l_KC8!c|<$HYQ7V!<~zdbOea{K=?JS0U#kcq0F5`zw@G`C>6S-VPfG08yIx#;t z?XOEkvy=3jb}4r;5&c|MeG`W|3^C42Hq8-$PI?$^JgGjc$JK=DHTI%!^E!z4pr;N!pXwB`@gE=#zH{&I z1^U`=#9lEhdx0+Hi`c7$Wv>>tatFi89<~PsZ5o4NWe=M{!m<}u_ON9>EPG*P4;OI- zWp5~~>|u#GEPG*P4-3R$*$XRsSRM|`URc?~;&4#*hQrDpmWIQ!7gqMLFdUY>u(F3` z;jrw5l|3v9`^gIdutlh-I9Q>I};~c-5Iw##FpBEOU5#3NF#xLjwWUTQEj+-d4U{xuf_1*YxAJm_G)A#V`=4lL$ z`bW4nurv*WqvdIE)Y&AF!d}|9lhleJSsV(?-jK^)$_*rG_9Y!M<8||tJpyTDu*!%+ zi^(+qkZSrCGLM~N(_3)TKklZzbHonT#Qm*gk?ky<5SDw~e4WDB5vGJvJ~jKDSH^%N ze6-fInv{A!oLF;(&slTTg0^G^M^nh8Nq3UW(5S!lr^RB%vATxaw#;{&Yhl!4ekB@r zl@;<~$u;cZlf4$Le+n7~ReP62!&aX*Nui^ONHxC~DczXvurt%Nze^|KurU*WjpF9n zC^p~En%?-Gtjrgiu5qN(fYsO53i=M;g5PEp$JH|!PFi5EY`Qj)Ueyjeo0k^YB{$E; z=A{Mp$EFgOUemF(U>>(=Y2jQjn6wOqlNMMQH(gCbo0k??5;xDr=A{J|!%a&IrqG*~ z7EZ&1Ny~6JX@N~})73P*d1-;|Z}V(yURq$|+qAU6da-F~p#{XBDE*LM-JPE+&fp&D zN&SlMWckA1Vt0h2L=GOp9KcZ`vG#5Tx8tSq^q1IDz>i(|r*zvKAZuJt_D7MD5-(3L#qS)p#=ux56viW-JA3Ax|NF_0+pTI=n$O0aCIwpH3Y6(a2KdGrq^Tc`?sJ~dS!3%ykW<)ek*KyjV*3<@-&K+z}znLl(^DsIX7Q@|D;t`%GRthE5 zUl3cfUW^gw`>2*!m=6yaYGFRtV2K4~EzBk0hP7f)*1~+Q!LU{f$=XnuPlG6H=r{v5 zgQ1YJ1|20NYawL~6WNfgg_JdHdkM(ea7bB$iW8Exkg^7yDI{wlWewBdkgSE2HEeTf zy1bJ<+G7Ds`yags>TrG&T0@~)FDzO*p%|J8#L!GAhBl*Dxg`{;$_4{f8SLp{WN0u@ zmBF$eh@n7LhE23#7#a#xWzZP{F%+oEpeY1mC{UGQ5DwFS3||P8v*AE>k1;$g+m~h=)FTVX7C##aV!%^5^ zq#9RrHq2G1{&qM}Zvr)IdNl1%j-GVtaP!Y@r4#ac0}yIn=511%Z@6yCDJi$*t@C}MWaeOs3{*~op~?wc z37X1gd*y`908P7VrPd7nG&6ye7dku^)H*2z0M2L z(%0g$zKd#D7p*y!`>RSH%5#fZn({614O;*0MUjkVm3h4XLYa>tYYrofl?jn z1gn^{c7WC4POyq8mcKf;0Riw@!MJG!{!M-xKRxEjEsv)Cjdy9o#)*3aF^Mm9j&%(4 zonxIkMCVw?$lE#AIjnb%b&M9BW1T~hZ#Iv{kM!xhH?1%Y$G@;>fk>PLF{P@ zTn3>uhixROpU~I{gP~<`D6kB|SQEGe1Ir**s{DD;-cPF+epx7AD%7i&_1ZezKf4X1 zRjpW_`<`!F#5}|7*Ne`N7SRvGU^0rGfjR%TgNF_s>d$>zs}(L?C|&k{Maum-#Q4)( zajsU!#}N)?GXA*M!(RRpZ)3-@e|^51wha@*(5KUNd{-W4Kp7RU`qd%BklEU)JNRo( zZvB0om{wz_!PNBZ=d#%!^nCVY8+Cblx-`$?n*6)@0!lG1zQc!po;VW#J>YoZVsTEs z?F4duW$a;Y7t~6jTqcO&u&Hyv0J~0ks6h8ZjF+dU>Ro+9Njj;S`Ukm&>mv1syJ$!plWXfBz0e-X`ea^l|1u8M^g0X{q0kv2v~|Puc1U>erBdn z9i6IAfm>f`--uYDg{nwlpR^&nZm~|6OXaFPX){wQPq}uwbsE)3Y3fo%ZpQ|rexquq z3+cUBGGCYTI+Ar2PDg1DrtVW zGk+SjJ$Di0H?2P^(MVqX(XKr`3QCXCGny0&z^B-zMv9S1Nm3;(7DzEbo)bE=|9SWJ z^4tdo@g=4UrGi?}RNWP;6?pZfN@$D9$0^0s+%)PkR>%DE&8H(_?tdL{XCn9N%ZlYfNA-X-95L40=g8{xIBqjs)r+#g>m3NFwN)$U5oH@Qf z)!m2$L8$;~m7v&~vjC3$j%6d%m2pE|S3OADpYv{nv{s&yjwh0Sk!(P(M_-E);dCle z?PbQZP9?Uf5`nC%6^)mvT=?R)3t^Mh@`d?YeGZDAGsgJpD|#+a{AG2jGFzOkeZj8* z;y7-7p5o?r-R%i648ov%a%wJLVmIh-%4v_7^aAx$b2DYlu-{>Cbj}Ms2uvn5HNW~d zN?V1?pngp-OF<)iY0t2 zejRCQohUR*RMK4Zl}ZrvxB9hCOvQ5Uv#Cm+)e(ZwOejJkApVxY*0ZLKWKKW5iM(xE z)a3KPC@IOHKaRJ~myWt~mKxT3ot9}%Mp=-xN+@Dsx=WKy6*_$GQ{$mibm; zH+)Mu_(O7g>n>r<>mTpzM+dTc`(`;$}^zs_jMZ) zB-9WT_(+ocPFYH|#XKmBGGYW}alIWon<_;S$Dl0MLYJb*cSsfoL(3wLkOh{-!O*gZ z3t>XD7+Mx_b~-eRp=A-b*aT*AD6}kMyK`t3L(3v=x(UrBMl&Ar+U-zdW?NuU7UWRC7Joj%JX?^7kJ zKx9GkSNEhkTDES3m@!2kra1a5)a?<&dUr&O?Isv&6uV%oi7F9_HJPM_VofKg!B`7f zYC16u#oACvS<|UhFxEnrnoglYu{IpC)KuvY##+cyQ)S=pE8FXepyipaNKM(=w8GL< z!3#@MtHoEGH?q)xvGLb)(Wgexfo`7B=mR0TstlU`ib#8v1pVIoq6bL&)@LEvvL=pE z++76}ll!_%woH*s%4t~LpNw0*f-}i>9hOPa|H76e)vK^f%7i&6lVa5l%A}gL!!jAX zy0vo)%VhBCR=aUfCdF_Zw7S)D9G1!8)ve=BSSEv4x0+^yRt|0y4c+yM=^!kV;l~Hj z`@%9Q<3m`IGOb!y$7p$|h0^8@wY+~F6&{#oC-{_+EHIz*7m#;f5o}Kxf&nL4p1PMK zG*Kzh&_u&42gAYpI5qi)t#_@Wz%)A`^SJFD^68t+#l#q$&z+pAR;Mnz7XEdP>ADhX zZhi-0-*(xa;A6wTOE%sZ<=ha=3*_UxDJCbCerI0p4(vzhErus8*CU-Qe0t3 zt(!rytbc|3n#x~IV$)>88lL>bHH6){!4SgkZzXM=6gFf#q}XftIc%L)f-Nf6f!Gp> z55yKtVS(6MR~|N4S{(fXu@z9ZWC|CCEuFiCsYEeQ2VyIrYz>8zEj3LCDy?v`rPD@# z^xrpj_RM6;wGzHsvEIrhNcaoeKPK5)fqN0^x#BZi6dL*1sxG){5R$Uqgut|G==4Jgx8WstScag zCaENvOHlBpfB5VB!Xys{%#^E_CT9wTJTFLcX!^C!tNwTuqimw#ODD`bpyVsoQlf@e zT{LwF`)3YNOF~%HKwaAfO@Bv9`y9h+9pA}#e5%IE@{cgKPZiVYnCj;rt=YP8qHhHl!zs@BvetqF62kGHbm5aPN(4L8E#_LRcVT@_4DOF~8 zbuMfHS^owY?FaO$@Wo5KoDcUB<|k|Qa^g}_|EdO4zH*O5+{pZbXiLIypo2v*&L$ph zx&X(%FtkM!yOT&13t_ki$~kKZy1wZC0AZ8)Vzn?`NA}q(PEAiIF09BT`Ylrg_EduD zXZ&pwZE=go{t(fw zQ0t&3LT$_?v4Gp~dc- zwCwH8Am`tQE5oglE0{Z;BP~2ZIjMGY7;`DxTal51uh`2lrYX$eM&|XYC(D4k9jWsM zXNU5-Rpkyn7fOjQjrmswvZ@dxsei1i;<`lF(Z!Qx0Tp*-wlMvrLsxH!LSdZu?#*m> zOwSqGvX^_k1pGevVv{d&^Skf8 z?cOg~LP*I6M3jJ{fP#b~Fn5+5wVrzjHPD_<-GLgMK{7Ui9h2ZbCcAhVBz1mTEvw4qG2*eCc+!JYCQ=RSt#H z!y#6(vRIz-jaDG9cEhx{{_aG}fIz#4o@>*Bz)O>mHazosNOIB=x73OR$Pd5wf0JDM6i~Gj}>eXU@dX{l((4 zobkk`%MO@7U3S1Mk`W-blg`Tf@jO-L+X%EPlpmT~#O~3ujf}~RkgmCcPFP9~orP~o z-hhn$C{W4fC`VtSl0_SzSlY$o6U+XAwCQwPBn-ue)7iD$CS`<1!C0JYGKk`iMi#9O za9O-!SV&+)bp!4Km?@S=rL zK@}n|I3R-LlFV0$x5H$%xHvhTE+@kb+Bf}|f1=fcPO~C^a=zGXS=1rV(2dQaPWYe@whC+8q^Gk(@0O;NohIYm; zF-#|>ek6j+{|K*iUf^EESu*6XwK*McWcc~B*F{A9gOKNw(exaN5hNxX)&hz=A5G8s z@;-{x%Dd@X<3OzxIOHzJAc(yA7zFWdFJsWHM+ONyla&ZDi&XBbJLr z3k@f*7P`(b(PBd{JJ@tFMM1XQpY=A6|LTxy_|$Mk4-XaM&~6PN4nRnbN5W?Ny(8>e z5A2nLXuW8g^(G4cJj&+Ph5)>GK zRxDiH1^!?h zYbclyE>uAvYozF?JnRVCzHh3I97&VQLbYQW4bh*hjK6O8652#+XWHY6lzu zY6l$1ZKMc+H4=R5mhC62q)a+7GrH`6`62@ZT6r_7CLe*n=%ll)#Wp)-1-s9LOWR!w zZq#oT9FJ~61$D$0#*Sm-I8oSw>k&zJ;q42=H5;Cm=?LIK-W_b@vFSt_pf81ysfGSr z3GJAF>+DQv5NLZdHa!o-W}KP#!wm=V>2eSj*1w3E)o$0Fu;NKJ9LZ;H7>QZLqYZoc zk(+ukt6ADS+Szu*)=rDLS{Y&+aWdSHl)t29&`V3dF^g^bz%k)v&`XnY~ zCKkK)i}VsFzQ3_d=GUHg^?C1*qoL1v`7r&$4nfvBv+W>_GwVPuEv77@r*7Alr^-VjF#S^A5KWMv)4T9MF3M&cN873`RbS%NdWPsP^4 z>s*!e$1yD!E0v`G@nC+9r|Yl+Wyq0()2HcVNN0dfmXnmOMsQZUOn@18)!w3PGMPu| zJ9O4xdRAIw6C1S1#l-|N2hAF~U2M>V<}G0TB3DHyj79=0sk+FC{z%=a0yU$yphdt# zDkBx7N2e3&hzHuRgMI`FRU7%Lrc?cE0xX@*HOgl7${kbzX|%gZ9GRP$`wffM(mCMM zd?#PnIrR>0%8MPU zeQcQ-AGK~}2HtW;dq{FQonJq|R+}bsaA8+CudOqn?*|rNAXCFiJ_K_~xuz4gz<6W# zuVM6ec7$PQWv5ghTx{=h^H8HAbY7t5CoDj146}iVg~3!51;x0E@Am_?Zy72=y(p2O9j<^gx?tw}T+_vD-m#Qn}ME`a5ILkhA|PIOwIbEuF=@9>2a@4gTrjKCfn;_@B9xY`=N39K?25HF z+c_x;z9Q6}GWG7Jd4zlLaVb6~V7B3kc+IYe8gw>lv%%$ToIIQ&Z)7^W*sw#K>{&M) zr$dZPMsPKmN<_#G#AVEKALR`1EWJwb8c2RkLqjSR)xU@IF-HlhOrvljNW028R)XWC z+B$GrWSx;tDz!7xS(!>J+8oEE`rwmUenGzDh0Mfh;=^_$yEeR_KP^%* zOG~5O+PkK3#cc4>Nz|H=>%dv5>En|X;!AhHC;rOl_y|#S-&C`_xiVV0%K?~$-q`@m z((F!r4F5Y4pRT#TePyJ-BklvfWBK2{>QsCH&jaXAd<^*=iH{+^yT!ZHt@r@GWAWMP zR(%4V2T&izn@?BM7dY8gy&ru`++a*$y!>l(KnTWX44FYSZT+iYvZ&)WI@F!o#Sws- zpg3UU?N(gHIdY!By`;hz6FB!GhW;65woCGCbCOWC)gGVQoeVFK^k_!`^)LKQQoU5t; zkngbCt3K(MjdkQKO?S=^GLP`l|k`-^GV;Y{(D;|>tTMF`&m=+Gk zQ2|G)EFyVi9YiFL?ShEpkwp-ZJhlZQl1Dp0MDkemMRk)+5)@i<&XFxywxKB#f_4FvIH@J?ZeTab61lzW>8grr12jHl z!j-#nw7gwfAY2A<)1%ymxS}@0oK>hb8rx%HCjyBjrb(+vFOzSp$nZ3^nVE(m!vzDL zSLYuKjCXOlN4A~|pD>;dxrJ*3smYOuvqQji-kzrUxZ?n3M?5B9gs`gp=7U?3ka`Ca*c|UUWOJJ zmqJv4jh^d(!+~jO|1PGI6>dN<>eP8EI-W%2u&ia`!?L20XH;&3F=ff_$tX#Nr-QQ> z&Ki~$15%Gg*>3(48?LsYOWDYBs*Ps0yX6c9dtQ3T$z!=+u^-zG3PIKqiq>ruvP>;e z6tZmnP!zIEnMf3}Y-vaovXH6=np1?PI2|P>WgS~R1RB-^f5%zj3jv7Y7V!t>N7CW(# zuy~)6u9AvhuvIO;N`EdAaqMqOzd=PD^spt)#DHUgG23E+@i1#Iu-4s$h{U1Eq4E_g z_P2bE;(l@VKt=-;*EqtMb}{?+NGD3sQQ%?i3Ow4~Vgj<(mJWo1LKx&eg~nWr$iuD3 zJT#TZ5qW6rgor$})Iv{w9(lZ?pY>Fd0Ab7hYf=w}M2LyAOe+L|HD1X$+nphzFQnXB2F|#-cVgYzQrF?=u*a)*~?Wxl5fEa-a^tUlXIoTL{QDe zEXTj8)AAOMN6$|dCY9y!&_8}l@o)1H0Z}74+>hRWyh~API%+D|&4B4NZ_QNU&9yV=Lq=W$`hXhp zr{VSabUC8|bTP*aUXU;2`O4*kYmNIEtsa^lA;F8o zj>47?pkR+h#Uzixv>L5yIRAt6Giw)`rKjZK4Aqc_Ua`+xt z^6r{Yd{FP=Kb{UrZlvY(@%x8|`+GV4d>MANT1nnfg4p5%2$(TNIbh2u68mEYdo;#@ zmJ?$cp5RuZb9a-xch^5a0fM!hZ#4LdN7Cu zY|YTd>oCE<%Zt4}X(+W4GP4)jB&)#~mgjWt3ZP^Lii>w~=H_&q_rd{j#*-WT%cd8s z26|5ZgeTGwZ8?KvH{d>VyDZmFp%NAP{IsH1+9Ye|ODrB|6+J8i=6VJlTlA&36 zJbB!MEK;yNSV?9Pt69(f0)#|x56&_vJCF}uwd5-dX;^*Eik6BeXhlP*0o9??EN7{X zZ!>GGjy#zy=jRD6P;agID$N*8X68z*wqhKKZr8-ZmXB7orO#bsQ=&4cz_n|`pzjGI zp(THjMaIieq%fIAS-TX(U0CY<%waAgp9}gnSiF$40-qPIecy@uk*4Ve{U8E^#bO7- z9o-xL5%e+YzK^Xxf^lq_ame+m+zDL6wX%arrKQA1?4~eU>$fo()Y2;iXd0^xa_zyh zE5iYLUCU7?$eB`bwLqyw05P6s9NRTJx3pALwhvr%Zg6K|*Tw-cCH_s6q~ z0d6(t7C47>|5-me=vEh?+W?i3pO4~aO4kOq1zW6E$e#6Ol zq)ULtkuCvB(j^tYQW6S}F&}>+3NottA(}Hco6)djDX0vO%b4yN8cLP;VFGLG7D543 z+`{S-P(hLpTk8@&>&tQj6)uIRjfa`LgU|Xh;G>)&?8}IFSEfhKdw^B}Umwkr#3&Ur zSD2Q~RRFm`R#zKoA_<5?FM_0wB1Gh?8{m|HrH2u~VfNmvX|% zR0|{4bveWT8Jna>B;HwXS;d4p_Ql`6%f zLwu(Hg)m}20m&)oXIIRGy>1=`jC>jf58XWKEywal)EAFSs(}FMhcfJELc2(1_$slB zq;twKBpZ-zkWskoaCHT$G=~C+1@1xew!p2_bvcuJv)zL6o0DwDR@pv9Yq=5XEFmJ& z9HV3FXZw`&R9qs5(TNNLF%jIhjT$k{4!NBI}H^&15p8>6S*6(&m9reK^SI zfptDH4nTQ%6VpO9SB*{Olx4X1LX5k(}83LK@UBJV$#=2-W!HwKxEg`-K)5 zrjiAIGIL<%exb8F;E&c?Gtp6bWy)Phy|;k}e6UOGLNWvwu)Bc~Z_b98;!dEerWXW4 z9={1Uj9}lbv5L^m#v7`E=JGOn?l(Rpsfdl0wxQA(5{T_b8+VQvWsmlVjL1n#WSl+P zBQnY!?IXtLWRyMHBa-*%s4|H>O=OuwL4E9ngG5hkBIC>CR&<%f5w_@@j4qQ~@nv#5 zx=iBCL~KrON0&+5BOIN`=rV~TfzgSKE|c5wWpXFFOyXEfY)WbQeMJ~9#uFxl|wWB$@Mmlcj5dE@XTy~Lr5@`@P`)4#{cRAKYw zUBwMEPKf%A!w%uo)f