java:formatting

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
java:formatting [2017/02/07 07:15]
gthanos [Η Μέθοδος format]
java:formatting [2021/05/14 15:09]
Line 1: Line 1:
-====== Μορφοποίηση Εξόδου ====== 
- 
-**Σημείωση:** Τα μόνα //PrintStream// αντικείμενα που είναι πιθανό να χρειαστείτε είναι τα //System.out// και //System.err//. Όταν χρειάζεται να δημιουργήσετε ένα διαμορφωμένο stream εξόδου, χρησιμοποιήστε //PrintWriter//, και όχι //PrintStream// 
- 
-Όπως όλα τα αντικείμενα streams byte και χαρακτήρων, περιπτώσεις //PrintStream// και //PrintWriter// εφαρμόζουν ένα τυποποιημένο σύνολο μεθόδων εγγραφής για απλή έξοδο byte και χαρακτήρα. Επιπλέον, τόσο η //PrintStream// όσο και η //PrintWriter// εφαρμόζουν το ίδιο σύνολο μεθόδων για τη μετατροπή των εσωτερικών δεδομένων σε μορφοποιημένη έξοδο. Δύο δυνατότητες μορφοποίησης παρέχονται: 
- 
-  * To //print// και //println// μορφοποιεί μεμονωμένες τιμές σε έναν τυποποιημένο τρόπο. 
-  * Το //format// μορφοποιεί σχεδόν οποιοδήποτε πλήθος τιμών βασισμένο σε ένα string μορφοποίησης ανάλογο με αυτό της printf στην γλώσσα C. 
- 
-==== Οι print και println Μέθοδοι ==== 
- 
-Η κλήση των //print// ή //println// λαμβάνει ως όρισμα ένα String. Εάν υπάρχουν ορίσματα στις δύο αυτές μεθόδους που δεν είναι του τύπου String, τότε καλείται η μέθοδος ''toString()'', προκειμένου να μετατραπούν τα ορίσματα σε String. Μπορείτε να δείτε το παρακάτω παράδειγμα: 
- 
-<code java Root.java> 
-public class Root { 
-    public static void main(String[] args) { 
-        int i = 2; 
-        double r = Math.sqrt(i); 
-         
-        System.out.print("The square root of "); 
-        System.out.print(i); 
-        System.out.print(" is "); 
-        System.out.print(r); 
-        System.out.println("."); 
- 
-        i = 5; 
-        r = Math.sqrt(i); 
-        System.out.println("The square root of " + i + " is " + r + "."); 
-    } 
-} 
-</code> 
- 
-Παρακάτω δίνεται το αποτέλεσμα της εκτέλεσης της κλάσης Root: 
- 
-<code java> 
-The square root of 2 is 1.4142135623730951. 
-The square root of 5 is 2.23606797749979. 
-</code> 
- 
-==== Η Μέθοδος format ==== 
- 
-Η μέθοδος //format// μορφοποιεί πολλαπλά στοιχεία που βασίζονται σε ενα //String// μορφοποίησης. Το String μορφoποίησης είναι ένα String που περιέχει προσδιοριστές μορφοποίησης. Το παράδειγμα //Root2// μορφοποιεί δύο τιμές με μία μόνο κλήση της //format//: 
- 
-<code java Root2.java> 
-public class Root2 { 
-    public static void main(String[] args) { 
-        int i = 2; 
-        double r = Math.sqrt(i); 
-         
-        System.out.format("The square root of %d is %f.%n", i, r); 
-    } 
-} 
-</code> 
- 
-H έξοδος της κλάσης Root2 δίνεται παρακάτω 
-<code java> 
-The square root of 2 is 1.414214. 
-</code> 
- 
-Όλα οι προσδιοριστές μορφοποίησης αρχίζουν με τον χαρακτήρα '%' και ακολουθούν 1 ή 2 χαρακτήρες που καθορίζει το είδος της μορφοποιημένης εξόδου που παράγεται. Παρακάτω δίνονται μερικές από τις πιο συνήθεις μετατροπές: 
- 
-  * το %d μορφοποιεί μια τιμή integer ως μια δεκαδική τιμή. 
-  * το %f μορφοποιεί μια floating point τιμή ως μια δεκαδική τιμή. 
-  * το %n εισάγει έναν platform-specific χαρακτήρα αλλαγής γραμμής. 
-  * το %x μορφοποιεί έναν integer ως μια δεκαεξαδική τιμή.  
-  * το %s μορφοποιεί ένα String. 
- 
-Οι σημαντικότεροι προσδιοριστές μορφοποίησης δίνονται παρακάτω: 
-{{:java:format.png}} 
- 
-Παρακάτω δίνεται δύο παραδείγματα χρήσης των σημαντικότερων προσδιοριστών μορφοποίησης που παρουσιάστηκαν παραπάνω. 
- 
-<code java MyFormat.java> 
-public class MyFormat { 
-    public static void main(String[] args) { 
-        System.out.format("%f, %1$+020.10f %n", Math.PI); 
-    } 
-} 
-</code> 
- 
-<code java TestFormat.java> 
-import java.util.Calendar; 
-import java.util.Locale; 
- 
-public class TestFormat { 
-     
-    public static void main(String[] args) { 
-      long n = 461012; 
-      System.out.format("%d%n", n);      //  -->  "461012" 
-      System.out.format("%08d%n", n);    //  -->  "00461012" 
-      System.out.format("%+8d%n", n);    //  -->  " +461012" 
-      System.out.format("%,8d%n", n);    // -->  " 461,012" 
-      System.out.format("%+,8d%n%n", n); //  -->  "+461,012" 
-       
-      double pi = Math.PI; 
- 
-      System.out.format("%f%n", pi);       // -->  "3.141593" 
-      System.out.format("%.3f%n", pi);     // -->  "3.142" 
-      System.out.format("%10.3f%n", pi);   // -->     3.142" 
-      System.out.format("%-10.3f%n", pi);  // -->  "3.142" 
-      System.out.format(Locale.FRANCE, 
-                        "%-10.4f%n%n", pi); // -->  "3,1416" 
- 
-      Calendar c = Calendar.getInstance(); 
-      System.out.format("%tB %te, %tY%n", c, c, c); // -->  "May 29, 2006" 
- 
-      System.out.format("%tl:%tM %tp%n", c, c, c);  // -->  "2:34 am" 
- 
-      System.out.format("%tD%n", c);    // -->  "05/29/06" 
-    } 
-} 
-</code> 
- 
- 
-|Προηγούμενο: [[:java:character_streams | Streams Χαρακτήρων]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:class_path | Η κλάση Path ]] | 
- 
  
java/formatting.txt · Last modified: 2021/05/14 15:09 (external edit)