Le but du devoir est d'écrire une calculatrice qui prend des paramètres de la ligne de commande. La calculatrice supportera les opérations suivantes: absolute, addition, division, help, maximum, minimum, modulo, multiply, power, reverse, sort, sqrt, subtraction, unique, sinus, cosinus.
Un exemple de calcul de 3 à la puissance 2 est:
java Main.java 3 2 pwr # cela écrira sur l'écran 9
# pour compiler le programme javac org/example/*.java # pour executer le programme java org/example/Main.java # les arguments ici
Op | Paramètres | Description | Exemple |
---|---|---|---|
aucun | Imprime sur l'écran le logo et la liste des opérations disponibles | java Main.java | |
help | aucun | Imprime sur l'écran le logo et la liste des opérations disponibles | java Main.java help |
+ | une liste de nombres (minimum 2) | Ajoute les numéros | java Main.java 2 4 3 5 6 7 3 + |
- | une liste de nombres (minimum 2) | Soustrait les nombres | java Main.java 2 4 3 5 6 7 3 - |
mul | une liste de nombres (minimum 2) | Multiplie les nombres | java Main.java 2 4 3 5 6 7 3 mul |
div | une liste de nombres (minimum 2) | Divise les nombres | java Main.java 2 4 3 5 6 7 3 div |
mod | deux nombres | Calcule le modulo de a / b | java Main.java 500 45 mod |
sq | un nombre | Calcule la racine carrée du nombre | java Main.java 600 sq |
abs | un nombre | Calcule la valeur absolue du nombre | java Main.java -700 abs |
pwr | deux nombres | Calcule a à la puissance b | java Main.java 30 9 pwr |
sort | une liste de nombres (minimum 1) | Trie les nombres en ordre croissant | java Main.java 2 4 3 5 6 7 3 sort |
rev | une liste de nombres (minimum 1) | Trie les nombres en ordre décroissant | java Main.java 2 4 3 5 6 7 3 rev |
uniq | une liste de nombres (minimum 1) | Imprime tous les numéros une seule fois | java Main.java 2 4 3 5 6 7 3 uniq |
max | une liste de nombres (minimum 1) | Trouve la plus grande valeur | java Main.java 2 4 3 5 6 7 3 max |
min | une liste de nombres (minimum 1) | Trouve la plus petite valeur | java Main.java 2 4 3 5 6 7 3 min |
cos | un nombre | Calcule le cosinus d'un angle avec une valeur donnee | java Main.java 45 cos |
sin | un nombre | Calcule le sinus d'un angle avec une valeur donnee | java Main.java 120 sin |
L'opération aide (cela signifie que vous exécutez votre programme avec le paramètre aide ou sans aucun paramètre) affiche la chaîne 'Calculator, Author: <votre nom ici>'.
Utilisez la classe Cow donnee dans le projet. Pour imprimer le logo, utilisez la methode say(String message), où message est le texte pour afficher.
Un exemple:
java Main.java # cela va imprimer: ------------------------------- < Calculator, Author: ALF > ------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || help + - div mul mod sq abs pwr sort rev max min uniq cos sin
La calculatrice a deux erreurs possibles:
Si vous exécutez
java Main.java list # cela va imprimer (exactement) ERROR: this command does not exist, use help to see available commands java Main.java 10 mul # cela va imprimer (exactement) ERROR: mul command uses at least 2 parameters
Pour 0,25p points supplémentaires, implémentez la calculatrice pour des opérations avec des nombres complexes pour +, - et mul. Le format d'entrée sera:
#add a1 + b1 * i with a2 + b2 * i java Main.java a1 b1 a2 b2 complex + #subtract a1 + b1 * i with a2 + b2 * i java Main.java a1 b1 a2 b2 complex - #multiply a1 + b1 * i with a2 + b2 * i java Main.java a1 b1 a2 b2 complex mul
Le devoir est individuel. Toute tentative de copie entraînera 0p pour les devoirs. Système anti-copie automatisé sera utilisé.
Si vous avez des questions concernant le devoir, posez-les en postant un issue sur le github repository avec le format [calculatrice] <le titre de votre question> . Vous aurez besoin d'un compte github pour cela.
Si vous souhaitez recevoir un e-mail lorsque des problèmes sont signalés ou lorsqu'il y a de nouveaux messages, accédez au site github repository et cliquez Watch.