From 91bcd71686e7935b7f9f7f6bbbb36c6c401e26c3 Mon Sep 17 00:00:00 2001
From: PaoloPinkel <eude365sup@outlook.com>
Date: Tue, 26 Nov 2019 13:24:47 +0100
Subject: [PATCH] =?UTF-8?q?Codebuch=20Eintr=C3=A4ge=20generiert?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/main/java/Enigma/Main.java                |   4 +-
 .../java/Enigma/model/DatenbankSqlite.java    |  87 ++++++++++++++++++
 src/main/resources/Enigma/codebuch.sqlite     | Bin 24576 -> 24576 bytes
 3 files changed, 89 insertions(+), 2 deletions(-)

diff --git a/src/main/java/Enigma/Main.java b/src/main/java/Enigma/Main.java
index 6adb920..2bfc594 100644
--- a/src/main/java/Enigma/Main.java
+++ b/src/main/java/Enigma/Main.java
@@ -1,5 +1,6 @@
 package Enigma;
 
+import Enigma.model.Codebuch;
 import Enigma.model.DatenbankSqlite;
 import Enigma.model.Morsecode;
 
@@ -7,8 +8,7 @@ import java.sql.SQLException;
 
 public class Main {
 
-    public static void main(String[] args) {
+    public static void main(String[] args) throws SQLException {
         App.main(args);
     }
-
 }
diff --git a/src/main/java/Enigma/model/DatenbankSqlite.java b/src/main/java/Enigma/model/DatenbankSqlite.java
index 6a203b5..f8170f2 100644
--- a/src/main/java/Enigma/model/DatenbankSqlite.java
+++ b/src/main/java/Enigma/model/DatenbankSqlite.java
@@ -1,6 +1,8 @@
 package Enigma.model;
 
+import javax.swing.text.html.HTML;
 import java.sql.*;
+import java.util.Random;
 
 /**
  * Dies ist die SQLite Datenbank Klasse
@@ -61,4 +63,89 @@ public class DatenbankSqlite {
 
 		return cb;
 	}
+
+	//region Random New Codebuch generieren
+	/*
+	*//**
+	 * Setzt zufällige Codebuch Einträge in die SQLite Datenbank
+	 * Tag => int
+	 * Walzenlage => String w1,w2,w3
+	 * Ringstellung => String r1,r2,r3
+	 * Steckverbindungen => s0,s1,s2,s3,s4,s5,s6,s7,s8,s9
+	 *//*
+	public void autoGenCodebuch() throws SQLException {
+
+		Connection conn = connect();
+		conn.setAutoCommit(false);
+		PreparedStatement pstmtInsert = conn.prepareStatement("INSERT INTO table_codebuch (Tag, Walzenlage, Ringstellung, Steckverbindung) VALUES (?, ?, ?, ?);");
+		for (int i = 3; i < 32; i++) {
+			pstmtInsert.setInt(1, i);
+			pstmtInsert.setString(2, walzenlage());
+			pstmtInsert.setString(3, ringstellung());
+			pstmtInsert.setString(4, steckverbindung());
+			pstmtInsert.executeUpdate();
+		}
+
+		conn.commit();
+	}
+
+	*//**
+	 * Generiert einen String aus 3 Zufalls-Zahlen(zwischen 1 und 5)
+	 * die Zahlen sind durch Komma getrennt
+	 * @return String => walzenlage mit drei Kommaseparierten Zufallszahlen zwischen 1 und 5
+	 *//*
+	private static String walzenlage(){
+		String walzenlage;
+		Random random = new Random();
+		int[] w = new int[3];
+		for (int i = 0; i < 3; i++) {
+
+			w[i] = (random.nextInt(5))+1;
+			if (i==1&&w[0]==w[i])w[i]=(random.nextInt(5))+1;
+			if ((i==2&&w[0]==w[2])||(i==2&&w[1]==w[i]))w[i]=(random.nextInt(5))+1;
+		}
+		walzenlage= w[0]+","+w[1]+","+w[2];
+		return walzenlage;
+	}
+
+	*//**
+	 * Generiert einen String aus 3 Zufalls-Zahlen(zwischen 1 und 26)
+	 * die Zahlen sind durch Komma getrennt
+	 * @return String => ringstellung mit drei Kommaseparierten Zufallszahlen zwischen 1 und 26
+	 *//*
+	private static String ringstellung(){
+		String ringstellung;
+		Random random = new Random();
+		int[] w = new int[3];
+		for (int i = 0; i < 3; i++) {
+			w[i] = (random.nextInt(26))+1;
+		}
+		ringstellung= w[0]+","+w[1]+","+w[2];
+		return ringstellung;
+	}
+
+	*//**
+	 * Generiert einen String aus 10 * 2 unterschiedlichen Großbuchstaben
+	 * @return  String => 10 Buchstabenkombinationen mit Komma getrennt
+	 *//*
+	private static String steckverbindung(){
+		Random rnd = new Random();
+		String steckverbindung="";
+		char[] c = new char[2];
+		for (int i = 0; i < 10; i++) {
+			for (int j = 0; j < 2; j++) {
+				c[j]= (char) (rnd.nextInt(26) + 'A');
+				if (j==1) {
+					while (c[0] == c[j]) {
+						c[j] = (char) (rnd.nextInt(26) + 'A');
+					}
+				}
+			}
+			System.out.println(c[0]+" / "+c[1]);
+			steckverbindung+= ((""+c[0]) + (""+c[1]) +",");
+		}
+		steckverbindung= (String) steckverbindung.subSequence(0,steckverbindung.lastIndexOf(","));
+		return steckverbindung;
+	}*/
+	//endregion
 }
diff --git a/src/main/resources/Enigma/codebuch.sqlite b/src/main/resources/Enigma/codebuch.sqlite
index 7d4a703b04d15e43146dddaca53c1b8e3ea83877..78be5227db85283c0c20e3719303cb77e48e8cbf 100644
GIT binary patch
literal 24576
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

delta 319
zcmZoTz}Rqrae}lUHv<C$8xXSqF%uATPSi0L=Vs8;$m9j`nEAvQ_@3}h;uGWD!MkH~
zpnx*Z<e5BKlM8vZCa>i6V|6bo%}belkJmzufq~H`)|`<cGcP5zqPQ?8vm`Y>v9u%~
z%#WY^fJc-m-Vj8Ifo%I|ugTab4wfrPOv*{EVxBC)XUxbt*@tfiSCb?oySSz%V{`6g
zE`CKurpdOv(v#zPXCQ3j0=bQm|2zZ#`OSg~NBOPw8QB>)#bu>U4Rwrlj10|m3=MS*
zje*!m$H>UpU&qB$$1O<5BUHyLT*oI^CnN%5z*`3Xx0?kW9`h>;GBRs&f}IkdoS%}K
eRGORtv;qVeff(duw#@<tALKVV{Nrb0-~<3ZWli+}

-- 
GitLab