• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

A

acharal

@acharal
administrators
About
Posts
128
Topics
1
Groups
1
Followers
2
Following
0

Posts

Recent Best Controversial

    ΠΡΟΒΛΗΜΑ ΜΕ ΤΗΝ COUNTDOWN
  • A acharal

    Για κοίτα εδώ: http://mybb.ditapps.hua.gr/post/280.

    Θα πρέπει να πεις στο pom.xml που να βρει το jar όταν το τρέχεις. Αν δεις το java-maven-skeleton έχει κάποιες επιπλέον πληροφορίες. Κοίτα τα υπογραμμισμένα εδώ: https://gitlab.hua.gr/oop2/java-maven-skeleton/-/blob/master/pom.xml#L83-117.

    • Το πρώτο λέει αντέγραψε όλα τα dependencies sto target/lib
    • και το δεύτερο, βάλε σαν classpath όλα τα jar που βρίσκονται στο target/lib.

  • Ονοματοδοσία εγγράφων
  • A acharal

    Όχι δεν χρειάζεται.

    Γενικά περιμένω το submission να είναι ένα zip ή tar.gz και να έχει την δομή ενός τυπικού project του maven. Δηλαδή να έχει ένα pom.xml και ένα φάκελο src. Τα υπόλοιπα έγγραφα μπορείτε να τα ονομάσετε όπως θέλετε αλλά είναι πολύ συνηθισμένο ένα από αυτά να είναι αρχείο κειμένου και να λέγετε README που είναι και το αρχείο που περιέχει τις βασικές πληροφορίες.


  • Εργασία 2024-2025 "Βοηθός Μάγειρας": Αλλαγή γραμμής και προτάσεις
  • A acharal

    Ένα βήμα για την συνταγή είναι συνεχόμενοι χαρακτήρες μέχρι να βρεθούν δύο συνεχόμενα \n\n. Με άλλα λόγια, η αλλαγή από το ένα βήμα στο άλλο γίνεται με κενές γραμμές. Μέσα στο βήμα περιέχεται free text, δηλαδή μπορείς να έχεις και τελείες αλλά δεν είναι ξεχωριστό βήμα.


  • Εκπτυπωση Γεγονοτων
  • A acharal

    Αυτό μπορείς να το κάνεις απευθείας με την LocalDateTime.
    Για παράδειγμα, κοίτα την στατική μέθοδο of (περισσότερα εδώ: https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html)

    LocalDateTime dt = LocalDateTime.of(2023,12,14,20,28);
    

  • Εργασία 2024-2025 "Βοηθός Μάγειρας": "Εμφωλευμένες" σημειωμένες λέξεις
  • A acharal

    Δεν υπάρχουν εμφωλευμένες σημειώσεις.

    Το πρώτο @obj1 obj1 #obj2 obj1 obj1{} σύμφωνα με τους κανόνες διαβάζεται ως:

    • @obj1 σαν υλικό,
    • obj1 κανονική λέξη και
    • #obj2 obj1 obj1{} σαν σκεύος.

    Το δεύτερο

    • @obj1 σαν υλικό,
    • @obj2 obj2{} σαν υλικό
    • obj1{} σαν κανονική (μη σημειωμένη) λέξη

    Το πρώτο μου φαίνεται λογικό να υπάρχει, το δεύτερο είναι "λάθος" και μπορείτε να υποθέσετε ότι γι αυτή την εργασία δεν θα δει το πρόγραμμά σας κείμενο σαν το δεύτερο (δηλαδή με ένα ξεκάρφωτο {}).


  • Menus
  • A acharal

    JComboBox λέγεται το component. Δες παράδειγμα εδώ.

    Για menus όπως είναι στις συνηθισμένες εφαρμογές με File, Edit, View κτλ υπάρχει το JMenuBar και JMenu κτλ που φτιάχνεις το γνωστό menu, υποmenu κτλ.


  • Instantianating Generics
  • A acharal

    Όχι δεν είναι. Θεωρητικά το Τ μπορεί να είναι interface, abstract class, κτλ που δεν μπορούν να κάνουν new.


  • Αναφορές σε κλάσεις (?)
  • A acharal

    Αν αρχίσεις να γράφεις κώδικα που χρησιμοποιεί reflection θα δεις ότι δεν θα ξέρεις τίποτα για καμία κλάση και για να το κάνεις να δουλεύει θα χρειαστεί δυναμικούς ελέγχους (δηλαδή κατά την διάρκεια της εκτέλεσης του προγράμματος) και typecasting για να μπορέσεις τελικά να χρησιμοποιήσεις τα αντικείμενα που κατασκεύασες.

    Αυτό έχει τρία προβλήματα που μπορώ να σκεφτώ αυτή την στιγμή:

    • Η εκτέλεση του κώδικα είναι πιο αργή.
    • Γράφεις επιπλέον ελέγχους που θα μπορούσαν να γίνουν κατά την μεταγλώττιση.
    • Ο κώδικας είναι unsafe, δηλαδή πλέον ο μεταγλωττιστής δεν μπορεί να ελέγξει αν το πρόγραμμα είναι σωστό. Όσα περισσότερα τέτοια χαρακτηριστικά βάλεις στο πρόγραμμά σου τόσο δυσκολότερο είναι να είσαι σίγουρος ότι αυτά που γράφεις θα τρέξουν σωστά. Ένας λόγος που υπάρχουν τύποι σε γλώσσες είναι να πιάσουν τα "εύκολα" λάθη που κάνει ο προγραμματιστής.

  • Libraries
  • A acharal

    Ναι μπορείτε να χρησιμοποιήσετε είτε βιβλιοθήκες της Java είτε και εξωτερικές βιβλιοθήκες.

    Επίσης (στο δεύτερο μέρος) πρέπει να χρησιμοποιήσετε και την βιβλιοθήκη που σας δίνει η εργασία με την Countdown.


  • 2ο μέρος εργασίας
  • A acharal

    Η ίδια είναι η εκφώνηση


  • Εμφάνιση λίστας αγορών και της ίδιας της συνταγής στο GUI
  • A acharal

    Ε μπορείτε να κάνετε κάτι καλύτερο από αυτό: για εμφάνιση λιστών θα πούμε σε επόμενα μαθήματα τα JList και JTable.


  • "Συνένωση" λειτουργιών 1ου και 2ου παραδοτέου
  • A acharal

    Αν είστε μερακλήδες μπορείτε να κρατήσετε και τoυς δύο τρόπους για είσοδο των δεδομένων (terminal ή windows). Αλλά δεν είναι απαραίτητο αν σας δυσκολέψει -- αν τα έχετε οργανώσει καλά δεν θα έπρεπε να είναι μεγάλη δυσκολία.

    Οπότε αν κρατήσετε και τα δύο θα πρέπει να βάλετε ένα επιπλέον option όπως λες. Η λογική συμπεριφορά θα ήταν ως εξής:

    • αν δεν πάρει ορίσματα στο terminal τότε ανοίγει τα windows.
    • αν πάρει ορίσματα στο terminal (πχ. αρχεία) τότε ανοίγει τα windows με φορτωμένα αυτά τα αρχεία.
    • αν πάρει επιπλέον όρισμα στο terminal (συνήθως αυτά τα προγράμματα τα λένε headless) τότε δουλεύει μόνο το terminal χωρίς να ανοίξει windows.

    Με άλλα λόγια όπως τα λες απλώς να είναι default τα windows και με επιλογή χωρίς.


  • "Συνένωση" λειτουργιών 1ου και 2ου παραδοτέου
  • A acharal

    Ναι ο χρήστης θα πρέπει να μπορεί να κάνει όλες τις λειτουργίες μέσω παραθύρων οπότε ότι input χρειάζεται το πρόγραμμα θα πρέπει να το ζητάει.


  • Εμφάνιση λίστας αγορών και της ίδιας της συνταγής στο GUI
  • A acharal

    όπως και στο πρώτο μέρος


  • Για την βιβλιοθήκη Countdown
  • A acharal

    Αν έτρεχε από το IDE αλλά όχι από την κονσόλα τότε πρέπει πάλι να αλλάξετε το configuration του pom.xml.

    • Κοιτάχτε το pom.xml του java-maven-skeleton. Περιέχει κάποιες επιπλέον εντολές για να αντιγράφει όλες τις βιβλιοθήκες στο target/lib.
    • Επίσης δείτε και το τελευταίο εργαστήριο (αν θυμάμαι καλά) που το συζητάμε.
  • Login

Powered by NodeBB Contributors
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups