06.02.2025

This commit is contained in:
Dominik 2025-02-06 11:59:40 +01:00
parent d0743f28c3
commit 70e5974226
8 changed files with 254 additions and 0 deletions

View file

@ -0,0 +1,32 @@
package de.dhbwka.java.exercise.arrays;
public class BubbleSort {
public static void main(String[] args) {
java.util.Scanner scan = new java.util.Scanner(System.in);
System.out.print("Anzahl der Elemente: ");
int n = scan.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
System.out.print("Element " + i + ": ");
arr[i] = scan.nextInt();
}
scan.close();
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i : arr) {
System.out.print(i + " ");
}
System.out.println();
}
}

View file

@ -0,0 +1,26 @@
package de.dhbwka.java.exercise.arrays;
public class DotProduct {
public static void main(String[] args) {
java.util.Scanner scan = new java.util.Scanner(System.in);
System.out.print("Anzahl der Elemente: ");
int n = scan.nextInt();
double[] arr1 = new double[n];
double[] arr2 = new double[n];
for (int i = 0; i < n; i++) {
System.out.print("Element " + i + " (Array 1): ");
arr1[i] = scan.nextDouble();
}
for (int i = 0; i < n; i++) {
System.out.print("Element " + i + " (Array 2): ");
arr2[i] = scan.nextDouble();
}
scan.close();
double dotProduct = 0;
for (int i = 0; i < n; i++) {
dotProduct += arr1[i] * arr2[i];
}
System.out.println("Skalarprodukt: " + dotProduct);
}
}

View file

@ -0,0 +1,54 @@
package de.dhbwka.java.exercise.arrays;
public class Eratostenes {
private static final int NUM = 1000;
public static void main(String[] args) {
// List<Integer> sieve = new java.util.ArrayList<>();
// List<Integer> primes = new java.util.ArrayList<>();
// for (int i = 2; i <= NUM; i++) {
// sieve.add(i);
// }
// while (!sieve.isEmpty()) {
// int prime = sieve.get(0);
// primes.add(prime);
// sieve.removeIf(i -> i % prime == 0);
// }
// System.out.println(primes);
boolean[] sieve = new boolean[NUM + 1];
for (int i = 2; i < sieve.length; i++) {
sieve[i] = true;
}
boolean[] primes = new boolean[NUM + 1];
while (true) {
int prime = -1;
for (int i = 2; i < sieve.length; i++) {
if (sieve[i]) {
prime = i;
break;
}
}
if (prime == -1) {
break;
}
primes[prime] = true;
for (int i = prime; i < sieve.length; i += prime) {
sieve[i] = false;
}
}
for (int i = 2; i < primes.length; i++) {
if (primes[i]) {
System.out.println(i);
}
}
}
}

View file

@ -0,0 +1,18 @@
package de.dhbwka.java.exercise.arrays;
public class Fibonacci {
private static final int NUM = 50;
public static void main(String[] args) {
long[] lastTwo = { 0, 1 };
System.out.println(lastTwo[0]);
System.out.println(lastTwo[1]);
for (int i = 2; i < NUM; i++) {
long next = lastTwo[0] + lastTwo[1];
System.out.println(next);
lastTwo[0] = lastTwo[1];
lastTwo[1] = next;
}
}
}

View file

@ -0,0 +1,54 @@
package de.dhbwka.java.exercise.arrays;
public class MatrixSubtraction {
private static int[][] generateRandomMatrix(int x, int y, int max) {
int[][] matrix = new int[x][y];
for (int i = 0; i < x; i++) {
for (int j = 0; j < y; j++) {
matrix[i][j] = (int) (Math.random() * max);
}
}
return matrix;
}
private static int[][] subtractMatrix(int[][] matrix1, int[][] matrix2) {
int[][] result = new int[matrix1.length][matrix1[0].length];
for (int i = 0; i < matrix1.length; i++) {
for (int j = 0; j < matrix1[0].length; j++) {
result[i][j] = matrix1[i][j] - matrix2[i][j];
}
}
return result;
}
public static void main(String[] args) {
int[][] matrix1 = generateRandomMatrix(3, 4, 100);
int[][] matrix2 = generateRandomMatrix(3, 4, 100);
System.out.println("Matrix 1:");
for (int i = 0; i < matrix1.length; i++) {
for (int j = 0; j < matrix1[0].length; j++) {
System.out.printf("%3d ", matrix1[i][j]);
}
System.out.println();
}
System.out.println("Matrix 2:");
for (int i = 0; i < matrix2.length; i++) {
for (int j = 0; j < matrix2[0].length; j++) {
System.out.printf("%3d ", matrix2[i][j]);
}
System.out.println();
}
int[][] result = subtractMatrix(matrix1, matrix2);
System.out.println("Result:");
for (int i = 0; i < result.length; i++) {
for (int j = 0; j < result[0].length; j++) {
System.out.printf("%3d ", result[i][j]);
}
System.out.println();
}
}
}

View file

@ -0,0 +1,21 @@
package de.dhbwka.java.exercise.arrays;
public class Norm {
public static void main(String[] args) {
java.util.Scanner scan = new java.util.Scanner(System.in);
System.out.print("Anzahl der Elemente: ");
int n = scan.nextInt();
double[] arr = new double[n];
for (int i = 0; i < n; i++) {
System.out.print("Element " + i + ": ");
arr[i] = scan.nextDouble();
}
scan.close();
double sum = 0;
for (double d : arr) {
sum += d * d;
}
System.out.println("Norm: " + Math.sqrt(sum));
}
}

View file

@ -0,0 +1,27 @@
package de.dhbwka.java.exercise.arrays;
public class Pascal {
private static final int SIZE = 9;
public static void main(String[] args) {
int[][] pascal = new int[SIZE][];
for (int i = 0; i < SIZE; i++) {
pascal[i] = new int[i + 1];
pascal[i][0] = 1;
pascal[i][i] = 1;
for (int j = 1; j < i; j++) {
pascal[i][j] = pascal[i - 1][j - 1] + pascal[i - 1][j];
}
}
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE - i; j++) {
System.out.print(" ");
}
for (int j = 0; j < pascal[i].length; j++) {
System.out.printf("%6d", pascal[i][j]);
}
System.out.println();
}
}
}

View file

@ -0,0 +1,22 @@
package de.dhbwka.java.exercise.arrays;
import java.util.Arrays;
public class StandardDeviation {
private static double stdDev(int[] arr) {
return Math.sqrt(Arrays.stream(arr).mapToDouble(i -> Math.pow(i - average(arr), 2)).sum() / (arr.length - 1));
}
private static double average(int[] arr) {
return Arrays.stream(arr).sum() / arr.length;
}
public static void main(String[] args) {
int[] arr = new int[100];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int) (Math.random() * 100);
}
System.out.println("Standardabweichung: " + stdDev(arr));
System.out.println("Mittelwert: " + average(arr));
}
}