2009-08-31 5 views
12

मैं System.out.print(ln/f) का उपयोग इस तरीके से कैसे कर सकता हूं जिससे मुझे अपने आउटपुट को तालिका में प्रारूपित करने की अनुमति मिल सके?जावा प्रिंटल प्रारूपण इसलिए मैं एक टेबल प्रदर्शित कर सकता हूं?

यदि मैं printf का उपयोग करना चाहता हूं, तो नीचे दिए गए परिणामों को प्राप्त करने के लिए मुझे किस प्रारूपण को निर्दिष्ट करना चाहिए?

उदाहरण तालिका मैं चाहता मुद्रित करने के लिए:

n  result1  result2  time1  time2  
----------------------------------------------------- 
5  1000.00  20000.0  1000ms  1250ms 
5  1000.00  20000.0  1000ms  1250ms 
5  1000.00  20000.0  1000ms  1250ms 

सब कुछ के साथ अच्छा खड़े और सुंदर?

+5

मैं होमवर्क नहीं कर रहा हूं और मुझे यह प्रश्न उपयोगी पाया – anxiety

उत्तर

23

हाँ, जावा 5 के बाद से, System.out के लिए इस्तेमाल किया PrintStream वर्ग, printf विधि है जिससे कि आप उपयोग कर सकते हैं string formatting.


अद्यतन:

वास्तविक स्वरूपण आदेशों डेटा पर निर्भर करती है आप प्रिंटिंग कर रहे हैं, सटीक दूरी, आदि। यहां कई संभावित उदाहरणों में से एक है:

System.out.printf("%1s %-7s %-7s %-6s %-6s%n", "n", "result1", "result2", "time1", "time2"); 
System.out.printf("%1d %7.2f %7.1f %4dms %4dms%n", 5, 1000F, 20000F, 1000, 1250); 
System.out.printf("%1d %7.2f %7.1f %4dms %4dms%n", 6, 300F, 700F, 200, 950); 
+1

टेबल शीर्षक बनाने के लिए मैं printf में क्या डालूं? –

+0

आप इसे लिखना चाहते हैं क्योंकि आप इसे देखना चाहते हैं। printf() एक टेबल निर्माता नहीं है। – Esko

3

आप println("\t") कर सकते हैं जो एक टैब प्रिंट करता है, यह सब कुछ आसानी से संरेखित करेगा।

+4

यदि मानों की अलग-अलग लंबाई नहीं है। –

+0

जबकि '\ t' सही नहीं है, कई टर्मिनल टैब को वेरिएबल-स्पेस तत्व के रूप में प्रारूपित करेंगे, जिससे आप कॉलम में समान डेटा को आसानी से संरेखित कर सकते हैं। इससे भी बेहतर, एक्सेल जैसे स्प्रैडशीट प्रोग्राम्स आसानी से टैब से अलग डेटा (टीएसवी) का विश्लेषण कर सकते हैं - व्यक्तिगत रूप से, मुझे लगता है कि अधिक आम अल्पविराम से अलग (सीएसवी) की तुलना में प्रारूप को अधिक पठनीय और आसान काम करना आसान लगता है। – dimo414

संबंधित मुद्दे