Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα σας και παλι, ακολουθησα τις οδηγιες που καποιοι απο εσας μου δωσατε και συγχρονως εψαξα κατι βιντεακια στο youtube. Το προγραμμα που εχω φτιαξει για την ασκηση νομιζω οτι ειναι αυτο που χρειαζεται αλλα μου βαραει 2 errors..Μπορει να βοηθησει κανεις?

Ασκηση Java: https://drive.google.com/open?id=1nrXigPpeHTJ5gp8i3Cq_AZmxdiFP5SJh

Η προσπαθεια μου: https://drive.google.com/open?id=1yPepDdsNobz8gLd6uEgU8uDAMVm-SZOT

Δημοσ.

Απάντησε στο άλλο και μην φτιάχνεις καινούριο θέμα. Μπορείς να μου πεις αν είναι εύκολο σε ποια σχολή είσαι? 

Δημοσ.
35 λεπτά πριν, kaliakman είπε

Απάντησε στο άλλο και μην φτιάχνεις καινούριο θέμα. Μπορείς να μου πεις αν είναι εύκολο σε ποια σχολή είσαι? 

Την επομενη φορα που θα ξανα δημοσιευσω θα το εχω στο νου μου..Ειμαι στο Πανεπιστημιο Πειραως

Δημοσ.

Καταρχήν φίλε μου μια-δύο παρατηρήσεις εντελώς φιλικά - αν θέλεις τις κρατάς αν δεν θέλεις τις προσπερνάς.

α) Προσπάθησε ο κώδικας που γράφεις να είναι οσο πιο ξεκάθαρος (ευανάγνωστος) γίνεται. Κατέβασα τις δύο κλάσεις σου για να τις δώ. Ομολογώ πως στην TestAlarmClock τα έχεις λίγο μπερδέψει τα πράγματα. Σε συμβουλεύω η main() να περιέχεται σε μία άλλη κλάση πχ (ClassMain) και όχι μέσα σε "Business Classes". Η "δουλειά" της TestAlarmClock δεν είναι να περιέχει την main().

b) Δεν υπάρχει καμία λογική πίσω απο την ιεραρχία TestAlarmClock και AlarmClock. Δεν υπάρχει κανένας λόγος η TestAlarmClock να κάνει inherit απο την AlarmClock. H TestAlarmClock είναι υπεύθυνη για το compare μεταξύ των ρολογιών - έτσι απλά - οπότε το καλύτερο θα ήταν να είναι μια ανεξάρτητη κλάση μέσα στην οποία μπορείς να έχεις τα 2 objects (AlarmClock) σύμφωνα και με την εκφώνηση της άσκησης. Θα μπορούσε το design σου εδώ να είναι πολύ καλύτερο.

Στο θέμα μας τώρα. Επειδή δεν μπορώ αυτή τη στιγμή να κάνω import τις κλάσεις σου , τι ακριβώς errors έχεις ?

 

Δημοσ.
4 ώρες πριν, Dallas_ είπε

Καλησπερα σας και παλι, ακολουθησα τις οδηγιες που καποιοι απο εσας μου δωσατε και συγχρονως εψαξα κατι βιντεακια στο youtube. Το προγραμμα που εχω φτιαξει για την ασκηση νομιζω οτι ειναι αυτο που χρειαζεται αλλα μου βαραει 2 errors..Μπορει να βοηθησει κανεις?

TestAlarmClock AlarmClock2 = new TestAlarmClock();  <--- Δεν υπάρχει ο default constructor στην κλάση AlarmClock. Σε άλλες γλώσσες όπως στη c# παρέχεται αυτόματα, αν παραλειφθεί.

Από 'κει και πέρα...

1. Βγάλε το abstract στην κλάση AlarmClock.   Δε χρειάζεται στην περίπτωσή σου.

2. Οπότε βγάλε και τον constructor TestAlarmClock(String description, ...) στην κλάση TestAlarmClock και άφησε μόνο τη main. Οπότε ό,τι αντικείμενο δημιουργείς (δύο θες εσύ) θα είναι τύπου AlarmClock (άρα μετονομασία του TestAlarmClock σε AlarmClock)

3. Κάθε δεδομένο που διαβάζεις από τον χρήστη, να ενημερώνεις με prints (π.χ. Δώσε ώρα, δώσε εκείνο, δώσε το άλλο κ.τ.λ.). Καλό (εννοώ απαραίτητο) επίσης είναι να κάνεις ελέγχους (τι έδωσε ο χρήστης). 

Σου προτείνω (όχι μόνο σε εσένα) να αφήσεις τα youtubes και να διαβάσεις από 'δω με τη σειρά: https://docs.oracle.com/javase/tutorial/java/index.html  

Αφορά παλιότερες εκδόσεις, αλλά θα σε καλύψουν.

  • Thanks 1
Δημοσ. (επεξεργασμένο)

Επίσης να προσθέσω σε αυτά που είπε ο Μάριος, πως αν μια κλάση στην Java έχει υλοποίηση ενός constructor με παραμέτρους θα πρέπει να γίνει υλοποίηση και ενος constructor χώρις παραμέτρους αν θες να δημιουργείς αντικείμενα της κλάσης με προεπιλεγμένες τιμές για τις μεταβλητές της κλάσης. 

Αν δεν υπήρχε κανένας constructor τότε η JVM  θα έκανε κλίση του default constructor που θα είχε σαν συνέπεια να θέτει μια προεπιλεγμένη τιμή σε κάθε μεταβλητή της κλάσης σου. Συγκεκριμένα για κλάσεις είναι null ( π.χ. String) για boolean false  και για τους παρακάτω τύπους (int, short, byte, char, long, float, double) την τιμή 0.

Επεξ/σία από 3c0r1z
  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...