commit 872702deceffab6db4318e47979380dfa6be2d87 Author: Marc Michalsky Date: Fri Apr 10 20:52:04 2020 +0200 initial commit diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..73f69e0 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/description.html b/.idea/description.html new file mode 100644 index 0000000..db5f129 --- /dev/null +++ b/.idea/description.html @@ -0,0 +1 @@ +Simple Java application that includes a class with main() method \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..97626ba --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..146ab09 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..68801dd --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..e82dc0e --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/project-template.xml b/.idea/project-template.xml new file mode 100644 index 0000000..1f08b88 --- /dev/null +++ b/.idea/project-template.xml @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..2cf6a94 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# Picker +![Aufgabe](img/Picker_Aufgabe.png) \ No newline at end of file diff --git a/img/Picker_Aufgabe.png b/img/Picker_Aufgabe.png new file mode 100644 index 0000000..38e1a92 Binary files /dev/null and b/img/Picker_Aufgabe.png differ diff --git a/picker.iml b/picker.iml new file mode 100644 index 0000000..d5c0743 --- /dev/null +++ b/picker.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/gfn/marc/Picker.java b/src/gfn/marc/Picker.java new file mode 100644 index 0000000..4ae5cda --- /dev/null +++ b/src/gfn/marc/Picker.java @@ -0,0 +1,106 @@ +package gfn.marc; + +public class Picker { + + // dreidimensionales Array für Simulation des Lagers + static int[][][] lager = new int[4][3][12]; + + // Arrays "liste" und "fehler", wie in Aufgabe + static int[][] liste = new int[4][4]; + static int[][] fehler = new int[4][4]; + + static int zeileF = 0; + + public static void main(String[] args) { + + // lager-Array füllen + lager[0][0][0] = 434; + lager[0][0][3] = 434; + lager[2][2][11] = 189; + lager[3][1][7] = 202; // FEHLER: hier sollte eigentlich Ware_ID 201 liegen + + // liste-Array füllen + liste[0][0] = 434; + liste[0][1] = 1; + liste[0][2] = 1; + liste[0][3] = 1; + liste[1][0] = 434; + liste[1][1] = 1; + liste[1][2] = 1; + liste[1][3] = 4; + liste[2][0] = 189; + liste[2][1] = 3; + liste[2][2] = 3; + liste[2][3] = 12; + liste[3][0] = 201; + liste[3][1] = 4; + liste[3][2] = 2; + liste[3][3] = 8; + + // Warenliste abarbeiten + entnehmeWaren(liste); + + // Fehlerliste ausgeben + System.out.println("\nFolgende Waren sind falsch eingelagert: "); + for (int i = 0; i < fehler.length; i++) { + if (fehler[i][1] != 0) { + System.out.println("---------------------------"); + System.out.println("Ware-ID: " + fehler[i][0]); + System.out.println("Regal: " + fehler[i][1]); + System.out.println("Ebene: " + fehler[i][2]); + System.out.println("Fach: " + fehler[i][3]); + } + } + + } + + static void entnehmeWaren(int[][] liste) { + for (int i = 0; i < liste.length; i++) { + int regalNr = liste[i][1]; + int ebeneNr = liste[i][2]; + int fachNr = liste[i][3]; + + System.out.println("---------------------------"); + fahreRegalAn(regalNr); + fahreEbeneAn(ebeneNr); + fahreFachAn(fachNr); + + if (pruefeWare(lager[regalNr - 1][ebeneNr - 1][fachNr - 1], i)) { + entnehmeWare(regalNr, ebeneNr, fachNr); + } else { + System.out.println("Falsche Ware-ID!"); + kopiereZeile(liste, fehler, i, zeileF); + zeileF++; + } + } + + } + + static void fahreRegalAn(int regalNr) { + System.out.println("Picker fährt Regal " + regalNr + " an."); + } + + static void fahreEbeneAn(int ebeneNr) { + System.out.println("Picker fährt Ebene " + ebeneNr + " an."); + } + + static void fahreFachAn(int fachNr) { + System.out.println("Picker fährt Fach " + fachNr + " an."); + } + + static boolean pruefeWare(int ware_id, int zeileL) { // Hier musste ich zusätzlich die Zeile der Liste übergeben + return ware_id == liste[zeileL][0]; + } + + static void entnehmeWare(int regalNr, int ebeneNr, int fachNr) { + System.out.println("Ware " + lager[regalNr - 1][ebeneNr - 1][fachNr - 1] + " entnommen."); + lager[regalNr - 1][ebeneNr - 1][fachNr - 1] = 0; + } + + static void kopiereZeile(int[][] liste, int[][] fehler, int zeileL, int zeileF) { + for (int i = 0; i < 4; i++) { + fehler[zeileF][i] = liste[zeileL][i]; + } + } +} +