groovy-lecture/assignments/solutions/taschenrechner.groovy

53 lines
1.4 KiB
Groovy
Raw Normal View History

2024-06-09 20:55:46 +02:00
class Calculator {
def add(int a, int b) {
return a + b
}
def subtract(int a, int b) {
return a - b
}
def multiply(int a, int b) {
return a * b
}
def divide(int a, int b) {
if (b == 0) {
println("Error: Division by zero!")
return
}
return a / b
}
def performOperation(int a, int b, Closure operation) {
return operation(a, b)
}
}
// Verwendung der Klasse Calculator
def calc = new Calculator()
// Grundrechenoperationen
println("Addition: ${calc.add(5, 3)}")
println("Subtraktion: ${calc.subtract(10, 7)}")
println("Multiplikation: ${calc.multiply(4, 6)}")
println("Division: ${calc.divide(12, 4)}")
// Closures definieren
def addClosure = { int a, int b -> a + b }
def subtractClosure = { int a, int b -> a - b }
def multiplyClosure = { int a, int b -> a * b }
def divideClosure = { int a, int b ->
if (b == 0) {
println("Error: Division by zero!")
return
}
return a / b
}
// Verwendung von performOperation mit Closures
println("Addition mit Closure: ${calc.performOperation(5, 3, addClosure)}")
println("Subtraktion mit Closure: ${calc.performOperation(10, 7, subtractClosure)}")
println("Multiplikation mit Closure: ${calc.performOperation(4, 6, multiplyClosure)}")
println("Division mit Closure: ${calc.performOperation(12, 4, divideClosure)}")