From b17f7b27c34843d8071a41121b179f1b075be571 Mon Sep 17 00:00:00 2001 From: Samuel Turpin <samuel.turpin.etu@univ-lille.fr> Date: Wed, 12 Jun 2024 10:54:20 +0200 Subject: [PATCH] quality dev tp5 --- src/qdev5/Fraction.java | 44 ++++++++++++++++++++++ src/qdev5/NumberFactory.java | 29 ++++++++++++++ src/qdev5/Tabular.java | 48 ++++++++++++++++++++++++ src/qdev5/TestNumbers.java | 21 +++++++++++ src/tp10/UsePrioritySchedulingQueue.java | 2 +- test/qdev/RaceTest.java | 4 +- 6 files changed, 146 insertions(+), 2 deletions(-) create mode 100644 src/qdev5/Fraction.java create mode 100644 src/qdev5/NumberFactory.java create mode 100644 src/qdev5/Tabular.java create mode 100644 src/qdev5/TestNumbers.java diff --git a/src/qdev5/Fraction.java b/src/qdev5/Fraction.java new file mode 100644 index 0000000..1726b91 --- /dev/null +++ b/src/qdev5/Fraction.java @@ -0,0 +1,44 @@ +package qdev5; + +public class Fraction extends Number +{ + private int num; + private int denom; + + public Fraction(int n, int d) + { + this.num = n; + this.denom = d; + } + + + @Override + public int intValue() + { + return this.num / this.denom; + } + + @Override + public long longValue() + { + return this.num / this.denom; + } + + @Override + public float floatValue() + { + return this.num / this.denom; + } + + @Override + public double doubleValue() + { + return this.num / this.denom; + } + + @Override + public String toString() + { + return this.num+" divisé par "+this.denom; + } +} \ No newline at end of file diff --git a/src/qdev5/NumberFactory.java b/src/qdev5/NumberFactory.java new file mode 100644 index 0000000..7cb7ac0 --- /dev/null +++ b/src/qdev5/NumberFactory.java @@ -0,0 +1,29 @@ +package qdev5; + +public class NumberFactory +{ + public static Number number(int i) + { + return i; + } + + public static Number number(long l) + { + return l; + } + + public static Number number(float f) + { + return f; + } + + public static Number number(double d) + { + return d; + } + + public static Number number(int i1, int i2) + { + return i1/i2; + } +} \ No newline at end of file diff --git a/src/qdev5/Tabular.java b/src/qdev5/Tabular.java new file mode 100644 index 0000000..fc5c49a --- /dev/null +++ b/src/qdev5/Tabular.java @@ -0,0 +1,48 @@ +package qdev5; + +public class Tabular +{ + private Number tab[]; + + public Tabular(int size) + { + tab = new Number[size]; + } + + public void set(int i, Number nbr) + { + tab[i] = nbr; + } + + public Number max() + { + Number i = tab[0]; + for(Number nbr : tab) + { + if(nbr.doubleValue()>i.doubleValue()) { i=nbr; } + } + return i; + } + + @Override + public String toString() + { + String str = "["; + boolean isFinal; + for(Number i : tab) + { + try{ + isFinal = i.equals(max()); + } catch (NullPointerException e) { + System.err.println("null number"); + } + finally + { + isFinal = false; + } + str=str+i+(isFinal ? "" : ","); + } + str=str+"]"; + return str; + } +} diff --git a/src/qdev5/TestNumbers.java b/src/qdev5/TestNumbers.java new file mode 100644 index 0000000..3f1dee6 --- /dev/null +++ b/src/qdev5/TestNumbers.java @@ -0,0 +1,21 @@ +package qdev5; + +public class TestNumbers +{ + public static void main(String[] args) + { + int i1 = 10; + int i2 = 5; + Fraction frac = new Fraction(i1, i2); + System.out.println(frac); + System.out.println(frac.doubleValue()); + System.out.println(frac.floatValue()); + System.out.println(frac.intValue()); + System.out.println(frac.longValue()); + Tabular tabular = new Tabular(5); + tabular.set(1, NumberFactory.number(32)); + tabular.set(2, NumberFactory.number(100,3)); + tabular.set(4, NumberFactory.number(3.5)); + System.out.println(tabular); + } +} diff --git a/src/tp10/UsePrioritySchedulingQueue.java b/src/tp10/UsePrioritySchedulingQueue.java index 0a00122..f60f1b3 100644 --- a/src/tp10/UsePrioritySchedulingQueue.java +++ b/src/tp10/UsePrioritySchedulingQueue.java @@ -5,7 +5,7 @@ public class UsePrioritySchedulingQueue public static void main(String[] args) { PrioritySchedulingQueue<Task> tasks = new PrioritySchedulingQueue<>(); - + Task t1 = new Task("t1", 3); Task t2 = new Task("t2", 1); Task t3 = new Task("t3", 2); diff --git a/test/qdev/RaceTest.java b/test/qdev/RaceTest.java index 7dd164f..4b6ef2f 100644 --- a/test/qdev/RaceTest.java +++ b/test/qdev/RaceTest.java @@ -1,4 +1,4 @@ -package tpQU.tp04; +package qdev; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -7,6 +7,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import tp02.Competitor; + import java.util.ArrayList; import java.util.HashSet; import java.util.List; -- GitLab