forked from IF-LK-2020/stundenplan
setup
This commit is contained in:
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
/.metadata/
|
||||||
|
Stundenplan/.classpath
|
||||||
|
Stundenplan/.project
|
||||||
|
Stundenplan/.settings/
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module type="JAVA_MODULE" version="4">
|
|
||||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
|
||||||
<exclude-output />
|
|
||||||
<content url="file://$MODULE_DIR$">
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
|
|
||||||
</content>
|
|
||||||
<orderEntry type="inheritedJdk" />
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
<orderEntry type="library" name="sqlite-jdbc-3.36.0.3" level="project" />
|
|
||||||
</component>
|
|
||||||
</module>
|
|
||||||
1
Stundenplan/.gitignore
vendored
Normal file
1
Stundenplan/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/bin/
|
||||||
0
DatabaseConnector.java → Stundenplan/src/DatabaseConnector.java
Executable file → Normal file
0
DatabaseConnector.java → Stundenplan/src/DatabaseConnector.java
Executable file → Normal file
0
QueryResult.java → Stundenplan/src/QueryResult.java
Executable file → Normal file
0
QueryResult.java → Stundenplan/src/QueryResult.java
Executable file → Normal file
284
Queue.java → Stundenplan/src/Queue.java
Executable file → Normal file
284
Queue.java → Stundenplan/src/Queue.java
Executable file → Normal file
@@ -1,142 +1,142 @@
|
|||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* Materialien zu den zentralen NRW-Abiturpruefungen im Fach Informatik ab 2018
|
* Materialien zu den zentralen NRW-Abiturpruefungen im Fach Informatik ab 2018
|
||||||
* </p>
|
* </p>
|
||||||
* <p>
|
* <p>
|
||||||
* Generische Klasse Queue<ContentType>
|
* Generische Klasse Queue<ContentType>
|
||||||
* </p>
|
* </p>
|
||||||
* <p>
|
* <p>
|
||||||
* Objekte der generischen Klasse Queue (Warteschlange) verwalten beliebige
|
* Objekte der generischen Klasse Queue (Warteschlange) verwalten beliebige
|
||||||
* Objekte vom Typ ContentType nach dem First-In-First-Out-Prinzip, d.h., das
|
* Objekte vom Typ ContentType nach dem First-In-First-Out-Prinzip, d.h., das
|
||||||
* zuerst abgelegte Objekt wird als erstes wieder entnommen. Alle Methoden haben
|
* zuerst abgelegte Objekt wird als erstes wieder entnommen. Alle Methoden haben
|
||||||
* eine konstante Laufzeit, unabhaengig von der Anzahl der verwalteten Objekte.
|
* eine konstante Laufzeit, unabhaengig von der Anzahl der verwalteten Objekte.
|
||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author Qualitaets- und UnterstuetzungsAgentur - Landesinstitut fuer Schule
|
* @author Qualitaets- und UnterstuetzungsAgentur - Landesinstitut fuer Schule
|
||||||
* @version Generisch_02 2014-02-21
|
* @version Generisch_02 2014-02-21
|
||||||
*/
|
*/
|
||||||
public class Queue<ContentType> {
|
public class Queue<ContentType> {
|
||||||
|
|
||||||
/* --------- Anfang der privaten inneren Klasse -------------- */
|
/* --------- Anfang der privaten inneren Klasse -------------- */
|
||||||
|
|
||||||
private class QueueNode {
|
private class QueueNode {
|
||||||
|
|
||||||
private ContentType content = null;
|
private ContentType content = null;
|
||||||
private QueueNode nextNode = null;
|
private QueueNode nextNode = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ein neues Objekt vom Typ QueueNode<ContentType> wird erschaffen.
|
* Ein neues Objekt vom Typ QueueNode<ContentType> wird erschaffen.
|
||||||
* Der Inhalt wird per Parameter gesetzt. Der Verweis ist leer.
|
* Der Inhalt wird per Parameter gesetzt. Der Verweis ist leer.
|
||||||
*
|
*
|
||||||
* @param pContent das Inhaltselement des Knotens vom Typ ContentType
|
* @param pContent das Inhaltselement des Knotens vom Typ ContentType
|
||||||
*/
|
*/
|
||||||
public QueueNode(ContentType pContent) {
|
public QueueNode(ContentType pContent) {
|
||||||
content = pContent;
|
content = pContent;
|
||||||
nextNode = null;
|
nextNode = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Der Verweis wird auf das Objekt, das als Parameter uebergeben wird,
|
* Der Verweis wird auf das Objekt, das als Parameter uebergeben wird,
|
||||||
* gesetzt.
|
* gesetzt.
|
||||||
*
|
*
|
||||||
* @param pNext der Nachfolger des Knotens
|
* @param pNext der Nachfolger des Knotens
|
||||||
*/
|
*/
|
||||||
public void setNext(QueueNode pNext) {
|
public void setNext(QueueNode pNext) {
|
||||||
nextNode = pNext;
|
nextNode = pNext;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Liefert das naechste Element des aktuellen Knotens.
|
* Liefert das naechste Element des aktuellen Knotens.
|
||||||
*
|
*
|
||||||
* @return das Objekt vom Typ QueueNode, auf das der aktuelle Verweis zeigt
|
* @return das Objekt vom Typ QueueNode, auf das der aktuelle Verweis zeigt
|
||||||
*/
|
*/
|
||||||
public QueueNode getNext() {
|
public QueueNode getNext() {
|
||||||
return nextNode;
|
return nextNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Liefert das Inhaltsobjekt des Knotens vom Typ ContentType.
|
* Liefert das Inhaltsobjekt des Knotens vom Typ ContentType.
|
||||||
*
|
*
|
||||||
* @return das Inhaltsobjekt des Knotens
|
* @return das Inhaltsobjekt des Knotens
|
||||||
*/
|
*/
|
||||||
public ContentType getContent() {
|
public ContentType getContent() {
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ----------- Ende der privaten inneren Klasse -------------- */
|
/* ----------- Ende der privaten inneren Klasse -------------- */
|
||||||
|
|
||||||
private QueueNode head;
|
private QueueNode head;
|
||||||
private QueueNode tail;
|
private QueueNode tail;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Eine leere Schlange wird erzeugt.
|
* Eine leere Schlange wird erzeugt.
|
||||||
* Objekte, die in dieser Schlange verwaltet werden, muessen vom Typ
|
* Objekte, die in dieser Schlange verwaltet werden, muessen vom Typ
|
||||||
* ContentType sein.
|
* ContentType sein.
|
||||||
*/
|
*/
|
||||||
public Queue() {
|
public Queue() {
|
||||||
head = null;
|
head = null;
|
||||||
tail = null;
|
tail = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Die Anfrage liefert den Wert true, wenn die Schlange keine Objekte enthaelt,
|
* Die Anfrage liefert den Wert true, wenn die Schlange keine Objekte enthaelt,
|
||||||
* sonst liefert sie den Wert false.
|
* sonst liefert sie den Wert false.
|
||||||
*
|
*
|
||||||
* @return true, falls die Schlange leer ist, sonst false
|
* @return true, falls die Schlange leer ist, sonst false
|
||||||
*/
|
*/
|
||||||
public boolean isEmpty() {
|
public boolean isEmpty() {
|
||||||
return head == null;
|
return head == null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Das Objekt pContentType wird an die Schlange angehaengt.
|
* Das Objekt pContentType wird an die Schlange angehaengt.
|
||||||
* Falls pContentType gleich null ist, bleibt die Schlange unveraendert.
|
* Falls pContentType gleich null ist, bleibt die Schlange unveraendert.
|
||||||
*
|
*
|
||||||
* @param pContent
|
* @param pContent
|
||||||
* das anzuhaengende Objekt vom Typ ContentType
|
* das anzuhaengende Objekt vom Typ ContentType
|
||||||
*/
|
*/
|
||||||
public void enqueue(ContentType pContent) {
|
public void enqueue(ContentType pContent) {
|
||||||
if (pContent != null) {
|
if (pContent != null) {
|
||||||
QueueNode newNode = new QueueNode(pContent);
|
QueueNode newNode = new QueueNode(pContent);
|
||||||
if (this.isEmpty()) {
|
if (this.isEmpty()) {
|
||||||
head = newNode;
|
head = newNode;
|
||||||
tail = newNode;
|
tail = newNode;
|
||||||
} else {
|
} else {
|
||||||
tail.setNext(newNode);
|
tail.setNext(newNode);
|
||||||
tail = newNode;
|
tail = newNode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Das erste Objekt wird aus der Schlange entfernt.
|
* Das erste Objekt wird aus der Schlange entfernt.
|
||||||
* Falls die Schlange leer ist, wird sie nicht veraendert.
|
* Falls die Schlange leer ist, wird sie nicht veraendert.
|
||||||
*/
|
*/
|
||||||
public void dequeue() {
|
public void dequeue() {
|
||||||
if (!this.isEmpty()) {
|
if (!this.isEmpty()) {
|
||||||
head = head.getNext();
|
head = head.getNext();
|
||||||
if (this.isEmpty()) {
|
if (this.isEmpty()) {
|
||||||
head = null;
|
head = null;
|
||||||
tail = null;
|
tail = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Die Anfrage liefert das erste Objekt der Schlange.
|
* Die Anfrage liefert das erste Objekt der Schlange.
|
||||||
* Die Schlange bleibt unveraendert.
|
* Die Schlange bleibt unveraendert.
|
||||||
* Falls die Schlange leer ist, wird null zurueckgegeben.
|
* Falls die Schlange leer ist, wird null zurueckgegeben.
|
||||||
*
|
*
|
||||||
* @return das erste Objekt der Schlange vom Typ ContentType oder null,
|
* @return das erste Objekt der Schlange vom Typ ContentType oder null,
|
||||||
* falls die Schlange leer ist
|
* falls die Schlange leer ist
|
||||||
*/
|
*/
|
||||||
public ContentType front() {
|
public ContentType front() {
|
||||||
if (this.isEmpty()) {
|
if (this.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
return head.getContent();
|
return head.getContent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -39,6 +39,7 @@ public class Stundenplan implements SelectionListener {
|
|||||||
// Lehrer abfragen und ein Auswahlfeld erstellen, dass in der
|
// Lehrer abfragen und ein Auswahlfeld erstellen, dass in der
|
||||||
// GUI angezeigt wird, um den angezeigten Stundenplan anzupassen
|
// GUI angezeigt wird, um den angezeigten Stundenplan anzupassen
|
||||||
dbc.executeStatement("SELECT kuerzel FROM lehrer");
|
dbc.executeStatement("SELECT kuerzel FROM lehrer");
|
||||||
|
System.out.println(dbc.getErrorMessage());
|
||||||
r = dbc.getCurrentQueryResult();
|
r = dbc.getCurrentQueryResult();
|
||||||
String[] teachers = new String[r.getRowCount()];
|
String[] teachers = new String[r.getRowCount()];
|
||||||
for (int i = 0; i < r.getRowCount(); i++) {
|
for (int i = 0; i < r.getRowCount(); i++) {
|
||||||
0
Stundenplan/stundenplan.db
Normal file
0
Stundenplan/stundenplan.db
Normal file
Reference in New Issue
Block a user