diff --git a/Klausuren/Sd1/2019winter/Exam/pom.xml b/Klausuren/Sd1/2019winter/Exam/pom.xml index a0bb6c1fed6a68baad021152443d9adebf0cca02..47427a5044397a9934374d5bccbe1ddefbb7c43f 100644 --- a/Klausuren/Sd1/2019winter/Exam/pom.xml +++ b/Klausuren/Sd1/2019winter/Exam/pom.xml @@ -13,6 +13,14 @@ <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + + <maven.compiler.target>17</maven.compiler.target> + <maven.compiler.source>17</maven.compiler.source> + + <freedocs.url>https://freedocs.mi.hdm-stuttgart.de</freedocs.url> + <jdk.api_17.url>${freedocs.url}/doc/openjdk-17-doc/api/</jdk.api_17.url> + <mathjax.url>${freedocs.url}/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML</mathjax.url> + <libhighlight.url>${freedocs.url}/lib/highlight.js</libhighlight.url> </properties> <repositories> @@ -23,50 +31,44 @@ </repositories> <dependencies> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.13</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-core</artifactId> - <version>2.16.0</version> - </dependency> - <dependency> <groupId>de.hdm_stuttgart.mi.exam</groupId> <artifactId>unitmarking</artifactId> - <version>1.1</version> + <version>1.2</version> </dependency> </dependencies> <build> <plugins> - <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.8.1</version> - <configuration> - <source>11</source> - <target>11</target> - </configuration> + <version>3.10.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - <version>3.2.0</version> + <artifactId>maven-javadoc-plugin</artifactId> + <version>3.4.1</version> <configuration> - <doclint>none</doclint> + <!-- Tweak: Get rid of Error message + »fetching link: .../target/javadoc-bundle-options. Ignored it« + corresponding to api_11 below --> + <release>11</release> + <doclint>all</doclint> + <show>public</show> + <docfilessubdirs>true</docfilessubdirs> + <addStylesheets> + <stylesheet>resources/jdocSupplement.css</stylesheet> + </addStylesheets> + + <windowtitle>Exam documentation</windowtitle> + <javaApiLinks> <property> <name>api_11</name> - <value>https://freedocs.mi.hdm-stuttgart.de/lib/openjdk-11-doc/api/</value> + <value>${jdk.api_17.url}</value> </property> </javaApiLinks> @@ -74,22 +76,21 @@ <additionalOption>-html5 --allow-script-in-comments</additionalOption> </additionalOptions> <nohelp>true</nohelp> + <header><![CDATA[ - <script type="text/javascript" - src="https://freedocs.mi.hdm-stuttgart.de/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> - <link rel="stylesheet" href="https://freedocs.mi.hdm-stuttgart.de/lib/mi/jdocSupplement.css"> - <link rel="stylesheet" href="https://freedocs.mi.hdm-stuttgart.de/lib/highlight.js/styles/idea.css"> - <script src="https://freedocs.mi.hdm-stuttgart.de/lib/highlight.js/highlight.js"></script> + <script type="text/javascript" src="${mathjax.url}"></script> + <script type="text/javascript" src="{@docRoot}/resources/jdocSupplement.js"></script> + <link rel="stylesheet" href="${libhighlight.url}/styles/idea.css"> + <script src="${libhighlight.url}/highlight.js"></script> <script type="text/javascript">hljs.initHighlightingOnLoad();</script>]]> </header> - <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable> </configuration> </plugin> <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> - <version>3.3.0</version> - + <version>3.4.2</version> <configuration> <descriptors> <descriptor>src/main/assembly/assembly.xml</descriptor> @@ -105,7 +106,7 @@ <configuration> <archive> <manifest> - <mainClass>de.hdm_stuttgart.mi.sd1.test.ShowReachedPoints</mainClass> + <mainClass>de.hdm_stuttgart.mi.sd1.ShowReachedPoints</mainClass> </manifest> </archive> </configuration> diff --git a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/sample/CharacterMoves.java b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/sample/CharacterMoves.java index fdda34faa88f72f57f326a5c82a4e54f2cd31afa..90df424822cd4862e31ba250bc1b0b2e9d587ef9 100644 --- a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/sample/CharacterMoves.java +++ b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/sample/CharacterMoves.java @@ -1,11 +1,14 @@ package de.hdm_stuttgart.mi.sd1.sample; -import de.hdm_stuttgart.mi.sd1.task2.Direction; -import de.hdm_stuttgart.mi.sd1.task2.Position; - +/** + * Character move demo. + */ public class CharacterMoves { - + /** + * Comment containing intended use. + * @param args Unused + */ public static void main(String[] args) { /* Code may work after completing implementation of class Position diff --git a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_1_OddValues.java b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_1_OddValues.java index db10e34c6ff74690dbd1eb064eda16ff904a47e0..736d8d8094cc3c7e4a5342230100a54553be3f8e 100644 --- a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_1_OddValues.java +++ b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_1_OddValues.java @@ -1,5 +1,8 @@ package de.hdm_stuttgart.mi.sd1.task1; +/** + * Integer helper method. + */ public class _1_OddValues { /** * <p>Calculate the sum of <em>odd</em> values only. Examples:</p> diff --git a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_2_Purchase.java b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_2_Purchase.java index e6efdc2ae54270954f03bbf05a79041dfb712c26..a3c0f6b88787600a2a86b9465ea78986065be9d3 100644 --- a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_2_Purchase.java +++ b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_2_Purchase.java @@ -2,6 +2,9 @@ package de.hdm_stuttgart.mi.sd1.task1; import de.hdm_stuttgart.mi.sd1.task1.extra.Day; +/** + * Calculating time dependent costs. + */ public class _2_Purchase { /** @@ -26,9 +29,8 @@ public class _2_Purchase { * @param purchaseCosts The cost following regular product prizes. * @param day Day of week i.e. monday, tuesday,... * @return The total cost including possible weekend service fees. - * * <section class="implementationHints"> - * <h3 class="implementationHints">Hint:</h3> + * <h4 class="implementationHints">Hint:</h4> * <p>There are different ways implementing this method. You may extend enum {@link Day} suiting your needs.</p> * </section> */ diff --git a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_3_ByteMax.java b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_3_ByteMax.java index cf43edfa194fe89c488d140e0d8ec77d83605549..878a6cfe807c8e505d74743e56fb1d77318b8066 100644 --- a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_3_ByteMax.java +++ b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_3_ByteMax.java @@ -13,6 +13,8 @@ public class _3_ByteMax { * value. Examples:</p> * * <table class="goikTableDefaults" style="text-align: right;"> + * <caption>The closest <code>byte</code> value to the maximum of two + * <code>int</code> values.</caption> * <tr> * <th>a</th> * <th>b</th> @@ -21,38 +23,38 @@ public class _3_ByteMax { * <th style="text-align: center;">Remark</th> * </tr> * <tr> - * <td >-5</th> - * <td>60</th> - * <td>60</th> - * <td>60</th> - * <td style="text-align: left;">Maximum is in <code>byte</code> range.</th> + * <td >-5</td> + * <td>60</td> + * <td>60</td> + * <td>60</td> + * <td style="text-align: left;">Maximum is in <code>byte</code> range.</td> * </tr> * <tr> - * <td>100</th> - * <td>200</th> - * <td>200</th> - * <td>127</th> + * <td>100</td> + * <td>200</td> + * <td>200</td> + * <td>127</td> * <td style="text-align: left;">An <code>int</code> value of 200 is larger than the largest possible * <code>byte</code> value of 127. Thus 127 is the best possible <code>byte</code> value - * approximation.</th> + * approximation.</td> * </tr> * <tr> - * <td>-300</th> - * <td>-500</th> - * <td>-300</th> - * <td>-128</th> + * <td>-300</td> + * <td>-500</td> + * <td>-300</td> + * <td>-128</td> * <td style="text-align: left;">An <code>int</code> value of -300 is smaller than the smallest * <code>byte</code> value -128. Thus -128 provides the best possible <code>byte</code> value - * approximation.</th> + * approximation.</td> * </tr> * </table> * * @param a First value * @param b Second value - * @return the closest <code>byte</code> value to the maximum of both arguments. - * + * @return the closest <code>byte</code> value + * to the maximum of both arguments. * <section class="implementationHints"> - * <h3 class="implementationHints">Hint:</h3> + * <h4 class="implementationHints">Hint:</h4> * <p>You may need a cast from <code>int</code> to <code>byte</code> i.e.:</p> * <pre>... = (byte) ...</pre> * </section> diff --git a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_4_ArrayOrder.java b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_4_ArrayOrder.java index a05d20ad39f796da82616c088aa179d2869901e8..c809e387cdaeeacf6181892c1f6872eb52c31191 100644 --- a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_4_ArrayOrder.java +++ b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_4_ArrayOrder.java @@ -12,21 +12,19 @@ public class _4_ArrayOrder { * element itself. Examples:</p> * * <table class="goikTableDefaults" style="text-align: right;"> + * <caption>Order of array values</caption> * <tr> * <th>Values</th> * <th>Result</th> * </tr> - * * <tr> * <td>{1, 3, 7, 11}</td> * <td>Ascending</td> * </tr> - * * <tr> * <td>{1, 6, 6, 9}</td> * <td>Ascending</td> * </tr> - * * <tr> * <td>{4, 3, 6}</td> * <td>Not ascending since 3 < 4</td> diff --git a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_5_Scrabble.java b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_5_Scrabble.java index c7aa66822a712168ce21eadb1d08184cad267547..654fd74000c2813c91abdda31a718e2dca820919 100644 --- a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_5_Scrabble.java +++ b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_5_Scrabble.java @@ -2,8 +2,7 @@ package de.hdm_stuttgart.mi.sd1.task1; /** * Scrabble game scores. - * - * <object data="doc-files/scrabble.jpg" type="image/jpg" ></object> + * <img src="doc-files/scrabble.jpg" alt="Scrabble" > * */ public class _5_Scrabble { @@ -14,6 +13,7 @@ public class _5_Scrabble { * independent score:</p> * * <table class="goikTableDefaults"> + * <caption>Letters and related score</caption> * <tr> * <th>Letters</th> * <th>Score</th> @@ -51,13 +51,12 @@ public class _5_Scrabble { * <p>A word's score equals the sum of its character scores. We calculate the score of * <code>"CYPHERTEXT"</code> :</p> * - * <object data="doc-files/scrabble.svg" type="image/svg+xml"></object> + * <img src="doc-files/scrabble.svg" alt="Scrabble"> * * @param word A string or null * @return The word's score. Zero for empty string or <code>null</code>. - * * <section class="implementationHints"> - * <h3 class="implementationHints">Helpful classes and methods:</h3> + * <h4 class="implementationHints">Helpful classes and methods:</h4> * * <ul> * <li>{@link String#toCharArray()} for splitting a word into its characters</li> diff --git a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/extra/Day.java b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/extra/Day.java index c5e206c90d00f0a8cc12883fe561b6fe6be0fd35..21837a622659d77a3ee985ac00faa8660077c31d 100644 --- a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/extra/Day.java +++ b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task1/extra/Day.java @@ -1,11 +1,35 @@ package de.hdm_stuttgart.mi.sd1.task1.extra; +/** + * Representing week days. + */ public enum Day { + /** + * Monday + */ MONDAY, + /** + * Tuesday + */ TUESDAY, + /** + * Wednesday + */ WEDNESDAY, + /** + * Thursday + */ THURSDAY, + /** + * Friday + */ FRIDAY, + /** + * Saturday + */ SATURDAY, + /** + * Sunday + */ SUNDAY; } diff --git a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task2/Position.java b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task2/Position.java index d3f4234758c7ff346d67a0ad8418bb7153d1789d..92afb49e3953efc79300483cad15f4da0f3a9a77 100644 --- a/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task2/Position.java +++ b/Klausuren/Sd1/2019winter/Exam/src/main/java/de/hdm_stuttgart/mi/sd1/task2/Position.java @@ -3,9 +3,10 @@ package de.hdm_stuttgart.mi.sd1.task2; /** * <p>Representing a computer game's character positions.</p> * - * <p>Developing a computer game we start defining an 11×11 grid:</p> + * <p>The game in question requires a grid:</p> * * <table class="goikTableDefaults"> + * <caption>A 11×11 grid</caption> * <colgroup> * <col style="width: 50%;"> * <col style="width: 50%;"> @@ -20,15 +21,15 @@ package de.hdm_stuttgart.mi.sd1.task2; * * <td> * <p>A character can move into {@linkplain Direction eight compass directions} starting from its - *»current« <code>(x|y)</code> position.</p></td> + * »current« <code>(x|y)</code> position.</p> + * </td> * </tr> - * * <tr> * <td> - * <object data="doc-files/grid.svg" type="image/svg+xml"></object> + * <img src="doc-files/grid.svg" alt="Grid"> * </td> * <td> - * <object data="doc-files/move.svg" type="image/svg+xml"></object> + * <img src="doc-files/move.svg" alt="moving"> * </td> * </tr> * </table> @@ -40,13 +41,14 @@ package de.hdm_stuttgart.mi.sd1.task2; * <p>The following example illustrates the expected behaviour:</p> * * <table class="goikTableDefaults"> + * <caption>Creating and moving a {@link Position} instance.</caption> * <tr> * <th>Code</th> * <th>Result</th> * </tr> * <tr> * <td> - * <pre><code class="java">{@code final Position jim = + * <pre><code class="java"> final Position jim = * new Position(3,2); // Starting at (3|2) * * System.out.println("Start: " + jim); // Output »Start: (3|2)« @@ -60,20 +62,20 @@ package de.hdm_stuttgart.mi.sd1.task2; * "Result moving SE: " + // Attempt leaving grid in * jim.move(Direction.SE)); // {@link Direction#SE} fails. * - * System.out.println(jim); // Unchanged position (2|0)}</code></pre> + * System.out.println(jim); // Unchanged position (2|0)</code></pre> * </td> * <td> - * <pre><code class="nohighlight">{@code Start: (3|2) + * <pre><code class="nohighlight"> Start: (3|2) * (2|0) * Result moving SE: false - * (2|0)}</code></pre> + * (2|0)</code></pre> * </td> * * </tr> * </table> * * <section class="implementationHints"> - * <h3 class="implementationHints">Hint:</h3> + * <h2 class="implementationHints">Hint:</h2> * <ul> * <li>Consider implementing <code>toString()</code>.</li> * <li>After completing your implementation un-comment @@ -85,20 +87,5 @@ package de.hdm_stuttgart.mi.sd1.task2; * </section> */ public class Position { - - private int x, y; - - public Position(int x, int y) { - this.x = x; - this.y = y; - } - - public void move(Direction d) { - // TODO - } - - @Override - public String toString() { - return "(" + x + "|" + y + ")"; // TODO - } + // Todo: Implement me! } diff --git a/Klausuren/Sd1/2019winter/Exam/src/main/javadoc/resources/jdocSupplement.css b/Klausuren/Sd1/2019winter/Exam/src/main/javadoc/resources/jdocSupplement.css new file mode 100644 index 0000000000000000000000000000000000000000..9f39b10d8588f548a5a009835cff44add2bdb638 --- /dev/null +++ b/Klausuren/Sd1/2019winter/Exam/src/main/javadoc/resources/jdocSupplement.css @@ -0,0 +1,68 @@ +/* Javadoc extensions: */ + +table.goikTableDefaults, +table.goikTableDefaults>caption, +table.goikTableDefaults>tr>th, +table.goikTableDefaults>tr>td, +table.goikTableDefaults>tbody>tr>th, +table.goikTableDefaults>tbody>tr>td { + border: 2px solid black; + border-collapse: collapse; + padding: 1ex; + vertical-align: top; +} + +table.goikTableDefaults>caption { + /* border-top-style: solid; border-left-style: solid; border-right-style: solid' */ + border-bottom-style: none; + font-weight: bold; + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} + +table.goikTableDefaults>tbody>tr>td { + vertical-align:top; +} +table.goikTableDefaults { + border-spacing: 0px !important; +} + +table.indexTable { + border-collapse: collapse; + border-style: hidden; +} + +table.indexTable caption { + text-align: left; +} + +table.indexTable td, table.indexTable th { + border: 1px solid black; + padding: 0.5ex; +} + +em { + font-weight: bold; + font-style: normal; +} +section.implementationHints>h3 { + font-weight: bold; + background-color: rgb(222, 227, 233); +} + +code { + white-space: pre; +} + +.implementationHints { + background-color: hsl(120, 100%, 95%) !important; +} + +.myRed { + color: red; +} + +.myGreen { + color: limegreen; +} diff --git a/Klausuren/Sd1/2019winter/Exam/src/main/javadoc/resources/jdocSupplement.js b/Klausuren/Sd1/2019winter/Exam/src/main/javadoc/resources/jdocSupplement.js new file mode 100644 index 0000000000000000000000000000000000000000..97911e5581090aac5e37323427450f8c8c8a3f94 --- /dev/null +++ b/Klausuren/Sd1/2019winter/Exam/src/main/javadoc/resources/jdocSupplement.js @@ -0,0 +1,7 @@ +for(var i in document.links) { + var link = document.links[i]; + if (link.href && link.href.indexOf('http') === 0) { + link.target = '_blank'; + } +} + diff --git a/Klausuren/Sd1/2019winter/Solve/pom.xml b/Klausuren/Sd1/2019winter/Solve/pom.xml index ffe45837b6398e3cd4909f90e9e62b9fb3876027..410dddb92e92f7533435f6b8de8410d6edbf0d62 100644 --- a/Klausuren/Sd1/2019winter/Solve/pom.xml +++ b/Klausuren/Sd1/2019winter/Solve/pom.xml @@ -13,6 +13,14 @@ <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + + <maven.compiler.target>17</maven.compiler.target> + <maven.compiler.source>17</maven.compiler.source> + + <freedocs.url>https://freedocs.mi.hdm-stuttgart.de</freedocs.url> + <jdk.api_17.url>${freedocs.url}/doc/openjdk-17-doc/api/</jdk.api_17.url> + <mathjax.url>${freedocs.url}/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML</mathjax.url> + <libhighlight.url>${freedocs.url}/lib/highlight.js</libhighlight.url> </properties> <repositories> @@ -23,50 +31,44 @@ </repositories> <dependencies> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.13</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-core</artifactId> - <version>2.16.0</version> - </dependency> - <dependency> <groupId>de.hdm_stuttgart.mi.exam</groupId> <artifactId>unitmarking</artifactId> - <version>1.1</version> + <version>1.2</version> </dependency> </dependencies> <build> <plugins> - <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>3.8.1</version> - <configuration> - <source>11</source> - <target>11</target> - </configuration> + <version>3.10.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - <version>3.2.0</version> + <artifactId>maven-javadoc-plugin</artifactId> + <version>3.4.1</version> <configuration> - <doclint>none</doclint> + <!-- Tweak: Get rid of Error message + »fetching link: .../target/javadoc-bundle-options. Ignored it« + corresponding to api_11 below --> + <release>17</release> + <doclint>all</doclint> + <show>public</show> + <docfilessubdirs>true</docfilessubdirs> + <addStylesheets> + <stylesheet>resources/jdocSupplement.css</stylesheet> + </addStylesheets> + + <windowtitle>Exam documentation</windowtitle> + <javaApiLinks> <property> <name>api_11</name> - <value>https://freedocs.mi.hdm-stuttgart.de/lib/openjdk-11-doc/api/</value> + <value>${jdk.api_17.url}</value> </property> </javaApiLinks> @@ -74,22 +76,21 @@ <additionalOption>-html5 --allow-script-in-comments</additionalOption> </additionalOptions> <nohelp>true</nohelp> + <header><![CDATA[ - <script type="text/javascript" - src="https://freedocs.mi.hdm-stuttgart.de/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> - <link rel="stylesheet" href="https://freedocs.mi.hdm-stuttgart.de/lib/mi/jdocSupplement.css"> - <link rel="stylesheet" href="https://freedocs.mi.hdm-stuttgart.de/lib/highlight.js/styles/idea.css"> - <script src="https://freedocs.mi.hdm-stuttgart.de/lib/highlight.js/highlight.js"></script> + <script type="text/javascript" src="${mathjax.url}"></script> + <script type="text/javascript" src="{@docRoot}/resources/jdocSupplement.js"></script> + <link rel="stylesheet" href="${libhighlight.url}/styles/idea.css"> + <script src="${libhighlight.url}/highlight.js"></script> <script type="text/javascript">hljs.initHighlightingOnLoad();</script>]]> </header> - <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable> </configuration> </plugin> <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> - <version>3.3.0</version> - + <version>3.4.2</version> <configuration> <descriptors> <descriptor>src/main/assembly/assembly.xml</descriptor> @@ -105,7 +106,7 @@ <configuration> <archive> <manifest> - <mainClass>de.hdm_stuttgart.mi.sd1.test.ShowReachedPoints</mainClass> + <mainClass>de.hdm_stuttgart.mi.sd1.ShowReachedPoints</mainClass> </manifest> </archive> </configuration> diff --git a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/sample/CharacterMoves.java b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/sample/CharacterMoves.java index b6ed4b68e725cd5d9d99358c305cf5541e2b805b..9f94479e61b1d21393c4e325a2979a47dab9838f 100644 --- a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/sample/CharacterMoves.java +++ b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/sample/CharacterMoves.java @@ -3,9 +3,15 @@ package de.hdm_stuttgart.mi.sd1.sample; import de.hdm_stuttgart.mi.sd1.task2.Direction; import de.hdm_stuttgart.mi.sd1.task2.Position; +/** + * Character move demo. + */ public class CharacterMoves { - + /** + * Comment containing intended use. + * @param args Unused + */ public static void main(String[] args) { final Position jim = diff --git a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_1_OddValues.java b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_1_OddValues.java index 45d22497a4d9e27c4e78d4efa926f89da0e02550..c10a14f62e5367c8fb300659e946714f4ba10888 100644 --- a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_1_OddValues.java +++ b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_1_OddValues.java @@ -1,5 +1,8 @@ package de.hdm_stuttgart.mi.sd1.task1; +/** + * Integer helper method. + */ public class _1_OddValues { /** * <p>Calculate the sum of <em>odd</em> values only. Examples:</p> diff --git a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_2_Purchase.java b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_2_Purchase.java index 62c390c85b062db042a18cc571cd8862c53c791e..33dc78d561f214985eabb06d20841f9c9b374c17 100644 --- a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_2_Purchase.java +++ b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_2_Purchase.java @@ -2,6 +2,9 @@ package de.hdm_stuttgart.mi.sd1.task1; import de.hdm_stuttgart.mi.sd1.task1.extra.Day; +/** + * Calculating time dependent costs. + */ public class _2_Purchase { /** diff --git a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_3_ByteMax.java b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_3_ByteMax.java index 1ee2e666a363278af99617a3c40796bc22c48b4b..67f1858cfe5b4a0d0d14b3e24a5493a5ac8c48d9 100644 --- a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_3_ByteMax.java +++ b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_3_ByteMax.java @@ -13,6 +13,8 @@ public class _3_ByteMax { * value. Examples:</p> * * <table class="goikTableDefaults" style="text-align: right;"> + * <caption>The closest <code>byte</code> value to the maximum of two + * <code>int</code> values.</caption> * <tr> * <th>a</th> * <th>b</th> @@ -21,29 +23,29 @@ public class _3_ByteMax { * <th style="text-align: center;">Remark</th> * </tr> * <tr> - * <td >-5</th> - * <td>60</th> - * <td>60</th> - * <td>60</th> - * <td style="text-align: left;">Maximum is in <code>byte</code> range.</th> + * <td >-5</td> + * <td>60</td> + * <td>60</td> + * <td>60</td> + * <td style="text-align: left;">Maximum is in <code>byte</code> range.</td> * </tr> * <tr> - * <td>100</th> - * <td>200</th> - * <td>200</th> - * <td>127</th> + * <td>100</td> + * <td>200</td> + * <td>200</td> + * <td>127</td> * <td style="text-align: left;">An <code>int</code> value of 200 is larger than the largest possible * <code>byte</code> value of 127. Thus 127 is the best possible <code>byte</code> value - * approximation.</th> + * approximation.</td> * </tr> * <tr> - * <td>-300</th> - * <td>-500</th> - * <td>-300</th> - * <td>-128</th> + * <td>-300</td> + * <td>-500</td> + * <td>-300</td> + * <td>-128</td> * <td style="text-align: left;">An <code>int</code> value of -300 is smaller than the smallest * <code>byte</code> value -128. Thus -128 provides the best possible <code>byte</code> value - * approximation.</th> + * approximation.</td> * </tr> * </table> * diff --git a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_4_ArrayOrder.java b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_4_ArrayOrder.java index bea6a5b7135e04b0490a253685debc3ac2c02d0c..3ab3884f92215bfcfcec7f924f1238fb6882aa08 100644 --- a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_4_ArrayOrder.java +++ b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_4_ArrayOrder.java @@ -12,21 +12,19 @@ public class _4_ArrayOrder { * element itself. Examples:</p> * * <table class="goikTableDefaults" style="text-align: right;"> + * <caption>Order of array values</caption> * <tr> * <th>Values</th> * <th>Result</th> * </tr> - * * <tr> * <td>{1, 3, 7, 11}</td> * <td>Ascending</td> * </tr> - * * <tr> * <td>{1, 6, 6, 9}</td> * <td>Ascending</td> * </tr> - * * <tr> * <td>{4, 3, 6}</td> * <td>Not ascending since 3 < 4</td> diff --git a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_5_Scrabble.java b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_5_Scrabble.java index a1124a45dd8bd52e07e91a954cf7be9b3323bc41..4bef9152a50855cc5aebdcfd75a49240ef37b3dc 100644 --- a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_5_Scrabble.java +++ b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/_5_Scrabble.java @@ -2,8 +2,7 @@ package de.hdm_stuttgart.mi.sd1.task1; /** * Scrabble game scores. - * - * <object data="doc-files/scrabble.jpg" type="image/jpg" ></object> + * <img src="doc-files/scrabble.jpg" alt="Scrabble" > * */ public class _5_Scrabble { @@ -14,6 +13,7 @@ public class _5_Scrabble { * independent score:</p> * * <table class="goikTableDefaults"> + * <caption>Letters and related score</caption> * <tr> * <th>Letters</th> * <th>Score</th> @@ -51,7 +51,7 @@ public class _5_Scrabble { * <p>A word's score equals the sum of its character scores. We calculate the score of * <code>"CYPHERTEXT"</code> :</p> * - * <object data="doc-files/scrabble.svg" type="image/svg+xml"></object> + * <img src="doc-files/scrabble.svg" alt="Scrabble"> * * @param word A string or null * @return The word's score. Zero for empty string or <code>null</code>. @@ -69,49 +69,16 @@ public class _5_Scrabble { } static private byte getLetterScore(final char c) { - switch(c) { - case 'A': - case 'E': - case 'I': - case 'O': - case 'U': - case 'L': - case 'N': - case 'R': - case 'S': - case 'T': - return 1; - - case 'D': - case 'G': - return 2; - - case 'B': - case 'C': - case 'M': - case 'P': - return 3; - - case 'F': - case 'H': - case 'V': - case 'W': - case 'Y': - return 4; - - case 'K': - return 5; - - case 'J': - case 'X': - return 8; - - case 'Q': - case 'Z': - return 10; - } - return 0; + return switch (c) { + case 'A', 'E', 'I', 'O', 'U', 'L', 'N', 'R', 'S', 'T' -> 1; + case 'D', 'G' -> 2; + case 'B', 'C', 'M', 'P' -> 3; + case 'F', 'H', 'V', 'W', 'Y' -> 4; + case 'K' -> 5; + case 'J', 'X' -> 8; + case 'Q', 'Z' -> 10; + default -> 0; + }; } - private _5_Scrabble(){/* Ignore me: My presence suppresses an otherwise visible default constructor's Javadoc */} } diff --git a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/extra/Day.java b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/extra/Day.java index a187583a1e201baf3fd3bc1e617dd1ccfac9fdbc..fd90397badf7cf5d226d05b4fc755674578515b3 100644 --- a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/extra/Day.java +++ b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task1/extra/Day.java @@ -1,12 +1,36 @@ package de.hdm_stuttgart.mi.sd1.task1.extra; +/** + * Representing week days. + */ public enum Day { + /** + * Monday + */ MONDAY, + /** + * Tuesday + */ TUESDAY, + /** + * Wednesday + */ WEDNESDAY, + /** + * Thursday + */ THURSDAY, + /** + * Friday + */ FRIDAY, + /** + * Saturday + */ SATURDAY(100), + /** + * Sunday + */ SUNDAY(200); Day() { @@ -15,5 +39,9 @@ public enum Day { Day(final int serviceFee) { this.serviceFee = serviceFee; } + + /** + * Week day dependent service fee. + */ public final int serviceFee; } diff --git a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task2/Position.java b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task2/Position.java index 52fc2302b8643d63c3ab789a7b0594a38861cd4c..4ef1c79bd24df9c76e429ec9ded8d633a6e76af0 100644 --- a/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task2/Position.java +++ b/Klausuren/Sd1/2019winter/Solve/src/main/java/de/hdm_stuttgart/mi/sd1/task2/Position.java @@ -3,9 +3,10 @@ package de.hdm_stuttgart.mi.sd1.task2; /** * <p>Representing a computer game's character positions.</p> * - * <p>Developing a computer game we start defining an 11×11 grid:</p> + * <p>The game's grid:</p> * * <table class="goikTableDefaults"> + * <caption>A 11×11 grid</caption> * <colgroup> * <col style="width: 50%;"> * <col style="width: 50%;"> @@ -25,10 +26,10 @@ package de.hdm_stuttgart.mi.sd1.task2; * * <tr> * <td> - * <object data="doc-files/grid.svg" type="image/svg+xml"></object> + * <img src="doc-files/grid.svg" alt="Grid"> * </td> * <td> - * <object data="doc-files/move.svg" type="image/svg+xml"></object> + * <img src="doc-files/move.svg" alt="Moving"> * </td> * </tr> * </table> @@ -40,13 +41,14 @@ package de.hdm_stuttgart.mi.sd1.task2; * <p>The following example illustrates the expected behaviour:</p> * * <table class="goikTableDefaults"> + * <caption>Moving character positions</caption> * <tr> * <th>Code</th> * <th>Result</th> * </tr> * <tr> * <td> - * <pre><code class="java">{@code final Position jim = + * <pre><code class="java"> final Position jim = * new Position(3,2); // Starting at (3|2) * * System.out.println("Start: " + jim); // Output »Start: (3|2)« @@ -60,13 +62,13 @@ package de.hdm_stuttgart.mi.sd1.task2; * "Result moving SE: " + // Attempt leaving grid in * jim.move(Direction.SE)); // {@link Direction#SE} fails. * - * System.out.println(jim); // Unchanged position (2|0)}</code></pre> + * System.out.println(jim); // Unchanged position (2|0)</code></pre> * </td> * <td> - * <pre><code class="nohighlight">{@code Start: (3|2) + * <pre><code class="nohighlight"> Start: (3|2) * (2|0) * Result moving SE: false - * (2|0)}</code></pre> + * (2|0)</code></pre> * </td> * * </tr> diff --git a/Klausuren/Sd1/2019winter/Solve/src/main/javadoc/resources/jdocSupplement.css b/Klausuren/Sd1/2019winter/Solve/src/main/javadoc/resources/jdocSupplement.css new file mode 100644 index 0000000000000000000000000000000000000000..9f39b10d8588f548a5a009835cff44add2bdb638 --- /dev/null +++ b/Klausuren/Sd1/2019winter/Solve/src/main/javadoc/resources/jdocSupplement.css @@ -0,0 +1,68 @@ +/* Javadoc extensions: */ + +table.goikTableDefaults, +table.goikTableDefaults>caption, +table.goikTableDefaults>tr>th, +table.goikTableDefaults>tr>td, +table.goikTableDefaults>tbody>tr>th, +table.goikTableDefaults>tbody>tr>td { + border: 2px solid black; + border-collapse: collapse; + padding: 1ex; + vertical-align: top; +} + +table.goikTableDefaults>caption { + /* border-top-style: solid; border-left-style: solid; border-right-style: solid' */ + border-bottom-style: none; + font-weight: bold; + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} + +table.goikTableDefaults>tbody>tr>td { + vertical-align:top; +} +table.goikTableDefaults { + border-spacing: 0px !important; +} + +table.indexTable { + border-collapse: collapse; + border-style: hidden; +} + +table.indexTable caption { + text-align: left; +} + +table.indexTable td, table.indexTable th { + border: 1px solid black; + padding: 0.5ex; +} + +em { + font-weight: bold; + font-style: normal; +} +section.implementationHints>h3 { + font-weight: bold; + background-color: rgb(222, 227, 233); +} + +code { + white-space: pre; +} + +.implementationHints { + background-color: hsl(120, 100%, 95%) !important; +} + +.myRed { + color: red; +} + +.myGreen { + color: limegreen; +} diff --git a/Klausuren/Sd1/2019winter/Solve/src/main/javadoc/resources/jdocSupplement.js b/Klausuren/Sd1/2019winter/Solve/src/main/javadoc/resources/jdocSupplement.js new file mode 100644 index 0000000000000000000000000000000000000000..97911e5581090aac5e37323427450f8c8c8a3f94 --- /dev/null +++ b/Klausuren/Sd1/2019winter/Solve/src/main/javadoc/resources/jdocSupplement.js @@ -0,0 +1,7 @@ +for(var i in document.links) { + var link = document.links[i]; + if (link.href && link.href.indexOf('http') === 0) { + link.target = '_blank'; + } +} + diff --git a/Klausuren/Sd1/2020summer/Exam/src/main/javadoc/resources/jdocSupplement.js b/Klausuren/Sd1/2020summer/Exam/src/main/javadoc/resources/jdocSupplement.js new file mode 100644 index 0000000000000000000000000000000000000000..97911e5581090aac5e37323427450f8c8c8a3f94 --- /dev/null +++ b/Klausuren/Sd1/2020summer/Exam/src/main/javadoc/resources/jdocSupplement.js @@ -0,0 +1,7 @@ +for(var i in document.links) { + var link = document.links[i]; + if (link.href && link.href.indexOf('http') === 0) { + link.target = '_blank'; + } +} + diff --git a/Klausuren/Sd1/2020summer/Solve/src/main/javadoc/resources/jdocSupplement.js b/Klausuren/Sd1/2020summer/Solve/src/main/javadoc/resources/jdocSupplement.js new file mode 100644 index 0000000000000000000000000000000000000000..97911e5581090aac5e37323427450f8c8c8a3f94 --- /dev/null +++ b/Klausuren/Sd1/2020summer/Solve/src/main/javadoc/resources/jdocSupplement.js @@ -0,0 +1,7 @@ +for(var i in document.links) { + var link = document.links[i]; + if (link.href && link.href.indexOf('http') === 0) { + link.target = '_blank'; + } +} + diff --git a/Klausuren/Sd1/2020winter/First/Exam/src/main/javadoc/resources/jdocSupplement.js b/Klausuren/Sd1/2020winter/First/Exam/src/main/javadoc/resources/jdocSupplement.js new file mode 100644 index 0000000000000000000000000000000000000000..97911e5581090aac5e37323427450f8c8c8a3f94 --- /dev/null +++ b/Klausuren/Sd1/2020winter/First/Exam/src/main/javadoc/resources/jdocSupplement.js @@ -0,0 +1,7 @@ +for(var i in document.links) { + var link = document.links[i]; + if (link.href && link.href.indexOf('http') === 0) { + link.target = '_blank'; + } +} + diff --git a/Klausuren/Sd1/2020winter/First/Solve/src/main/javadoc/resources/jdocSupplement.js b/Klausuren/Sd1/2020winter/First/Solve/src/main/javadoc/resources/jdocSupplement.js new file mode 100644 index 0000000000000000000000000000000000000000..97911e5581090aac5e37323427450f8c8c8a3f94 --- /dev/null +++ b/Klausuren/Sd1/2020winter/First/Solve/src/main/javadoc/resources/jdocSupplement.js @@ -0,0 +1,7 @@ +for(var i in document.links) { + var link = document.links[i]; + if (link.href && link.href.indexOf('http') === 0) { + link.target = '_blank'; + } +} + diff --git a/Klausuren/Sd1/2020winter/Second/Exam/src/main/javadoc/resources/jdocSupplement.js b/Klausuren/Sd1/2020winter/Second/Exam/src/main/javadoc/resources/jdocSupplement.js new file mode 100644 index 0000000000000000000000000000000000000000..97911e5581090aac5e37323427450f8c8c8a3f94 --- /dev/null +++ b/Klausuren/Sd1/2020winter/Second/Exam/src/main/javadoc/resources/jdocSupplement.js @@ -0,0 +1,7 @@ +for(var i in document.links) { + var link = document.links[i]; + if (link.href && link.href.indexOf('http') === 0) { + link.target = '_blank'; + } +} + diff --git a/Klausuren/Sd1/2020winter/Second/Solve/src/main/javadoc/resources/jdocSupplement.js b/Klausuren/Sd1/2020winter/Second/Solve/src/main/javadoc/resources/jdocSupplement.js new file mode 100644 index 0000000000000000000000000000000000000000..97911e5581090aac5e37323427450f8c8c8a3f94 --- /dev/null +++ b/Klausuren/Sd1/2020winter/Second/Solve/src/main/javadoc/resources/jdocSupplement.js @@ -0,0 +1,7 @@ +for(var i in document.links) { + var link = document.links[i]; + if (link.href && link.href.indexOf('http') === 0) { + link.target = '_blank'; + } +} +