exo6: Code cleanup.
[Project_POO.git] / exo6 / Chiffre.java
index 1a0c3cbb2ba121256f075713637274a1fcf54092..6774f5e9ac9ef5d9c724bedc9b6d64dc6c92b746 100644 (file)
@@ -1,7 +1,25 @@
 
 class Chiffre extends Facteur {
+    Character c;
 
-    public boolean evaluer() {
-        return true;
+    Chiffre(Character c) throws NotCharacterException {
+        //TODO?: remove extragenous whitespace
+        if (Character.isLetterOrDigit(c)) {
+            this.c = c;
+        } else {
+            throw new NotCharacterException(c + " is not a character type");
+        }
+    }
+
+    private boolean isChiffre() {
+        return Character.isDigit(c);
+    }
+    
+    public double evaluer() throws NotDigitException {
+        if(isChiffre()) {
+            return Character.getNumericValue(c);
+        } else {
+            throw new NotDigitException(c + " is not a digit");
+        }
     }
 }