06.02.2025
This commit is contained in:
parent
d0743f28c3
commit
70e5974226
8 changed files with 254 additions and 0 deletions
32
src/de/dhbwka/java/exercise/arrays/BubbleSort.java
Normal file
32
src/de/dhbwka/java/exercise/arrays/BubbleSort.java
Normal 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();
|
||||
}
|
||||
}
|
26
src/de/dhbwka/java/exercise/arrays/DotProduct.java
Normal file
26
src/de/dhbwka/java/exercise/arrays/DotProduct.java
Normal 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);
|
||||
}
|
||||
}
|
54
src/de/dhbwka/java/exercise/arrays/Eratostenes.java
Normal file
54
src/de/dhbwka/java/exercise/arrays/Eratostenes.java
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
18
src/de/dhbwka/java/exercise/arrays/Fibonacci.java
Normal file
18
src/de/dhbwka/java/exercise/arrays/Fibonacci.java
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
54
src/de/dhbwka/java/exercise/arrays/MatrixSubtraction.java
Normal file
54
src/de/dhbwka/java/exercise/arrays/MatrixSubtraction.java
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
21
src/de/dhbwka/java/exercise/arrays/Norm.java
Normal file
21
src/de/dhbwka/java/exercise/arrays/Norm.java
Normal 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));
|
||||
}
|
||||
}
|
27
src/de/dhbwka/java/exercise/arrays/Pascal.java
Normal file
27
src/de/dhbwka/java/exercise/arrays/Pascal.java
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
22
src/de/dhbwka/java/exercise/arrays/StandardDeviation.java
Normal file
22
src/de/dhbwka/java/exercise/arrays/StandardDeviation.java
Normal 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));
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue