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