Added new Project to Git
commit
674247094f
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="module" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="output" path="bin"/>
|
||||||
|
</classpath>
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>PflichtUebung2</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
|
@ -0,0 +1,2 @@
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding/<project>=UTF-8
|
|
@ -0,0 +1,4 @@
|
||||||
|
/CaesarVerschluesselung.class
|
||||||
|
/DezimalZuRoemisch.class
|
||||||
|
/Primzahlen.class
|
||||||
|
/SiebDesEratosthenes.class
|
|
@ -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();
|
||||||
|
}
|
||||||
|
}
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -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();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue