add Exercise 1 and 2
This commit is contained in:
parent
08d40b6241
commit
2547bee34d
6 changed files with 117 additions and 10 deletions
28
01/Drei.java
Normal file
28
01/Drei.java
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class Drei {
|
||||||
|
|
||||||
|
public int getTipPercentage(List<String> names) {
|
||||||
|
if (names.size() <= 2) {
|
||||||
|
return 0;
|
||||||
|
} else if (names.size() <= 4) {
|
||||||
|
return 10;
|
||||||
|
} else {
|
||||||
|
return 20;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Drei tipCalculator = new Drei();
|
||||||
|
List<String> names = new ArrayList<>();
|
||||||
|
names.add("test");
|
||||||
|
names.add("test2");
|
||||||
|
names.add("test3");
|
||||||
|
names.add("test4");
|
||||||
|
names.add("test5");
|
||||||
|
|
||||||
|
System.out.println(tipCalculator.getTipPercentage(names));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class ShoppingCart {
|
|
||||||
|
|
||||||
private List<String> items = new ArrayList<String>();
|
|
||||||
private boolean bookAdded;
|
|
||||||
|
|
||||||
public static void main(String[] args) {}
|
|
||||||
}
|
|
||||||
25
01/ShoppingCartFunctional.java
Normal file
25
01/ShoppingCartFunctional.java
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class ShoppingCartFunctional {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pure function that calculates the discount percentage based on the cart content.
|
||||||
|
* @param cart The list of items in the shopping cart.
|
||||||
|
* @return 5 if a book is present, 0 otherwise.
|
||||||
|
*/
|
||||||
|
public static double getDiscountPercentage(List<String> cart) {
|
||||||
|
return cart.stream()
|
||||||
|
.anyMatch(item -> item.toLowerCase().contains("book"))
|
||||||
|
? 5
|
||||||
|
: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
List<String> cartWithBook = Arrays.asList("Apple", "Java Book");
|
||||||
|
List<String> cartWithoutBook = Arrays.asList("Apple", "Orange");
|
||||||
|
|
||||||
|
System.out.println("Discount with book: " + getDiscountPercentage(cartWithBook));
|
||||||
|
System.out.println("Discount without book: " + getDiscountPercentage(cartWithoutBook));
|
||||||
|
}
|
||||||
|
}
|
||||||
48
01/ShoppingCartImperative.java
Normal file
48
01/ShoppingCartImperative.java
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class ShoppingCartImperative {
|
||||||
|
private List<String> items = new ArrayList<>();
|
||||||
|
private boolean bookAdded = false;
|
||||||
|
|
||||||
|
public void addItem(String item) {
|
||||||
|
items.add(item);
|
||||||
|
if (item.toLowerCase().contains("book")) {
|
||||||
|
bookAdded = true;
|
||||||
|
} else {
|
||||||
|
bookAdded = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeItem(String item) {
|
||||||
|
items.remove(item);
|
||||||
|
for (String remainingItem : items) {
|
||||||
|
if (remainingItem.toLowerCase().contains("book")) {
|
||||||
|
bookAdded = true;
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
bookAdded = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getItems() {
|
||||||
|
return new ArrayList<>(items);
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getDiscount() {
|
||||||
|
return bookAdded ? 5 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
ShoppingCartImperative cart = new ShoppingCartImperative();
|
||||||
|
cart.addItem("Apple");
|
||||||
|
cart.addItem("Java Book");
|
||||||
|
System.out.println("Items: " + cart.getItems());
|
||||||
|
System.out.println("Discount: " + cart.getDiscount());
|
||||||
|
|
||||||
|
cart.removeItem("Java Book");
|
||||||
|
System.out.println("Items after removal: " + cart.getItems());
|
||||||
|
System.out.println("Discount after removal: " + cart.getDiscount());
|
||||||
|
}
|
||||||
|
}
|
||||||
16
02/WeDontLikeCharA.swift
Normal file
16
02/WeDontLikeCharA.swift
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
struct ScoreWord {
|
||||||
|
let word: String
|
||||||
|
|
||||||
|
var score: Int {
|
||||||
|
return word.lowercased().filter { $0 != "a" }.count
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let inputs: [String] = ["Apple", "Banana", "Cherry", "Date"]
|
||||||
|
|
||||||
|
let scoredWords = inputs.map(ScoreWord.init)
|
||||||
|
let sortedWords = scoredWords.sorted { $0.score > $1.score }
|
||||||
|
|
||||||
|
for entry in sortedWords {
|
||||||
|
print("\(entry.word): \(entry.score) points")
|
||||||
|
}
|
||||||
BIN
bin/Main.class
BIN
bin/Main.class
Binary file not shown.
Loading…
Reference in a new issue