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

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

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

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

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

ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α

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

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

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

Μάθημα 1 [3/11/2015].

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

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

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

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

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

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

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

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

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

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

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

Κληρονομικότητα. Κληρονομικότητα (inheritance) είναι ο τρόπος µε τον οποίο μία τάξη μπορεί να κληρονομήσει ιδιότητες και συμπεριφορά από άλλες τάξεις.

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

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

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

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

ΚΛΑΣΕΙΣ ΜΕΘΟΔΟΙ - ΑΝΤΙΚΕΙΜΕΝΑ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κλάσεις. Τροποποιητές, ιασυνδέσεις, Πακέτα. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Copy Constructor Deep and Shallow Copies

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

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

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

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

Η κατασκευή αντικειμένων της κλάσης Student μπορεί να πραγματοποιηθεί είτε στη main είτε σε οποιαδήποτε μέθοδο κλάσης:

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 5: Κατασκευαστές (Constructors)

Κεφάλαιο V : Εργαστηριακές ασκήσεις που αφορούν δηµιουργία κλάσεων στη Java.

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

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

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

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

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

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 8/4/2008. Πίνακες (Arrays)

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ

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

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

Διασυνδέσεις / Διεπαφές. Παναγιώτης Σφέτσος, PhD

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 7 : ΣΥΝΘΕΤΕΣ ΚΛΑΣΕΙΣ ΚΑΙ ΜΕΘΟΔΟΙ

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

Δεδομένα, τελεστές, είσοδος/έξοδος

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

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

Κλάσεις και Αντικείµενα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κλάσεις, Αντικείμενα & Μέθοδοι

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

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

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

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

Transcript:

ΑΣΚΗΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟΥ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΑΣΚΗΣΗ 1 Δημιουργήστε μια κλάση με όνομα Metro που θα παριστάνει τη μονάδα μέτρησης μήκους. 1 μέτρο έχει υποδιαιρέσεις : 1m =10dm =100cm =1000mm. Θα περιέχει ως private μέλη: α) int m για τα μέτρα β) int dm για τα υποδεκάμετρα με τιμές από 0 έως 9 γ) int cm για τα εκατοστά με τιμές από 0 έως 99 και δ) int mm για τα χιλιοστά με τιμές από 0 έως 999. Θα ορίσετε δύο κατασκευαστές: α) ένα δίχως ορίσματα που μηδενίζει τα δεδομένα και β) ένα με ορίσματα τρεις ακεραίους που αρχικοποιούν τα δεδομένα. Θα ορίσετε τρεις μεθόδους: α) public Metro add(metro) που επιστρέφει το άθροισμα τρέχοντος μέτρου με το όρισμά του έτσι ώστε τα dm να βρίσκονται πάντα στο διάστημα [0, 9] και τα cm στο διάστημα [0,99] και mm στο [0, 999], για παράδειγμα 8dm + 5dm = 13dm = (10 + 3)dm άρα 1 m 3dm, το υπόλοιπο της διαίρεσης του αποτελέσματος 13 με το 10, παρόμοια 40cm + 80cm = 120cm = (100 + 20)cm άρα 1 m, 2 dm, β) public Metro subtract(metro) που επιστρέφει τη διαφορά του τρέχοντος μέτρου από το όρισμά του με τρόπο ώστε τα dm να βρίσκονται στο διάστημα [0, 9] τα cm στο [0,99] και τα mm στο [0, 999], οι αρνητικές τιμές οδηγούν σε μηδέν, για παράδειγμα 55cm 45cm = 10cm αλλά 45cm 55cm = -10cm άρα 0cm, και γ) public String tostring() που επιστρέφει ένα String της μορφής dm,cm,mm για τα υποδεκάμετρα (dm), τα εκατοστά(cm) και τα χιλιοστά(mm) αντίστοιχα. ΑΣΚΗΣΗ 2 Δημιουργήστε το project circle με αρχείο Circle. Σκοπός της άσκησης να δημιουργήσετε μια κλάση κύκλων. Θα περιέχει ως private μέλη: α) double x τετμημένη κέντρου β) double y τεταγμένη του κέντρου γ) double pi=3.14 και δ) double radious ακτίνα του κύκλου. Θα ορίσετε δύο κατασκευαστές: α) ένα δίχως ορίσματα και β) ένα με ορίσματα x,y,radious που αρχικοποιούν τα δεδομένα. Θα ορίσετε τις μεθόδους: public double getradius(), public double getx(), public double gety(), double area(), double perimeter(), public void setradius( ), public void setx( ) και public void sety( ). Σημείωση: Εμβαδόν Κύκλου 3,14 *r*r. Περίμετρος κύκου 2 * 3,14 * r

Η κλάση που ελέγχει τον κώδικά σας είναι η //Class: testcircle //Purpose: ελέγχει τον Κύκλο class TestCircle{ public static void main (String args[]){ Circle troxos1 = new Circle(10,5,5); System.out.println("\n"+troxos1.getRadius()+" "+ "+troxos1.gety()); troxos1.getx()+" System.out.println("H perimetros tou troxou einai "+troxos1.perimeter()); System.out.println("To emabadon toy troxou1 einai "+troxos1.area()); } } ΑΣΚΗΣΗ 3 Δημιουργήστε το project ortho με αρχείο Ortho. Σκοπός της άσκησης να δημιουργήσετε μια κλάση Ορθογωνίων παραλληλεπιπέδων. Θα περιέχει ως private μέλη: α) double platos για το πλάτος και double ypsos για το ύψος. Θα ορίσετε δύο κατασκευαστές: α) ένα δίχως ορίσματα και β) ένα με ορίσματα platos,ypsos που αρχικοποιούν τα δεδομένα. Θα ορίσετε τις μεθόδους: public double getplatos, public double getypsos, double area(), double perimeter(), public void setplatos, public void setypsos. και public String tostring() που επιστρέφει ένα String της μορφής platos, ypsos για το πλάτος και το ύψος αντίστοιχα Σημείωση: Εμβαδόν platos, ypsos. Περίμετρος 2 platos + 2* ypsos ΑΣΚΗΣΗ 4 Δημιουργήστε το project reverse με αρχείο Reverse. Σκοπός της άσκησης είναι να εισάγουμε ένα κείμενο από το πληκτρολόγιο και να το εκτυπώνει ανεστραμμένο στη γραμμή εντολών:

public class Reverse{ public static void main(string args[]){ //Γράψτε εδώ τον κώδικά σας... System.out.println(); System.exit(0); }//end main(...)// }//end class// ΑΣΚΗΣΗ 5 Δημιουργήστε το project student με αρχείο Student. Σκοπός της άσκησης να δημιουργήσετε μια κλάση μαθητή που περιέχει τις εξής private ιδιότητες: α) fname, β) sname και γ) am για όνομα, επώνυμο και Αρ. Μητρώου αντίστοιχα. Δημιουργείστε ένα κατασκευαστή δίχως ορίσματα που θα μηδενίζει (ή θα κάνει nullify) τις ιδιότητες, ένα κατασκευαστή με ορίσματα και τις εξής μεθόδους: α) set(string, String, String) ορισμού των ιδιοτήτων, β) inputdata() εισαγωγής στοιχείων από πλαίσιο διαλόγου και γ) printdata() εκτύπωσης στη γραμμή εντολών στην μορφή: First name:, Second name:, Α.Μ. Η κλάση που ελέγχει τον κώδικά σας είναι η public class teststudent{ public static void main(string[] args){ Student x = new Student();

x.inputdata(); x.printdata(); System.out.println(); x = new Student("Kostas", "Georgiou", "T-000"); x.printdata(); System.out.println(); System.exit(0); } }//end class// ΑΣΚΗΣΗ 6 Δημιουργείστε την κλάση course (ιδιότητες : course_name, course_code, vathmos) [ κατασκευαστές, getters, setters, tostring()] Την κλάση student(ιδιότητες : name, AM, Address). Ο φοιτητής μπορεί να είναι προπτυχιακός (bachelor_student ιδιότητες : array από 10 courses) ή μεταπτυχιακός (master_student ιδιότητες: array από 5 courses και τίτλος_διατριβής, Βαθμός_Διατριβής). Υλοποιείστε την calculate_average() η οποία για τους προπτυχιακούς είναι ο μέσος όρος μαθημάτων ενώ για τους μεταπτυχιακούς ο βαθμός της διατριβής μετράει 3 φορές στον μέσο όρο. Η κλάση TestStudent θα πρέπει να δημιουργεί δύο φοιτητές (έναν προπτυχιακό και ένα μεταπτυχιακό) και να βάλετε τουλάχιστον 3 μαθήματα στον καθένα τους. Θα πρέπει επίσης να δείχνετε τα στοιχεία τους και τους μέσους όρους βαθμολογίας τους ΑΣΚΗΣΗ 7 Δημιουργείστε την κλάση όχημα (vehicle) με ιδιότητες: model, year, πινακίδες, μήκος και πλάτος. [ Δημιουργείστε κατασκευαστές, tostring()] Δημιουργείστε την κλάση Ferryboat (ιδιότητες: μήκος και πλάτος πλατφόρμας μεταφοράς οχημάτων και array οχημάτων. Υλοποιείστε κατασκευαστές getters, setters και tostring() για την κλάση αυτή Στην κλάση Ferryboat να υλοποιηθεί η μέθοδος public bool ispossible() η οποία θα υπολογίζει εάν είναι δυνατόν να χωρέσουν τα αυτοκίνητα πάνω στην πλατφόρμα του Ferryboat θεωρώντας ότι κάθε αυτοκίνητο που φορτώνεται χρειάζεται περίπου 2 τετ. μέτρα κενό γύρω του.

Στην κλάση TestFerryBoat θα δημιουργήσετε ένα αντικείμενο τύπου Ferryboat και θα ενσωματώσετε στο array του 30 οχήματα με στοιχεία Model BMW Year 2009 Πίνακίδες : από LAM0001 έως LAM0030 Μήκος : random float στην περιοχή [3.5 5.0] Πλάτος : random float στην περιοχή [1.8 52.3] ΑΣΚΗΣΗ 8 Δημιουργήστε το project row με αρχείο RealRow. Σκοπός της άσκησης να δημιουργήσετε μια κλάση που θα επιτρέπει πράξεις μεταξύ των στοιχείων ενός πίνακα γραμμής τύπου πραγματικών αριθμών. Θα περιέχει ως private μέλη: α) ένα πίνακα γραμμής row τύπου double. Θα ορίσετε δύο κατασκευαστές: α) ένα δίχως ορίσματα για πίνακα μηδενικού μήκους και β) ένα με όρισμα πίνακα πραγματικών αριθμών που αρχικοποιεί το μέλος row. Θα ορίσετε δύο μεθόδους: α) public RealRow add(realrow r) που επιστρέφει ένα νέο πίνακα ο οποίος προκύπτει από την προσθήκη των αντίστοιχων κελιών του πίνακα row με τον πίνακα του ορίσματος. Αν οι πίνακες δεν έχουν τις ίδιες διαστάσεις θα επιστρέφεται ένας πίνακας με μήκος το μέγιστο μεταξύ των δύο και με τιμές από την προσθήκη των αντίστοιχων κελιών ενώ τα υπόλοιπα συμπληρώνονται από τα κελιά του μεγαλύτερου πίνακα, δηλ. {4, -3, 2} + {1, 2} = {5, - 1, 2} και β) public RealRow multiply(double a) που επιστρέφει ένα νέο πίνακα ο οποίος προκύπτει από το γινόμενο κάθε στοιχείου του πίνακα row με την τιμή του ορίσματος, δηλ. 2*{4, -3, 2} = {8, -6, 4}. Η κλάση που ελέγχει τον κώδικά σας είναι η: //Class: testrealrow //Purpose: ελέγχει την RealRow public class testrealrow{ //////////////////// //method main(...)// ////////////////////

public static void main(string args[]){ double[] row1 = {4, 2, -5, 8}; double[] row2 = {2, 0, -1}; RealRow r1 = new RealRow(row1); RealRow r2 = new RealRow(row2); RealRow r = new RealRow(); System.out.println(r); System.out.println(r1); System.out.println(r2); r = r1.add(r2); System.out.println(r); r = r.multiply(2); System.out.println(r); System.exit(0); }//end main(...)// }//end class// Οι τιμές που περιμένουμε είναι: {}, {4.0, 2.0, -5.0, 8.0}, {2.0, 0.0, -1.0}, {6.0, 2.0, -6.0, 8.0}, {12.0, 4.0, -12.0, 16.0}.