From 674247094f5b628daebc0d1592f85d581e3e0a74 Mon Sep 17 00:00:00 2001
From: Nico Baldauf <3009359.stud-mannheim.de>
Date: Thu, 2 May 2024 12:52:10 +0200
Subject: [PATCH] Added new Project to Git
---
.classpath | 10 +++++
.project | 17 ++++++++
.settings/org.eclipse.core.resources.prefs | 2 +
bin/.gitignore | 4 ++
src/CaesarVerschluesselung.java | 42 ++++++++++++++++++++
src/DezimalZuRoemisch.java | 40 +++++++++++++++++++
src/Primzahlen.java | 39 ++++++++++++++++++
src/SiebDesEratosthenes.java | 46 ++++++++++++++++++++++
8 files changed, 200 insertions(+)
create mode 100644 .classpath
create mode 100644 .project
create mode 100644 .settings/org.eclipse.core.resources.prefs
create mode 100644 bin/.gitignore
create mode 100644 src/CaesarVerschluesselung.java
create mode 100644 src/DezimalZuRoemisch.java
create mode 100644 src/Primzahlen.java
create mode 100644 src/SiebDesEratosthenes.java
diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..c8b8bcc
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/.project b/.project
new file mode 100644
index 0000000..a690014
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+
+
+ PflichtUebung2
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..4824b80
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/bin/.gitignore b/bin/.gitignore
new file mode 100644
index 0000000..b5c8492
--- /dev/null
+++ b/bin/.gitignore
@@ -0,0 +1,4 @@
+/CaesarVerschluesselung.class
+/DezimalZuRoemisch.class
+/Primzahlen.class
+/SiebDesEratosthenes.class
diff --git a/src/CaesarVerschluesselung.java b/src/CaesarVerschluesselung.java
new file mode 100644
index 0000000..49098e0
--- /dev/null
+++ b/src/CaesarVerschluesselung.java
@@ -0,0 +1,42 @@
+import java.util.Scanner;
+
+// Programm zur Verschlüsselung von Zeichenketten mit Caesar-Chiffre
+
+public class CaesarVerschluesselung {
+
+ public static void main(String[] args) {
+ // Für die Eingabe von der Tastatur
+ Scanner in = new Scanner(System.in);
+ // Anleitung
+ System.out.println("Eingabe einer Zeichenkette: ");
+ // Zeichenkette einlesen
+ String eingabe = in.nextLine();
+ // erstellt neue Zeichenkette & initialisiert sie mit einem leeren Wert
+ String verschluesselt = "";
+ // Schleifenbedingung & Variable deklarieren und um 1 hochzählen
+ for (int zaehler = 0; zaehler < eingabe.length(); zaehler++) {
+ char aktuellesZeichen = eingabe.charAt(zaehler);
+
+ // Überprüfen, ob das Zeichen ein Buchstabe ist (Groß- oder Kleinbuchstabe)
+ if ((aktuellesZeichen >= 'A' && aktuellesZeichen <= 'Z')
+ || (aktuellesZeichen >= 'a' && aktuellesZeichen <= 'z')) {
+
+ char verschluesseltesZeichen;
+ // Verschlüsselung der Buchstaben
+ if (aktuellesZeichen >= 'a') {
+ verschluesseltesZeichen = (char) (((aktuellesZeichen - 'a' + 1) % 26) + 'a');
+ } else {
+ verschluesseltesZeichen = (char) (((aktuellesZeichen - 'A' + 1) % 26) + 'A');
+ }
+ verschluesselt += verschluesseltesZeichen;
+ } else {
+ // Nicht-Buchstaben bleiben unverändert
+ verschluesselt += aktuellesZeichen;
+ }
+ }
+ // Ausgabe der Ergebnisse
+ System.out.println("Caesar-Chiffre: " + verschluesselt);
+
+ in.close();
+ }
+}
\ No newline at end of file
diff --git a/src/DezimalZuRoemisch.java b/src/DezimalZuRoemisch.java
new file mode 100644
index 0000000..b7e1eb9
--- /dev/null
+++ b/src/DezimalZuRoemisch.java
@@ -0,0 +1,40 @@
+import java.util.Scanner;
+
+// Programm zur Umwandlung von Dezimalzahlen zu römischen Zahlen
+
+public class DezimalZuRoemisch {
+
+ public static void main(String[] args) {
+ Scanner in = new Scanner(System.in);
+ System.out.print("Bitte geben Sie eine Dezimalzahl ein: ");
+ int dezimal = in.nextInt();
+ in.close();
+ // Schleifenbedingung, Wertebereich der für das Beenden des Programms sorgt
+ if (dezimal < 1 || dezimal > 3999) {
+ System.out.println("Ungültige Eingabe. Die Dezimalzahl muss im Bereich von 1 bis 3999 liegen.");
+ } else {
+
+ // Speichern der ursprünglichen Dezimalzahl
+ int originalDezimal = dezimal;
+ // Textbehälter
+ String roman = "";
+
+ int[] dezimalwerte = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 };
+ String[] roemischeSymbole = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" };
+
+ // Prüfung ob die Schleifenbedingung erfüllt wird
+ // Umwandlung der Dezimalzahl zur größtmöglichen römischen Zahl
+ for (int indexWert = 0; indexWert < dezimalwerte.length; indexWert++) {
+ while (dezimal >= dezimalwerte[indexWert]) {
+ // Methode, um dem Behälter Werte hinzuzufügen
+ roman += (roemischeSymbole[indexWert]);
+ dezimal -= dezimalwerte[indexWert];
+ }
+ }
+ // Hier wird eine Methode aufgerufen, um den gesamten Inhalt des Textbehälter
+ // als normaler
+ // String zurückzugeben
+ System.out.println("Die Dezimalzahl " + originalDezimal + " in römischer Darstellung lautet: " + roman);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Primzahlen.java b/src/Primzahlen.java
new file mode 100644
index 0000000..8b2af01
--- /dev/null
+++ b/src/Primzahlen.java
@@ -0,0 +1,39 @@
+import java.util.Scanner;
+
+// Programm zur Prüfung auf Primzahleneigenschaft
+
+public class Primzahlen {
+
+ public static void main(String[] args) {
+ // Für die Eingabe von der Tastatur
+ Scanner in = new Scanner(System.in);
+ // Anleitung
+ System.out.println("Das Programm gibt alle Primzahlen bis zur der eingegebenen Zahl aus.");
+ System.out.println("Geben Sie eine potenzielle Primzahl ein:");
+ // Eingabe und Int-Werte einlesen
+ int eingabe = in.nextInt();
+ // kopfgesteuerte Schleife, Variablen deklarieren,
+ // Schleifenbedingung, Variable um 1 erhöhen
+ // Jede Zahl, bis zur eingegebenen Zahl wird auf die Primzahleigenschaft überprüft
+ for (int potenziellePrimzahl = 2; potenziellePrimzahl <= eingabe; potenziellePrimzahl++) {
+ int potenziellerTeiler = 2;
+ // Schleifenbedingung, Berechnung/Prüfung erfolgt mit Quadratwurzel der eingegebenen Zahl
+ // dadurch verringert sich die Anzahl der Prüfungen erheblich
+ while (potenziellerTeiler <= Math.sqrt(potenziellePrimzahl)
+ && potenziellePrimzahl % potenziellerTeiler != 0) {
+ // Variable um 1 erhöhen
+ potenziellerTeiler++;
+
+ }
+ // Prüfung mit Quadratwurzel, ob ein Teiler gefunden wurde der
+ // kleiner oder gleich der Quadratwurzel ist, wenn nicht, dann Primzahl
+ if (potenziellerTeiler > Math.sqrt(potenziellePrimzahl)) {
+ // Ausgabe der Ergebnisse
+ System.out.println(potenziellePrimzahl + " ist eine Primzahl");
+ }
+
+ in.close();
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/src/SiebDesEratosthenes.java b/src/SiebDesEratosthenes.java
new file mode 100644
index 0000000..99c703d
--- /dev/null
+++ b/src/SiebDesEratosthenes.java
@@ -0,0 +1,46 @@
+import java.util.Scanner;
+
+// Programm zur Prüfung auf Primzahleigenschaft mithilfe des Sieb des Eratosthenes
+
+public class SiebDesEratosthenes {
+
+ public static void main(String[] args) {
+ // Für die Eingabe von der Tastatur
+ Scanner in = new Scanner(System.in);
+ // Anleitung
+ System.out.println("Geben Sie eine maximale Zahl n ein:");
+ // Eingabe und Int-Wert einlesen
+ int maxZahl = in.nextInt();
+ // Array wird erstellt
+ int[] istPrimzahl = new int[maxZahl + 1];
+
+ // Initialisierung des Arrays, Variablen deklarieren
+ for (int pruefZahl = 2; pruefZahl <= maxZahl; pruefZahl++) {
+ istPrimzahl[pruefZahl] = 1;
+ }
+
+ // Schleifenbedingung, Sieb des Eratosthenes wird verwendet,
+ // um alle Primzahlen bis zur maxZahl zu identifizieren und zu makieren
+ // Hochzählen der Prüfzahl um 1
+ for (int pruefZahl = 2; pruefZahl <= maxZahl; pruefZahl++) {
+ if (istPrimzahl[pruefZahl] == 1) {
+ int multiplikator = pruefZahl + pruefZahl; // Beginne bei pruefZahl + pruefZahl statt bei pruefZahl*2
+ //Schleifenbedingung
+ while (multiplikator <= maxZahl) {
+ istPrimzahl[multiplikator] = 0;
+ multiplikator += pruefZahl; // Erhöhe um pruefZahl
+ }
+ }
+ }
+
+ // Ausgabe der Ergebnisse
+ System.out.println("Die Primzahlen bis zur Zahl " + maxZahl + " sind:");
+ // Schleifenbedingung
+ for (int pruefZahl = 2; pruefZahl <= maxZahl; pruefZahl++) {
+ if (istPrimzahl[pruefZahl] == 1) {
+ System.out.print(pruefZahl + " ");
+ }
+ }
+ in.close();
+ }
+}
\ No newline at end of file