Exercice java
TheRogerFederer
Messages postés
256
Date d'inscription
Statut
Membre
Dernière intervention
-
TheRogerFederer Messages postés 256 Date d'inscription Statut Membre Dernière intervention -
TheRogerFederer Messages postés 256 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je requiert votre aide sur un exercice car je ne comprends pas trop.......
Énoncé :
Vous avez à votre disposition la classe suivante :
Vous avez écrit en Java la fonction suivante qui doit permettre de convertir un objet en Integer. Le but est de retourner 0 si l’objet est null quel que soit son type, ou s’il n’est pas de type Integer ou String. Dans le cas d’un objet de type Integer, il est retourné sans changement. Dans le cas d’un objet de type String, une tentative de conversion en Integer est faite (avec Integer.parseInt qui tente cette conversion). Si la conversion de String en Integer n’est pas possible, il faut retourner 0 (le catch s’exécute si la conversion n’est pas possible).
1. Écrire toutes les lignes de tests nécessaires pour assurer la couverture de code, en utilisant la classe Assert.
2. Préciser les éventuels messages obtenus lors des tests précédents, identifier les problèmes et donner une nouvelle version de la fonction.
Pour la 1) je sais qu'il faut utiliser Assert comme dis dans l'énoncé comme ceci :
Assert.estVrai(convertToInteger(...) = "...", "erreur pour ...") mais je ne vois pas quoi mettre à la place des pointillés ?? Pour convertToInteger(...), peut-être objet mais je ne sais pas trop.
la question 2) dépend de la question 1) donc je ne peut rien en dire pour le moment....
Énoncé :
Vous avez à votre disposition la classe suivante :
classe Assert public à portée de classe : // affiche le message d’erreur si la proposition est fausse // ou rien si la proposition est vraie estVrai(proposition : booléen, messageErreur : chaîne)
Vous avez écrit en Java la fonction suivante qui doit permettre de convertir un objet en Integer. Le but est de retourner 0 si l’objet est null quel que soit son type, ou s’il n’est pas de type Integer ou String. Dans le cas d’un objet de type Integer, il est retourné sans changement. Dans le cas d’un objet de type String, une tentative de conversion en Integer est faite (avec Integer.parseInt qui tente cette conversion). Si la conversion de String en Integer n’est pas possible, il faut retourner 0 (le catch s’exécute si la conversion n’est pas possible).
public static Integer convertToInteger(Object unObjet) { if (unObjet instanceof Integer) { return (Integer)unObjet ; } if (unObjet instanceof String) { try { Integer i = Integer.parseInt((String)unObjet); return i ; } catch(NumberFormatException e) { return 0 ; } } return 0 ; }
1. Écrire toutes les lignes de tests nécessaires pour assurer la couverture de code, en utilisant la classe Assert.
2. Préciser les éventuels messages obtenus lors des tests précédents, identifier les problèmes et donner une nouvelle version de la fonction.
Pour la 1) je sais qu'il faut utiliser Assert comme dis dans l'énoncé comme ceci :
Assert.estVrai(convertToInteger(...) = "...", "erreur pour ...") mais je ne vois pas quoi mettre à la place des pointillés ?? Pour convertToInteger(...), peut-être objet mais je ne sais pas trop.
la question 2) dépend de la question 1) donc je ne peut rien en dire pour le moment....
A voir également:
- Exercice java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
3 réponses
Bonjour,
Comme tu le sais CCM ne fait pas les devoirs et exercices... Il est toléré que tu proposes tes propres démarches à la critique et aux suggestions des autres.
Comme tu le sais CCM ne fait pas les devoirs et exercices... Il est toléré que tu proposes tes propres démarches à la critique et aux suggestions des autres.
C'est ce que j'ai fais !! J'ai mis un début de réponse dans la question 1 mais je ne vois pas quoi mettre dans les pointillés, je ne vais pas mettre n'importe quoi pour dire "voilà, j'ai mis qqch pouvons nous regarder ensemble ?"
Je veux juste des éléments de réponse............., un début de proposition, une orientation ??
Je veux juste des éléments de réponse............., un début de proposition, une orientation ??
Je voudrais bien mais avec quoi je test comme programme ? Car c'est de l'écris et quand je serai en situation de devoir je n'aurais pas de programme à ma dispo pour tester malheureusement. Non effectivement je ne vois pas trop..... Disons que la matière viens de commencer, j'ai bien lu le cours mais je le trouve un peu trop succinct........... dans le premier pointillé j'avais pensé à Objet mais après je vois pas trop.............!! Parce qu'on attend des exemples d'objets mais lesquelles ?
j'ai bien lu le cours mais je le trouve un peu trop succinct
Aucun cours ne pourra t'apprendre tout Java, il faut aller chercher la documentation sur internet pour connaître chaque subtilité (il ne s'agit pas de les apprendre par coeur).
Pour compléter ton cours tu peux regarder le tutoriel officiel de Oracle
https://docs.oracle.com/javase/tutorial/java/index.html
quand je serai en situation de devoir je n'aurais pas de programme à ma dispo pour tester
Tu ne pourras pas apprendre à programmer si tu ne programmes pas.
La théorie en informatique c'est très utile (je ne vais pas cracher dessus j'adore ça) mais à un moment il faut mettre les mains dans le cambouis...
Aucun cours ne pourra t'apprendre tout Java, il faut aller chercher la documentation sur internet pour connaître chaque subtilité (il ne s'agit pas de les apprendre par coeur).
Pour compléter ton cours tu peux regarder le tutoriel officiel de Oracle
https://docs.oracle.com/javase/tutorial/java/index.html
quand je serai en situation de devoir je n'aurais pas de programme à ma dispo pour tester
Tu ne pourras pas apprendre à programmer si tu ne programmes pas.
La théorie en informatique c'est très utile (je ne vais pas cracher dessus j'adore ça) mais à un moment il faut mettre les mains dans le cambouis...
De toute façon, le code en Java on te le fournit... la seule chose qu'on te demande c'est de faire les jeux de tests pour vérifier que ça fonctionne.
Je ne sais pas comment fonctionne une télé, ça ne m'empêche pas de savoir que quand j'appuie sur la télécommande elle est censée s'allumer !
C'est un peu ça le but de ton exercice, tu as un code (à la limite peu importe que tu saches ou non comment il fonctionne), on te demandes de vérifier qu'il fait ce que t'on demande.
On appelle ça faire des tests unitaires...
Je ne sais pas comment fonctionne une télé, ça ne m'empêche pas de savoir que quand j'appuie sur la télécommande elle est censée s'allumer !
C'est un peu ça le but de ton exercice, tu as un code (à la limite peu importe que tu saches ou non comment il fonctionne), on te demandes de vérifier qu'il fait ce que t'on demande.
Assert.estVrai( somme(1,2) = 3, "erreur pour la somme 1+2=3")
Assert.estVrai( appuyerTélécommande("bouton marche") = laTeleEstAllumée(), "erreur la télé ne s'allume pas avec la télécommande")
On appelle ça faire des tests unitaires...
Très bien mais ça ne m'aide pas beaucoup pour la compréhension du tout..............! quand tu met :
pourquoi on met la phrase "erreur pour la somme 1+2=3" alors que c'est vrai ??
de même pour :
Pourquoi ?? Puisque la télé est censé être allumé grâce au bouton marche, pourquoi cela renverrai une erreur ??
Assert.estVrai( somme(1,2) = 3, "erreur pour la somme 1+2=3")
pourquoi on met la phrase "erreur pour la somme 1+2=3" alors que c'est vrai ??
de même pour :
Assert.estVrai( appuyerTélécommande("bouton marche") = laTeleEstAllumée(), "erreur la télé ne s'allume pas avec la télécommande")
Pourquoi ?? Puisque la télé est censé être allumé grâce au bouton marche, pourquoi cela renverrai une erreur ??