Java: Liste d'objets
Résolu
Remad
Messages postés
1694
Statut
Membre
-
Remad Messages postés 1694 Statut Membre -
Remad Messages postés 1694 Statut Membre -
(Re)bonjour,
Je suis en train de faire un questionnaire en Java, avec deux types de questions ("MultipleChoiceQuestion" et "TextBasedQuestion") qui dérivent de la classe "Question".
J'aurais voulu savoir comment il était possible dans ma classe "Questionnaire" de faire une liste de questions, les instanciers, et vérifier aussi les exceptions.
Le code en ce moment ressemble à sa (c'est pas beau attention!)
Cordialement
Je suis en train de faire un questionnaire en Java, avec deux types de questions ("MultipleChoiceQuestion" et "TextBasedQuestion") qui dérivent de la classe "Question".
J'aurais voulu savoir comment il était possible dans ma classe "Questionnaire" de faire une liste de questions, les instanciers, et vérifier aussi les exceptions.
Le code en ce moment ressemble à sa (c'est pas beau attention!)
public class Questionnaire
{
private String aswer1Choices[] = {"void", "blou", "blah", "public void setUnit (String unit)"};
private ArrayList<Question> list = new ArrayList<Question>();
public Questionnaire()
{
try
{
list
list[0] = new TextBasedQuestion("Create a header for a set method for a String variable named 'unit'?", "public void setUnit (String unit)");
list[1] = new MultipleChoiceQuestion("Which is the header for a set method for a String variable named 'unit'?", "1", aswer1Choices);
}
catch (QuestionnaireException e)
{
System.out.println(e.getMessage());
}
finally
{
}
}
}
Cordialement
A voir également:
- Java: Liste d'objets
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
5 réponses
Sa fonctionne, maintenant, j'aurais une autre petite question, comment on passe un String[] en paramètres? J'ai essayé
Constructeur de MultipleChoiceQuestion:
new MultipleChoiceQuestion("Question 2", "1", ["1", "2", "3", "4"]); sa marche pas, pareil avec des accolades et non des crochets.
Constructeur de MultipleChoiceQuestion:
public MultipleChoiceQuestion(String question, String answer, String[] choices) throws QAInputException, ChoicesException
Deux manières de faire :
public MultipleChoiceQuestion(String question, String answer, String[] choices) new MultipleChoiceQuestion("Question 2", "1", new String[] {"1", "2", "3", "4"}); public MultipleChoiceQuestion(String question, String answer, String...choices) new MultipleChoiceQuestion("Question 2", "1", "1", "2", "3", "4");
Hello tout le monde,
j'aurais encore une petite question:
Comment je peux faire pour savoir si un objet dans ma
J'ai un
Merci d'avance!
j'aurais encore une petite question:
Comment je peux faire pour savoir si un objet dans ma
ArrayList<Question> list = new ArrayList<Question>();est de type Question ou MultipleChoiceQuestion (qui dérive de question)?
J'ai un
private String[] choices;dans MultipleChoiceQuestion qui n'est pas dans Question. Donc, il faudrait que je sache si l'objet instancié dans la liste est de type Question ou non, pour savoir si je dois récupérer les choix de réponses aussi.
Merci d'avance!
Tu peux utiliser (X instanceof Y) qui renvoie vrai si X est un objet :
* de la classe Y
* d'une des classes filles (petites-filles...) de la classe Y.
* d'une classe qui implémente l'interface Y.
* d'une classe qui implémente une des interfaces filles (petites-filles...) de l'interface Y.
* d'une des classes filles (petites-filles...) d'une classe qui implémente l'interface Y.
* d'une des classes filles (petites-filles...) d'une classe qui implémente une des interfaces filles (petites-filles...) de l'interface Y.
* de la classe Y
* d'une des classes filles (petites-filles...) de la classe Y.
* d'une classe qui implémente l'interface Y.
* d'une classe qui implémente une des interfaces filles (petites-filles...) de l'interface Y.
* d'une des classes filles (petites-filles...) d'une classe qui implémente l'interface Y.
* d'une des classes filles (petites-filles...) d'une classe qui implémente une des interfaces filles (petites-filles...) de l'interface Y.
Question q = list.get(i);
if (q instanceof MultipleChoiceQuestion)
{
MultipleChoiceQuestion mq = (MultipleChoiceQuestion) q;
String[] c = mq.choices();
// ...
}
Euh... Pourquoi Eclipse me sort une alerte "finally block does not compile normally" ?
for (int i=0; i<theQuestions.getNumberQuestions(); i++)
{
try {
if (theQuestions.isMCQ(i)) {
System.out.println(i + " is an MCQ");
}
else
{
System.out.println(i + " is not an MCQ");
}
}
catch (IndexOutOfBoundsException e){
e.printStackTrace();
}
finally {
continue;
}
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ceci sera surement ma dernière question: comment dans ma classe Questionnaire, je peux récupérer la String[] qui est crée seulement par une question de type MCQ? J'essaye sa, sa ne veut pas fonctionner, sa me sort que getChoices n'est pas défini dans la classe Question.
Je te remercie beaucoup par ailleurs!
public String[] getChoiceAnswerMCQ(int number) {
if (!isMCQ(number)) {
throw new QuestionnaireException("Not an MCQ.");
} else {
return (list.get(number).getChoices());
}
}
Je te remercie beaucoup par ailleurs!
Je pense que c'est comme tout à l'heure, tu dois caster ta Question en MCQ pour lui appliquer la méthode getChoices :
public String[] getChoiceAnswerMCQ(int number) throws QuestionnaireException
{
if (isMCQ(number))
return ((MCQ) list.get(number)).getChoices());
else
throw new QuestionnaireException("Not an MCQ.");
}
list.add(new TextBasedQuestion("Create a header for a set method for a String variable named 'unit'?", "public void setUnit (String unit)");?