This shows you the differences between two versions of the page.
| Next revision Both sides next revision | |||
|
java:interface_as_data_type [2017/02/16 14:30] gthanos created |
java:interface_as_data_type [2017/03/31 13:26] gthanos |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Το interface ως τύπος δεδομένων ====== | ====== Το interface ως τύπος δεδομένων ====== | ||
| - | Ας υποθέσουμε τώρα ότι θέλουμε να χρησιμοποιήσουμε μία στοίβα για να αντιμεταθέσουμε τα στοιχεία ενός πίνακα χαρακτήρων. Ο πίνακας αρχικά περιέχει την αγγλική αλφαβήτα (26 χαρακτήρες) και θέλουμε να αντιστρέψουμε την σειρά με την οποία αποθηκεύονται οι χαρακτήρες στον πίνακα. Η μέθοδος invertArray παρακάτω αντιμεταθέτει τα στοιχεία του πίνακα array με χρήση της στοίβας stk. | + | Ας υποθέσουμε τώρα ότι θέλουμε να αρχικοποιήσουμε ένα αντικείμενο τύπου //Timer// και περιοδικά να ελέγχουμε εάν ο //timer// έχει λήξει ή όχι. Δείτε το παρακάτω πρόγραμμα το οποίο ελέγχει εάν ο Timer έχει λήξει ή όχι. |
| - | <code java ArrayManipulator.java> | + | <code java SleepOnTimer.java> |
| - | public class ArrayManipulator { | + | class SleepOnTimer { |
| public static void main(String []args) { | public static void main(String []args) { | ||
| - | Character alphabet[] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; | + | //Timer timer = new SimpleTimer(); |
| - | printCharacterArray(alphabet); | + | Timer timer = new StartStopTimer(); |
| - | System.out.println("-----------"); | + | System.out.println(new Date()); |
| - | + | sleepOnTimer(timer, 5); | |
| - | Stack stack = new ArrayStack(); | + | System.out.println(new Date()); |
| - | invertArray(alphabet, stack); | + | |
| - | | + | |
| - | printCharacterArray(alphabet); | + | |
| } | } | ||
| - | | + | public static void sleepOnTimer(Timer t, int sleepSeconds) { |
| - | public static void invertArray(Object []array, Stack stk) { | + | try { |
| - | for(int i=0; i<array.length; i++) | + | t.setTimer(sleepSeconds); |
| - | stk.push(array[i]); | + | t.startTimer(); |
| - | for(int i=0; i<array.length; i++) | + | while(!t.hasExpired()) { |
| - | array[i] = stk.pop(); | + | Thread.sleep(sleepSeconds * 1000 / 10); |
| - | } | + | } |
| - | + | } | |
| - | public static void printCharacterArray(Character []array) { | + | catch(Exception ex) { |
| - | for(Character c : array) | + | ex.printStackTrace(); |
| - | System.out.print(c+" "); | + | } |
| - | System.out.println(""); | + | |
| } | } | ||
| } | } | ||