This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
|
java:interface_as_data_type [2021/04/17 05:15] |
java:interface_as_data_type [2021/04/17 06:15] gthanos |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Το interface ως τύπος δεδομένων ====== | ||
| + | Ας υποθέσουμε τώρα ότι θέλουμε να χρησιμοποιήσουμε μία στοίβα για να αντιμεταθέσουμε τα στοιχεία ενός πίνακα χαρακτήρων. Ο πίνακας αρχικά περιέχει την αγγλική αλφαβήτα (26 χαρακτήρες) και θέλουμε να αντιστρέψουμε την σειρά με την οποία αποθηκεύονται οι χαρακτήρες στον πίνακα. Η μέθοδος invertArray παρακάτω αντιμεταθέτει τα στοιχεία του πίνακα array με χρήση της στοίβας stk. | ||
| + | |||
| + | <code java ArrayReverse.java> | ||
| + | public class ArrayReverse { | ||
| + | public static void main(String []args) { | ||
| + | Character alphabet[] = {' | ||
| + | printCharacterArray(alphabet); | ||
| + | System.out.println(" | ||
| + | | ||
| + | Stack stack = new ArrayStack(); | ||
| + | invertArray(alphabet, | ||
| + | | ||
| + | printCharacterArray(alphabet); | ||
| + | } | ||
| + | | ||
| + | public static void invertArray(Object []array, Stack stk) { | ||
| + | for(int i=0; i< | ||
| + | stk.push(array[i]); | ||
| + | for(int i=0; i< | ||
| + | array[i] = stk.pop(); | ||
| + | } | ||
| + | | ||
| + | public static void printCharacterArray(Character []array) { | ||
| + | for(Character c : array) | ||
| + | System.out.print(c+" | ||
| + | System.out.println("" | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <WRAP important 80% center round> | ||
| + | Παρατηρήστε ότι η μέθοδος // | ||
| + | </ | ||
| + | |||
| + | <WRAP todo 80% center round> | ||
| + | Στο παραπάνω πρόγραμμα, | ||
| + | <code java> | ||
| + | Stack stack = new ArrayStack(); | ||
| + | </ | ||
| + | σε | ||
| + | <code java> | ||
| + | Stack stack = new LinkedStack(); | ||
| + | </ | ||
| + | |||
| + | Παρατηρήστε αν σας βγάζει κάποιο μήνυμα ο // | ||
| + | </ | ||
| + | |||
| + | | Προηγούμενο : [[ : | ||