Files
02100-Programmering/Ugesedler/Ugeseddel-4 24-09-2025/Opgaver.java
2025-11-26 13:56:55 +01:00

145 lines
4.3 KiB
Java

import java.util.Scanner;
public class Opgaver {
public static void main(String[] args) {
Opgave1.opgave1();
Scanner console = new Scanner(System.in);
Opgave2.opgave2(console);
Opgave3.printBogstaver("Julemanden var sej");
sOpgave4.printFaktorer(24);
Opgave5.quadratic(console);
}
}
class Opgave1 {
public static void opgave1() {
System.out.println("\n OPGAVE 1: \n");
for (int i = 0; i <= 13; i++) {
System.out.println("i = " + i);
omregnKarakter(i);
}
}
public static void omregnKarakter(int karakter) {
String nyeKarakter;
String gamleKarakter = Integer.toString(karakter);
if (karakter == 11 || karakter == 13) {
nyeKarakter = "12";
} else if (karakter == 10) {
nyeKarakter = "10";
} else if (karakter == 8 || karakter == 9) {
nyeKarakter = "7";
} else if (karakter == 7) {
nyeKarakter = "4";
} else if (karakter == 6) {
nyeKarakter = "02";
} else if (karakter == 5 || karakter == 03) {
nyeKarakter = "00";
gamleKarakter = "03";
} else if (karakter == 0) {
nyeKarakter = "-3";
gamleKarakter = "00";
} else {
System.out.println("Ugyldig karakter indtastet");
return;
}
System.out.println(
"Karakteren " +
gamleKarakter +
" i 13-skalaen svarer til " +
nyeKarakter +
" i 7-trinsskalaen"
);
}
}
class Opgave2 {
public static void opgave2(Scanner console) {
System.out.print("How many numbers do you want to enter? ");
int numbersCount = console.nextInt();
System.out.print("Number 1: ");
int smallestNumber = console.nextInt();
int largestNumber = smallestNumber;
for (int i = 2; i <= numbersCount; i++) {
System.out.print("Number " + i + ": ");
int nextNumber = console.nextInt();
largestNumber = (nextNumber > largestNumber)
? nextNumber
: largestNumber;
smallestNumber = (nextNumber < smallestNumber)
? nextNumber
: smallestNumber;
}
System.out.println(
"Smallest: " + smallestNumber + "\nLargest: " + largestNumber
);
}
}
class Opgave3 {
public static void printBogstaver(String inputStreng) {
if (inputStreng == "") {
throw new IllegalArgumentException("Fejl: Fået tomt input");
}
System.out.print(inputStreng.charAt(0));
for (int i = 1; i < inputStreng.length(); i++) {
System.out.print(" _ " + inputStreng.charAt(i));
}
System.out.println("");
}
}
class Opgave4 {
public static void printFaktorer(int n) {
if (n <= 0) {
throw new IllegalArgumentException(
"Fejl: n skal være et positivt heltal"
);
}
System.out.print(1);
for (int i = 2; i <= n; i++) {
if (n % i == 0) {
System.out.print(" _ " + i);
}
}
System.out.println("");
}
}
class Opgave5 {
public static void quadratic(Scanner console) {
System.out.print("Indtast værdien for a: ");
double a = console.nextDouble();
System.out.print("Indtast værdien for b: ");
double b = console.nextDouble();
System.out.print("Indtast værdien for c: ");
double c = console.nextDouble();
double determinant = (b * b) - (4 * a * c);
if (a == 0) {
if (b == 0) {
throw new IllegalArgumentException("Både a og b er nul");
}
System.out.println("Roden er: " + (-c / b));
return;
} else if (determinant < 0) {
throw new IllegalArgumentException(
"Determinanten kan ikke være negativ"
);
}
double rod1 = (-b - Math.sqrt(determinant)) / (2 * a);
double rod2 = (-b + Math.sqrt(determinant)) / (2 * a);
System.out.println(
(rod1 != rod2)
? "Første rod: " + rod1 + "\nAnden rod: " + rod2
: "Roden: " + rod1
);
}
}