Java Integrated Application about Loops and Arrays -
सवाल निम्न के जैसा है:
< पी> निम के गेम में, दो खिलाड़ी वैकल्पिक रूप से एक ढेर से पत्थर लेते हैं। प्रत्येक चाल में, एक खिलाड़ी चुनता है कि कितने पत्थर लेने होंगे। खिलाड़ी को कम से कम एक लेना चाहिए, लेकिन संगमरमर के आधे हिस्से में होना चाहिए फिर दूसरा खिलाड़ी एक मोड़ लेता है आखिरी संगमरमर को खोने वाला पैलेयर खो देता हैएक प्रोग्राम लिखें जिसमें दो खिलाड़ी एक दूसरे के खिलाफ खेलते हैं यह कार्यक्रम पहले खिलाड़ियों को पत्थर के ढेर के प्रारंभिक आकार (सीमा: 10 ~ 100 सहित) को इनपुट करने के लिए प्रेरित करता है। फिर, दो खिलाड़ियों को लेने के लिए पत्थर की संख्या इनपुट करने के लिए बदल जाता है। कार्यक्रम प्रत्येक मोड़ के बाद छोड़ दिया पत्थरों की संख्या को प्रिंट करना चाहिए खेल बंद हो जाता है जब एक संगमरमर को ढेर में छोड़ दिया जाता है। जीतने वाला संदेश मुद्रित होना चाहिए यह दर्शाता है कि खेल समाप्त होने के बाद विजेता कौन है आप मान सकते हैं कि खिलाड़ियों को हमेशा एक संख्या सही श्रेणी में इनपुट करता है। कार्यक्रम खत्म करने के बाद, आप वास्तव में अपने पड़ोसी के साथ इस खेल को खेल सकते थे।
नमूना इस तरह से है:
<प्री> आरंभिक नहीं। पत्थर का [10 ~ 100]: 15 प्लेयर 1 [1 ~ 7]: 6 शेष नहीं संगमरमर का: 9 प्लेयर 2 [1 ~ 4]: 4 शेष नहीं संगमरमर का: 5 प्लेयर 1 [1 ~ 2]: 2 शेष नहीं संगमरमर का: 3 प्लेयर 2 [1 ~ 1]: 1 शेष नहीं संगमरमर का: 2 प्लेयर 1 [1 ~ 1]: 1 शेष नहीं पत्थर का: 1 खिलाड़ी 2 अंतिम संगमरमर लेता है Player1 जीतता है!
यहां मेरा निजी प्रयास है (अधूरा):
import java.util .Scanner; सार्वजनिक वर्ग WhoTakesTheLastMarble {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {स्कैनर = नए स्कैनर (System.in); System.out.print ("पत्थरों की इष्टतम संख्या [10 ~ 100]:"); Int n1 = in.nextInt (); Int [] एक्स = नया इंट [91]; के लिए (इंट आई = 10; आई & lt; = 100; i ++) {x [i] = इन.एनएक्सआईटी (); } System.out.print ("Plyaer1 [1 ~" + (n1 / 2) + "]:"); Int n2 = in.nextInt (); System.out.println ("संगमरमर की शेष संख्या:" + (एन 1-एन 2)); Int n3 = in.nextInt (); System.out.print ("प्लेयर 2 [1 ~" + (एन 3/2) + "]:"); Int n4 = in.nextInt (); System.out.println ("पत्थर की शेष संख्या:" + (एन 3-एन 4)); }}
जिस समस्या का मुझे सामना करना पड़ रहा है, वह है- फॉर-लूप / टू-लूप को पूरी चीज़ में कैसे लागू करें ताकि वे (संगमरमर की संख्या शेष: 1) ?
क्या कोई मुझे इस समस्या से निपटने में सहायता करने के लिए पांच से दस मिनट का समय खर्च कर सकता है और मुझे अपना रास्ता सिखाना इस समस्या को सुलझाने? बहुत धन्यवाद:)
आप जबकि
-loop का उपयोग कर सकते हैं यह देखने के लिए कि क्या पत्थर छोड़ दिए गए हैं आप सक्रिय खिलाड़ी को भी स्टोर करना चाह सकते हैं ताकि आप दोनों खिलाड़ियों के लिए समान कोड का उपयोग कर सकें।
import java.util.Scanner; / ** * TheConstrkutor द्वारा http://stackoverflow.com/q/24981670/1266906 * के लिए बनाया गया * / सार्वजनिक वर्ग WhoTakesTheLastMarble {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] args) {स्कैनर में = नया स्कैनर (System.in); System.out.print ("आरंभिक नंबर का पत्थर [10 ~ 100]:"); इंट नंबरऑफमारबल्स = इन.एनएक्सआईटी (); Int activePlayer = 1; जबकि (संख्याऑफ़मारबल्स & gt; 1) {System.out.print ("प्लेयर" + सक्रियप्लेयर + "[1 ~" + (संख्याऑफ़मारबल्स / 2) + "]:"); Int लिया = in.nextInt (); संख्याऑफ़मारबल्स - = लिया; System.out.println ("पत्तियों की शेष संख्या:" + संख्याऑफ़मारबल्स); यदि (activePlayer == 1) {activePlayer = 2; } और {activePlayer = 1; }} System.out.println ("प्लेयर" + सक्रियप्लेयर + "अंतिम संगमरमर लेता है।"); यदि (activePlayer == 1) {activePlayer = 2; } और {activePlayer = 1; } System.out.println ("प्लेयर" + सक्रियप्लेयर + "जीतता है!"); }}
Comments
Post a Comment