Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Σχετικά έγγραφα
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

ΕΡΓΑΣΤΗΡΙΟ 16. Χρησιμοποιώντας τον Αποσφαλματιστή (Debugger) του Eclipse

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07

Γενικά (για τις γραπτές εξετάσεις)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors

3 Αλληλεπίδραση Αντικειμένων

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

Αντικειµενοστραφής Προγραµµατισµός

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

9:00-10:00 π.μ. (60 λεπτά) Παρασκευή, 14 Οκτωβρίου, 2016

Προγραμματισμός 2 Σημειώσεις εργαστηρίου

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές

Καλές επιτυχίες παιδιά στα υπόλοιπα μαθήματά σας και καλές γιορτές!!!!

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Αντικειμενοστρεφής Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

Δοκιμή και Αποσφαλμάτωση Testing and Debugging

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

Εργαστήριο 1-1 η Άσκηση - Ανάλυση

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

2.1 Αντικειµενοστρεφής προγραµµατισµός

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Μεταβλητές (Variables)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια

Mεταβλητές (variables) και Σταθερές (constants)

Αρχιτεκτονική Υπολογιστών Εργαστήριο

Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, :00-10:00 π.μ.

Αντικειμενοστρεφής Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ ΕΡΓΑΣΤΗΡΙΟ 2

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

Αντικειµενοστρεφής Προγραµµατισµός

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Αντικείμενα ως ορίσματα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες.

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι String Interning

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 4/3/2008

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES

ΗΥ101: Εισαγωγή στην Πληροφορική

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07

CSD Univ. of Crete Φθινόπωρο Άσκηση 1 Εκφώνηση

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Μέθοδοι που επιστρέφουν αντικείμενα Deep and Shallow Copies

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Έλεγχος ισότητας String Interning Αποαναφοροποίηση - dereferencing

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου

ΕΡΓΑΣΤΗΡΙΟ 8: Πολυδιάστατοι Πίνακες και Δυναμική Δέσμευση Μνήμης

ΑΣΚΗΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟΥ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Transcript:

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές τύπων, δημιουργία τυχαίων αριθμών, λήψη εισόδου από χρήστη Γαβαλάς Δαμιανός dgavalas@aegean.gr Λογικά λάθη public class ShowLogicErrors { /* Είναι ένας αριθμός μεταξύ 1 και 100; (συμπεριλαμβανομένων αυτών) */ public static void main(string[] args) { // Ζήτησε από το χρήστη να δώσει ένα αριθμό String input = JOptionPane.showInputDialog(null, "Δώσε έναν ακέραιο:", "ShowLogicErrors", JOptionPane.QUESTION_MESSAGE); int number = Integer.parseInt(input); } // Εμφάνισε το αποτέλεσμα System.out.println("Ο αριθμός είναι μεταξύ 1 και 100, συμπεριλαμβανομένων αυτών;" + ((1 < number) && (number < 100))); System.exit(0); } 1

Αποσφαλμάτωση (Debugging) Τα λογικά σφάλματα ονομάζονται bugs. Η διαδικασία εντοπισμού και διόρθωσης σφαλμάτων ονομάζεται αποσφαλμάτωση (debugging). Μία κοινή πρακτική για debugging db είναι να στενέψεις (επικεντρώσεις την προσοχή σου) την περιοχή του κώδικα όπου βρίσκεται το bug. Μπορείς να: κλείσεις σε σχόλια (να απενεργοποιήσεις) μέρη κώδικα ώστε να εκτελείται ένα μικρότερο μέρος του κώδικα να εκτυπώνεις μηνύματα εμφανίζοντας τις τιμές κάποιων μεταβλητών ή απλά για να παρακολουθείς τη ροή εκτέλεσης του προγράμματος Αυτό μπορεί να δουλέψει για μικρά, απλά προγράμματα. Σε πολύπλοκα προγράμματα είναι απαραίτητη η χρήση ειδικών προγραμμάτων αποσφαλμάτωσης (debuggers) Αποσφαλματωτής (Debugger) Ο debugger είναι ένα πρόγραμμα που διευκολύνει την αποσφαλμάτωση. Μπορείτε να χρησμοποιήσετε τον debugger ώστε να: Εκτελείται μία δήλωση σε κάθε βήμα Να παρακολουθείτε την εκτέλεση των δηλώσεων μίας μεθόδου μία προς μία ή να εκτελείτε τη μέθοδο σε ένα μόνο βήμα Να θέσετε σημεία του κώδικα στα οποία να «παγώνει» η εκτέλεσή του (breakpoints) Να εμφανίζετε τις τιμές μεταβλητών (watch) Να εμφανίζετε τη στοίβα κλήσεων (call stack) Να τροποποιείτε τις τιμές μεταβλητών 2

Παράδειγμα αποσφαλμάτωσης Προσθέστε στο project σας την κλάση DebuggerClass η οποία πρέπει να γίνει η κύρια κλάση του project (επιλέξτε Set Configuration > Customize) Παράδειγμα αποσφαλμάτωσης Επιλέξτε Browse > DebuggerClass 3

Παράδειγμα αποσφαλμάτωσης Επιλέξτε Browse, την DebuggerClass και το πλήκτρο Select Main Class Παράδειγμα αποσφαλμάτωσης 1. Εκτελέστε το πρόγραμμα βήμα προς βήμα Πατώντας το πλήκτρο F7 θα παρακολουθήσετε και τις κλήσεις σε μεθόδους (είτε ορισμένες από εσάς είτε μεθόδους «έτοιμων» κλάσεων της Java Πατώντας το πλήκτρο F8 οι μέθοδοι εκτελούνται σε ένα μόνο βήμα 2. Επαναλάβατε το debugging, αλλά γεια να επιταχύνετε την εκτέλεση του κώδικα,ορίστε 2 breakpoints (κάνοντας κλικ πάνω στον αριθμό της γραμμής κώδικα) Μετά το ορισμό των breakpoints, πατήστε Control F5 για να ξεκινήσει το debugging (η εκτέλεση θα φτάσει μέχρι το πρώτο breakpoint) και F5 για να συνεχίστε μέχρι το επόμενο breakpoint 3. Επαναλάβατε το debugging αλλά προσθέστε ένα watch για να παρακολουθήσετε την τιμή της μεταβλητής square. 4

Ορισμός Breakpoints Ένα breakpoint ορίζει μία παύση σε μια συγκεκριμένη γραμμή κώδικα. Ο debugger εκτελεί κάθε γραμμή κώδικα μέχρι να συναντήσει ένα breakpoint Με τη χρήση breakpoints, μπορείτε να αποφύγετε τη βήμαπρος βήμα εκτέλεση τμημάτων κώδικα που ξέρετε ότι δουλεύουν σωστά και να επικεντρώσετε στα τμήματα που δημιουργούν πρόβλημα Ενεργοποιείτε/απενεργοποιείτε breakpoints κάνοντας κλικ πάνω στον αριθμό της γραμμής κώδικα Variables\Watches View Επιλέγοντας το φύλλο (tabs) Variables μπορώ να παρακολουθήσω τις τιμές που παίρνουν όλες οι μεταβλητές του προγράμματος Εφόσον με ενδιαφέρει η τιμή μιας συγκεκριμένης μεταβλητής (π.χ. i) ή μιας έκφρασης (π.χ. i+ i/5) μπορώ να προσθέσω ένα watch (Debug > New watch) και να παρακολουθήσω την τιμή του από το Watches tab. 5

Άσκηση #1 Χρησιμοποιήστε τον debugger του NetBeans για να βρείτε το λογικό σφάλμα του προγράμματος DebuggerClass.java Τρέξτε το πρόγραμμα βήμα βήμα και παρακολουθήστε τις τιμές που παίρνουν οι μεταβλητές του Ορίστε δύο breakpoints και επαναλάβατε Ορίστε ένα watch (την τιμή της square) και επαναλάβατε Άσκηση #2 Γράψτε ένα Java πρόγραμμα που να κάνει τα εξής: 1. Γνωρίζοντας ότι μέσα στην κλάση Float ορίζεται ο μέγιστος και ο ελάχιστος αριθμός τύπου float, να τυπώνει τη μέγιστη και την ελάχιστη τιμή που μπορεί να λάβει ένας αριθμός τύπου float. 2. Μετατρέψτε τον 234.567 (α) σε απλό ακέραιο int, (β) τον ακέραιο σε String, (γ) το String σε πραγματικό διπλής ακρίβειας double, (δ) το αποτέλεσμα σε αντικείμενο Double. Σε κάθε βήμα να τυπώνετε τα αποτελέσματα. Παρατηρείτε καμιά αλλαγή; 6

Άσκηση #2 (συνέχεια) 4. Να τυπώνει έναν τυχαίο ακέραιο αριθμό μεταξύ 10 και 20 (συμπεριλαμβανομένων των 10 και 20). Υπόδειξη: η κλήση Math.random() επιστρέφει έναν double μεταξύ 0 και 1 Εναλλακτικά, οι παρακάτω δηλώσεις επιστρέφουν τελικά έναν ακέραιο n από 0 έως και 99. Random r = new Random(); int n = r.nextint(100); 5. Να τυπώνει τους αριθμούς από το 1 μέχρι το 100 με βήμα 5. 6. Να τυπώνει τους αριθμούς από το 100 μέχρι το 0 (με βήμα 10) εκτός του 20. Άσκηση #3 Γράψτε ένα Java πρόγραμμα που να παράγει δύο τυχαίους μονοψήφιους ακεραίους number1 και number2 όπου number1 > number2 και εμφανίζει μια ερώτηση σαν Πόσο κάνει 9 2; σε ένα μαθητή Αφού ο μαθητής συμπληρώσει την απάντησή του στο input πλαίσιο διαλόγου, το πρόγραμμα εμφανίζει ένα message dialog box για να δείξει αν η απάντηση ήταν σωστή (αν όχι, θα πρέπει να δοθεί η σωστή απάντηση). Η διαδικασία αυτή θα επαναλαμβάνεται 10 φορές (τεστ 10 ερωτήσεων) στο τέλος θα βαθμολογείται ο μαθητής (π.χ. «άριστα» με πάνω από 8 σωστές απαντήσεις, «πολύ καλά» για 6 8 σωστές απαντήσεις, «καλά» για 4 5 σωστές απαντήσεις, «όχι καλά» για 0 3 σωστές απαντήσεις. 7