george1703 Δημοσ. 12 Νοεμβρίου 2016 Δημοσ. 12 Νοεμβρίου 2016 καλησπερα, θελω να υλοποιησω ενα παιχνίδι ερωτησεων . εχω σκεφτει να κανω ενα hashmap με τις ερωτησεις και τις απαντησεις αλλα το προβλημα ειναι οτι δεν θα πρεπει ο χρηστης να τα δηλώνει αλλα ο δημιουργος του προγραμματος. απ την αλλη σκεφτηκα να κανω πινακα με ερωτηση και απαντηση αλλα δεν νομιζω να ειναι και σωστος τρόπος.τι μπορώ να κάνω?...helppp..
dexterios Δημοσ. 12 Νοεμβρίου 2016 Δημοσ. 12 Νοεμβρίου 2016 Φτιάξε μια κλάση QuizItem που να έχει μια μέθοδο getQuestion και μια getAnswer μετά γεμίζεις με QuizItems μια λίστα ή ένα πίνακα ή οτιδήποτε θέλεις
tsofras Δημοσ. 13 Νοεμβρίου 2016 Δημοσ. 13 Νοεμβρίου 2016 Άσχετα με την υλοποίηση , αν θές να είναι δυναμικό ή θα τα πάρεις απο βάση ή για να είναι πιο απλό απο αρχείο (excel, csv, properties file)
george1703 Δημοσ. 13 Νοεμβρίου 2016 Μέλος Δημοσ. 13 Νοεμβρίου 2016 γι αρχη θα ειναι στην μνημη του προγραμματος. Θα πρεπει να εμφανιζονται οι ερωτηση με τις απαντησεις και ο χρηστης θα παταει πχ 1-4 και τοτε να επιστρεφεται αν απαντησε σωστα ή οχι...
NickSym Δημοσ. 13 Νοεμβρίου 2016 Δημοσ. 13 Νοεμβρίου 2016 Δεν μπορώ να καταλάβω τι ακριβώς πρόβλημα αντιμετωπίζεις πάνω στην υλοποίηση αλλά ούτε και βγάζω άκρη με το post σου. Κάνε μια κλάση όπως αυτή(γενικά είναι κακή υλοποίηση, συνίσταται χρήση ArrayList κι όχι απλά Array) και στην συνέχεια, στην main σου, κάνε ένα ArrayList ή ένα HashMap με key-value έναν Integer για τον αριθμό της ερώτησης και την κλάση Question. Για να τσεκάρεις αν η απάντηση του χρήστη είναι σωστή, σύγκρινε την με την getCorrectAnswer(). Δηλαδή "myAnswer".equals(question.getCorrectAnswer()); import java.util.Random; class Question { private String question; private String[] Answers = new String[4]; private String choosed = ""; public Question(String q, String a1, String a2, String a3, String a4) { question = q; Answers[0] = a1; Answers[1] = a2; Answers[2] = a3; Answers[3] = a4; } public String getQuestion() { return question; } public String getAnAnswer() { // Επιστρέφει μια τυχαία απάντηση σε κάθε κλήση της // Κάλεσε την 4 φορές για να πάρεις και τις 4 απαντήσεις // Σε τυχαία/διαφορετική σειρά κάθε φορά Random opt = new Random(); boolean flag; int num, i; if(choosed.length() == 4) choosed = ""; do { num = opt.nextInt(4); flag = false; for(i = 0; i < choosed.length(); i++) { if(Integer.parseInt(String.valueOf(choosed.charAt(i))) == num) flag = true; } } while(flag); choosed += num; return Answers[num]; } public String getCorrectAnswer() { // Θεωρούμε ότι η σωστή απάντηση βρίσκεται πάντα στην πρώτη θέση return Answers[0]; } }
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα