From 7c7b3604aff5b7b5038e16e61f63e4b19c6b4c14 Mon Sep 17 00:00:00 2001 From: femsci Date: Mon, 24 Jun 2024 23:29:29 +0200 Subject: [PATCH] task 10 --- README.md | 2 +- dev/pain/CalculatingDevice.java | 31 +++++++++++++++++++++++++++++++ dev/pain/Calculator.java | 22 ++++++++++++++++++++++ dev/pain/Computer.java | 24 ++++++++++++++++++++++++ dev/pain/Computers.java | 20 ++++++++++++++++++++ 5 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 dev/pain/CalculatingDevice.java create mode 100644 dev/pain/Calculator.java create mode 100644 dev/pain/Computer.java create mode 100644 dev/pain/Computers.java diff --git a/README.md b/README.md index a4b6575..c5cdcfd 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # PPJ -This branch contains the solution for the **nth task**. +This branch contains the solution for the **10th task**. [Go back to main](/femsci/ppj/src/branch/nya) diff --git a/dev/pain/CalculatingDevice.java b/dev/pain/CalculatingDevice.java new file mode 100644 index 0000000..de35b34 --- /dev/null +++ b/dev/pain/CalculatingDevice.java @@ -0,0 +1,31 @@ +/* + * TASK 10 + * archived at https://git.femboy.science/femsci/ppj/src/branch/task/10 + * by femsci + */ + +package dev.pain; + +import java.util.Arrays; + +public class CalculatingDevice { + + public CalculatingDevice(String name) { + this.name = name; + } + + private final String name; + + public String calculate(double x, double y) { + return String.format("%s: %,.1f+%,.1f=%,.1f", this.name, x, y, x + y); + } + + public static void printRes(CalculatingDevice[] devs, double x, double y) { + // can also do direct .forEach(sout(d.calc)) but this one is cuter to look at + Arrays.asList(devs) + .stream() + .map(d -> d.calculate(x, y)) + .forEach(System.out::println); + } + +} diff --git a/dev/pain/Calculator.java b/dev/pain/Calculator.java new file mode 100644 index 0000000..04be8ae --- /dev/null +++ b/dev/pain/Calculator.java @@ -0,0 +1,22 @@ +/* + * TASK 10 + * archived at https://git.femboy.science/femsci/ppj/src/branch/task/10 + * by femsci + */ + +package dev.pain; + +public class Calculator extends CalculatingDevice { + + public Calculator(String name) { + super(name); + } + + @Override + public String calculate(double x, double y) { + // for the order of writing, stat and check mtime + // 1. wtf why reparse it ????? + // 2. oh ok just appending, still weird; meow~ + return String.format("%s; %,.1f-%,.1f=%,.1f", super.calculate(x, y), x, y, x - y); + } +} diff --git a/dev/pain/Computer.java b/dev/pain/Computer.java new file mode 100644 index 0000000..8a2eaee --- /dev/null +++ b/dev/pain/Computer.java @@ -0,0 +1,24 @@ +/* + * TASK 10 + * archived at https://git.femboy.science/femsci/ppj/src/branch/task/10 + * by femsci + */ + +package dev.pain; + +//uwuwuwuwuwuwu nested inheritance :3 +public class Computer extends Calculator { + + // i like composition and components >:3c + public Computer(String name) { + super(name); + } + + @Override + public String calculate(double x, double y) { + + return String.format("%s; %,.1f*%,.1f=%,.1f; %,.1f/%,.1f=%,.1f", + super.calculate(x, y), + x, y, x * y, x, y, x / y); + } +} diff --git a/dev/pain/Computers.java b/dev/pain/Computers.java new file mode 100644 index 0000000..8b7014b --- /dev/null +++ b/dev/pain/Computers.java @@ -0,0 +1,20 @@ +/* + * TASK 10 + * archived at https://git.femboy.science/femsci/ppj/src/branch/task/10 + * by femsci + */ + +package dev.pain; + +public final class Computers { + + public static void main(String[] args) { + CalculatingDevice[] arr = { + new Computer("Cray"), + new CalculatingDevice("Abacus"), + new Calculator("HP") + }; + + CalculatingDevice.printRes(arr, 21, 7); + } +}