From 9fe033ea88c2f705ec18c232873d056e0c229d72 Mon Sep 17 00:00:00 2001 From: Gaspard Coulet Date: Wed, 28 Apr 2021 23:05:53 +0200 Subject: Initial commit --- sem_5/HLIN505_Java/HLIN505/src/TP2/Constante.java | 11 +++++++++ sem_5/HLIN505_Java/HLIN505/src/TP2/Exp.java | 5 ++++ sem_5/HLIN505_Java/HLIN505/src/TP2/ExpComp.java | 28 +++++++++++++++++++++++ sem_5/HLIN505_Java/HLIN505/src/TP2/Main.java | 19 +++++++++++++++ 4 files changed, 63 insertions(+) create mode 100644 sem_5/HLIN505_Java/HLIN505/src/TP2/Constante.java create mode 100644 sem_5/HLIN505_Java/HLIN505/src/TP2/Exp.java create mode 100644 sem_5/HLIN505_Java/HLIN505/src/TP2/ExpComp.java create mode 100644 sem_5/HLIN505_Java/HLIN505/src/TP2/Main.java (limited to 'sem_5/HLIN505_Java/HLIN505/src/TP2') diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP2/Constante.java b/sem_5/HLIN505_Java/HLIN505/src/TP2/Constante.java new file mode 100644 index 0000000..5d3cb70 --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP2/Constante.java @@ -0,0 +1,11 @@ +package TP2; + +public class Constante extends Exp { + float val; + public float eval() { + return val; + } + public Constante(float x) { + val = x; + } +} diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP2/Exp.java b/sem_5/HLIN505_Java/HLIN505/src/TP2/Exp.java new file mode 100644 index 0000000..b465d4c --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP2/Exp.java @@ -0,0 +1,5 @@ +package TP2; + +public abstract class Exp { + public abstract float eval (); +} diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP2/ExpComp.java b/sem_5/HLIN505_Java/HLIN505/src/TP2/ExpComp.java new file mode 100644 index 0000000..30cfc2e --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP2/ExpComp.java @@ -0,0 +1,28 @@ +package TP2; + +public class ExpComp extends Exp{ + private Exp val1; + private Exp val2; + private String op; + + public ExpComp (Exp v1,String op, Exp v2) { + val1= v1; + this.op = op; + val2=v2; + } + + public float eval() { + switch (op) { + case "*": + return val1.eval()*val2.eval(); + case "/": + return val1.eval()/val2.eval(); + case "+": + return val1.eval()+val2.eval(); + case "-": + return val1.eval()-val2.eval(); + default : + return 0; + } + } +} diff --git a/sem_5/HLIN505_Java/HLIN505/src/TP2/Main.java b/sem_5/HLIN505_Java/HLIN505/src/TP2/Main.java new file mode 100644 index 0000000..de235ce --- /dev/null +++ b/sem_5/HLIN505_Java/HLIN505/src/TP2/Main.java @@ -0,0 +1,19 @@ +package TP2; + +public class Main { + + public static void main(String[] args) { + Constante a = new Constante(5); + Constante b = new Constante(2); + Constante c = new Constante(3); + ExpComp e1 = new ExpComp(a,"+",b); + ExpComp e2 = new ExpComp(e1,"*",c); + ExpComp e3 = new ExpComp(new Constante(4),"*",e2); + System.out.println(a.eval()); + System.out.println(e1.eval()); + System.out.println(e2.eval()); + System.out.println(e3.eval()); + + } + +} -- cgit v1.2.3