Sunday, 15 February 2015

Length of a right Triangle (Java Eclipse): User input chart -


  आयात करें java.util.Scanner; सार्वजनिक वर्ग त्रिभुज चालक {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {System.out.println ("कृपया एन का मान दर्ज करें"); स्कैनर स्कैन = नया स्कैनर (System.in); Int num = scan.nextInt (); के लिए (इंट आई = 1; आई & lt; = num; i ++) {System.out.printf ("% d \ t", i); } System.out.println (""); System.out.println ("--------"); के लिए (इंट I = 0; i & lt; num; i ++) {System.out.print ((i + 1) + ""); के लिए (इंट जे = 1; जे एंड एलटी; = num; j ++) {System.out.printf ("% 7.2f", मठ.sqrt (i * i + j * j)); } System.out.println (); }}}  

यह अन्य लोगों के लिए उपयोगी हो सकता है जो कोडिंग के लिए नए हैं। मुझे इस पर हालांकि मदद की ज़रूरत है। जब आप किसी संख्या को इनपुट करते हैं, तो 8 कहते हैं,

-आप ठीक तरह से स्थानित नहीं है

- डेटा की पहली वास्तविक पंक्ति में 1.00, 2.00, 3.00 शामिल नहीं होना चाहिए

- व्यक्तिगत पसंद: मैं ---- संख्याओं के बाद शीर्ष पर और ---- को शामिल करना चाहूंगा J संख्या के लिए तरफ

आप लोग क्या सोचते हैं?

यह आपके कोड को कैसे दिखना चाहिए के करीब है

  सार्वजनिक वर्ग TriangleDriver {निजी स्थिर अंतिम स्ट्रिंग REQUEST =" कृपया N का मान दर्ज करें "; निजी स्थिर अंतिम स्ट्रिंग SPACER3 = ""; निजी स्थिर अंतिम स्ट्रिंग SPACER4 = ""; निजी स्थिर अंतिम स्ट्रिंग DIVIDER = "----"; निजी स्थिर अंतिम स्ट्रिंग FORMAT_ONE = "% d"; निजी स्थिर अंतिम स्ट्रिंग FORMAT_FIRST_ROW = "% 7.0f"; निजी स्थिर अंतिम स्ट्रिंग FORMAT_ADDITIONAL_ROWS = "% 7.2f"; निजी स्थिर अंतिम अंत HEADER_LINES = 2; सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] args) {int num = getIntInput (अनुरोध); स्ट्रिंगबिल्डर [] परिणाम = समाधान (संख्या); printSBArray (परिणाम); } स्थिर निजी int getIntInput (स्ट्रिंग अनुरोध) {System.out.print (अनुरोध); नया स्कैनर (System.in) वापस करें .nextInt (); } स्थिर निजी शून्य प्रिंट एसबीआरआरए (स्ट्रिंगबिइल्डर [] एसएबीएरे) {के लिए (स्ट्रिंगबिइल्डर एसबी: एसबीएरे) सिस्टम। आउट.प्रिंटएलएन (एसबी.स्टोस्टिंग ()); } स्थिर निजी स्ट्रिंगबिल्डर [] समाधान (इंट्यूम) {स्ट्रिंगबइल्डर आउटपुट [] = नया स्ट्रिंगबिल्डर [NUM + HEADER_LINES]; के लिए (इंट आई = 0; आई & lt; आउटपुट.लांबी; आई ++) आउटपुट [i] = नया स्ट्रिंगबिल्डर (""); // बिल्ड लाइन 0 आउटपुट [0] .append (SPACER4 + SPACER4); के लिए (इंट आई = 1; आई & lt; = num; i ++) {आउटपुट [0] .एपेंड (स्ट्रिंग.फोर्मेट (FORMAT_ONE, i)); } // बिल्ड लाइन 1 आउटपुट [1] .append (DIVIDER + SPACER4); के लिए (इंट आई = 0; आई & lt; num; i ++) आउटपुट [1] .append (स्ट्रिंग। प्रारूप (DIVIDER + SPACER3)); // बिल्ड लाइन 2 इंट I = 0; आउटपुट [2] .append ((I + 1) + SPACER4); के लिए (इंट जे = 1; जे एंड एलटी; = num; जे ++) {आउटपुट [2] .एपेंड (स्ट्रिंग.फोर्मेट (FORMAT_FIRST_ROW, मठ एसक्यूआरटी (i * i + j * j))); } // बिल्ड लाइन 3+ के लिए (i = 1; i & lt; num; i ++) {आउटपुट [i + 2] .append ((i + 1) + SPACER4); के लिए (इंट जे = 1; जम्मू और एलटी; = num; j ++) {आउटपुट [i + 2] .एपेंड (स्ट्रिंग.फोर्मेट (FORMAT_ADDITIONAL_ROWS, मठ.sqrt (i * i + j * j))); }} वापसी आउटपुट; }}  

यह कार्यक्षमता का अच्छा जुदाई देता है, तर्क कोड से बाहर रहती है, और केवल आवश्यक कॉल के लिए मुख्य को कम करता है। परिणाम बनाने के लिए स्ट्रिंगबइल्डर का भी उपयोग किया जाता है यह आपको कार्यक्षमता को अलग रखने के लिए अनुमति देता है कोड को एक काम करना चाहिए, अर्थात् परिणामों की गणना करें, लेकिन उन्हें प्रिंट न करें। तकनीकी तौर पर, इसे अपने वर्ग में अलग होना चाहिए था।

एक तरफ ध्यान दें, मैं इसे आपके होमवर्क के रूप में नहीं बदलूंगा, आपका शिक्षक थोड़ा संदिग्ध हो सकता है


No comments:

Post a Comment