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