This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
java:formatting [2015/03/10 12:54] gthanos [Οι print και println Μέθοδοι] |
java:formatting [2016/02/26 11:15] (current) |
||
---|---|---|---|
Line 31: | Line 31: | ||
</code> | </code> | ||
- | Αυτή είναι η έξοδος της Root: | + | Παρακάτω δίνεται το αποτέλεσμα της εκτέλεσης της κλάσης Root: |
<code java> | <code java> | ||
Line 40: | Line 40: | ||
==== Η Μέθοδος format ==== | ==== Η Μέθοδος format ==== | ||
- | Η μέθοδος //format// μορφοποιεί πολλαπλά στοιχεία που βασίζονται σε ενα //string// μορφής. Το string μορφής αποτελείται από //static// κείμενο με ενσωματωμένα προσδιοριστικά μορφής. Εκτός των προσδιοριστικών μορφής, το string μορφής είναι αμετάβλητο της εξόδου. | + | Η μέθοδος //format// μορφοποιεί πολλαπλά στοιχεία που βασίζονται σε ενα //String// μορφοποίησης. Το String μορφoποίησης είναι ένα String που περιέχει προσδιοριστές μορφοποίησης. Το παράδειγμα //Root2// μορφοποιεί δύο τιμές με μία μόνο κλήση της //format//: |
- | + | ||
- | Τα //strings// μορφής υποστηρίζουν πολλές δυνατότητες. Εδώ, θα καλύψουμε μόνο κάποια βασικά. | + | |
- | + | ||
- | Το παράδειγμα //Root2// μορφοποιεί δύο τιμές με μία μόνο κλήση της //format//: | + | |
<code java Root2.java> | <code java Root2.java> | ||
Line 57: | Line 53: | ||
</code> | </code> | ||
- | Αυτή είναι η έξοδος: | + | H έξοδος της κλάσης Root2 δίνεται παρακάτω |
<code java> | <code java> | ||
The square root of 2 is 1.414214. | The square root of 2 is 1.414214. | ||
</code> | </code> | ||
- | Όπως και τα τρία που χρησιμοποιούνται σε αυτό το παράδειγμα, όλα τα προσδιοριστικά μορφής αρχίζουν με ένα % και τελειώνουν με μια μετατροπή 1- ή 2- χαρακτήρων που καθορίζει το είδος της μορφοποιημένης εξόδου που παράγεται. Οι τρεις μετατροπές που χρησιμοποιήθηκαν εδώ είναι: | + | Όλα οι προσδιοριστές μορφοποίησης αρχίζουν με τον χαρακτήρα '%' και ακολουθούν 1 ή 2 χαρακτήρες που καθορίζει το είδος της μορφοποιημένης εξόδου που παράγεται. Παρακάτω δίνονται μερικές από τις πιο συνήθεις μετατροπές: |
- | * το d μορφοποιεί μια τιμή integer ως μια δεκαδική τιμή. | + | * το %d μορφοποιεί μια τιμή integer ως μια δεκαδική τιμή. |
- | * το f μορφοποιεί μια floating point τιμή ως μια δεκαδική τιμή. | + | * το %f μορφοποιεί μια floating point τιμή ως μια δεκαδική τιμή. |
- | * το n εξάγει έναν platform-specific τερματιστή γραμμής . | + | * το %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> | ||
- | * το x μορφοποιεί έναν integer ως μια δεκαεξαδική τιμή. | ||
- | * το s μορφοποιεί κάθε τιμή σε ένα string. | ||
- | * το tB μορφοποιεί έναν integer σε ένα locale-specific όνομα μήνα. | ||
|Προηγούμενο: [[:java:character_streams | Streams Χαρακτήρων]]| Επόμενο: [[:java:class_path | Η κλάση Path ]] | | |Προηγούμενο: [[:java:character_streams | Streams Χαρακτήρων]]| Επόμενο: [[:java:class_path | Η κλάση Path ]] | | ||