2013-02-21 48 views
16

में Coursera पाठ्यक्रम मैंने Coursera Algorythms course शुरू किया है। प्रैक्टिस असाइनमेंट जावा पर किया जाना चाहिए और वे डॉ। जावा का उपयोग आईडीई के रूप में करने का सुझाव देते हैं, लेकिन यह वास्तव में असुविधाजनक है। तो मैं ग्रहण का उपयोग करना चाहता हूं, लेकिन समस्या यह है कि मैं 2 पुस्तकालयों (algs4.jar और stdlib.jar) का उपयोग नहीं कर सका, जो इस कोर्स के लिए प्रदान किए जाते हैं। this guide से कुछ कदम दूर करने के बाद मैं उन्हें अपने प्रोजेक्ट में शामिल करने में सक्षम था:एल्गोरिदम भाग I के लिए पुस्तकालयों का उपयोग कैसे करें Iclipse

enter image description here

लेकिन जब मैं अपने प्रोजेक्ट में उन लोगों से कक्षाएं इस्तेमाल करने की कोशिश, ग्रहण यह करने के लिए अनुमति नहीं है, और मैं नहीं कर सके ' टी ctrl + space द्वारा उन्हें आयात:

enter image description here

और यहां तक ​​कि जब मैं सीधे import stdlib.StdRandom; तरह वर्ग आयात यह अभी भी काम करता है नहीं है कोशिश कर रहा हूँ।

कृपया मुझे बताएं, इसे ठीक से काम करने के लिए मुझे क्या करना चाहिए।

उत्तर

15

आप इन दो JARs - stdlib-package.jar और algs4-package.jar का उपयोग क्यों नहीं करते हैं।

और कोड पेज (http://algs4.cs.princeton.edu/code/)

प्र अगर मैं एक नामित पैकेज का उपयोग मेरी कोड की संरचना करने, संकलक नहीं रह गया है पुस्तकालयों stdlib.jar या algs4.jar में उपयोग कर सकते हैं नीचे। क्यों नहीं?

ए। Stdlib.jar और algs4.jar में पुस्तकालय "डिफ़ॉल्ट" पैकेज में हैं। जावा में, आप नामित पैकेज से डिफ़ॉल्ट पैकेज में कक्षाओं तक नहीं पहुंच सकते हैं। यदि आपको नामांकित पैकेज के साथ हमारे पुस्तकालयों का उपयोग करने की आवश्यकता है, तो आप इन पैकेज संस्करणों का उपयोग कर सकते हैं: stdlib-package.jar और algs4-package.jar।

चेतावनी: यदि आप प्रिंसटन सीओएस 226 या Coursera, एल्गोरिदम, भाग I या II ले रहे हैं, तो आपको ग्रेडिंग की सुविधा के लिए हमारे पुस्तकालयों के डिफ़ॉल्ट पैकेज सत्यापन का उपयोग करना होगा।

अपने परीक्षण सफलता दिखा रहे हैं: Showing my test success

5

जेएआर को शामिल करने के लिए आपको बस इतना करना होगा कि बाईं ओर प्रोजेक्ट एक्सप्लोरर पैनल में अपने प्रोजेक्ट/ऑब्जेक्ट ट्री के शीर्ष पर राइट क्लिक करें, "बिल्ड पथ/कॉन्फ़िगर बिल्ड पथ" पर क्लिक करें, "लाइब्रेरीज़" पर क्लिक करें "टैब, और" बाहरी जार जोड़ें ", उन्हें वहां जोड़ें।

उन्हें आपके स्रोत कोड को संपादित करते समय खुशी से उपलब्ध होना चाहिए और उसके बाद ग्रहण में इसे बनाते समय।

यह भी ध्यान रखें कि, जब आप लिखते हैं तो आपके पास कक्षा का नाम सही है, तो आपको अपने कोड में कक्षा के नाम पर होवर करने में सक्षम होना चाहिए और इंटेलि-एंटि/ऑटो-पूर्ण सुविधा यह सुझाव देगी कि आपको इसे कहां से आयात करना चाहिए । आप आसानी से सही पुस्तकालय में आयात जोड़ सकते हैं।

+0

लाइब्रेरी जोड़ा गया है, लेकिन मैं अभी भी कक्षाओं का उपयोग नहीं कर सका। क्या आप इस libs को डाउनलोड करने का प्रयास कर सकते हैं: introcs.cs.princeton.edu/stdlib/stdlib.jar, algs4.cs.princeton.edu/code/algs4.jar और उन्हें स्वयं आयात करें? – Seekeer

+1

मैंने जार जोड़ा और बाइनरीइन और पिक्चर क्लासेस जुर्माना का उपयोग कर सकता था जो दोनों इसमें परिभाषित हैं। मुझे वास्तव में आयात विवरण की भी आवश्यकता नहीं थी जो वास्तव में उत्सुक था; ऐसा लगता है कि कक्षाओं को किसी पैकेज में परिभाषित नहीं किया जाता है जब आप उन्हें संदर्भित असेंबली ब्राउज़ करके ग्रहण के माध्यम से खोलते हैं (उन्हें इस उत्तर राज्य के तरीके में निर्माण पथ में जोड़ने के बाद)। तो, सुनिश्चित नहीं है कि आपकी समस्या क्या है। एक नया ग्रहण प्रोजेक्ट बनाएं और इसे करने से फिर से प्रयास करें, कभी-कभी ग्रहण भ्रमित हो जाता है और इंटेलिसेंस मेरे अनुभव में कक्षाओं का सुझाव देता है; परियोजना को रीमेक करना इसे ठीक करता है। –

+0

मैंने कई बार परियोजनाओं और कार्यक्षेत्रों को फिर से बनाया है, लेकिन इससे कोई मदद नहीं मिली है। खालिद अमिरी द्वारा प्रदान किए गए लिंक का उपयोग करके मुझे पता चला कि समस्या यह हो सकती है कि यह libs (डिफ़ॉल्ट) पैकेज का उपयोग कर रहे हैं। तो अब मैं यह जानने की कोशिश कर रहा हूं कि मैं डिफ़ॉल्ट पैकेज से कक्षाओं का उपयोग कैसे कर सकता हूं ... – Seekeer

3

नीचे दिए गए चरणों का पालन करें

अपनी परियोजना> गुणों पर राइट क्लिक करें। यह निम्न खिड़की बाईं ओर से

enter image description here

का चयन करें "पथ जावा बिल्ड" खुल जाएगा। अब चुनें "पुस्तकालय" पर "जोड़ें बाहरी जार"

enter image description here

दाईं ओर

enter image description here

क्लिक से टैब जार फ़ाइलें जोड़ें।

अब आप

+0

मैंने आपके द्वारा वर्णित सब कुछ किया है और पुस्तकालयों को आयात किया है, लेकिन फिर से उनसे कुछ भी उपयोग नहीं कर सकता: http: //i.stack.imgur। com/0wZAG.png क्या आप इस libs को डाउनलोड करने का प्रयास कर सकते हैं: http://introcs.cs.princeton.edu/stdlib/stdlib.jar, http://algs4.cs.princeton.edu/code/algs4.jar और आयात उन्हें खुद? – Seekeer

1

यह तो आप इसे से कक्षाएं आयात नहीं कर सकते, पुस्तकालयों में कोई पैकेज संरचना है, क्योंकि शायद किया जाता है। यह आपकी मदद कर सकता है, How to use classes in Referenced Libraries in Eclipse

8

आप एपीआई तक नहीं पहुंच सकते हैं क्योंकि लेखकों ने उन्हें डिफ़ॉल्ट पैकेज में परिभाषित किया है और जावा इन्हें पहचान नहीं पाता है। लेखक अपनी वेबसाइट (http://algs4.cs.princeton.edu/code/) पर उल्लेख करते हैं कि यदि आप नामित पैकेजों में इनका उपयोग कर रहे हैं, तो http://algs4.cs.princeton.edu/code/stdlib-package.jar और http://algs4.cs.princeton.edu/code/algs4-package.jar से दो जार शामिल करने के लिए अपना निर्माण पथ कॉन्फ़िगर करें।

एचटीएच!

+2

अद्यतन: 17 अगस्त, 2015 तक यह अब केवल एक पैकेज है: http://algs4.cs.princeton.edu/code/algs4-package.jar। Stdlib-package.jar से कक्षाएं पहले से ही algs4-package में निहित हैं।जार। स्रोत: http://algs4.cs.princeton.edu/code/ – cosmolev

1

एक विकल्प है कि वहाँ एक maven repo on githubslok द्वारा प्रदान की है। इसका बुरा हिस्सा यह है कि जोड़े गए जोड़े डिफ़ॉल्ट पैकेज का उपयोग कर रहे थे, इसलिए आप पैकेज संरचना का उपयोग नहीं कर सकते हैं।

अद्यतन: मैं रेपो के लिए जार के पैकेज संस्करणों को शामिल किया है और एक पुल अनुरोध यह अब स्वीकार किया गया है बनाया।

ध्यान दें कि मैंने प्रिंसटन से मूल पैकेज संरचना से मेल खाने के लिए पहचानकर्ताओं को बदल दिया है।

<dependencies> 
    <dependency> 
    <groupId>edu.princeton.cs.introcs</groupId> 
    <artifactId>algs4-package</artifactId> 
    <version>1.0</version> 
    </dependency> 

    <dependency> 
    <groupId>edu.princeton.cs.introcs</groupId> 
    <artifactId>stdlib-package</artifactId> 
    <version>1.0</version> 
    </dependency> 
</dependencies> 

<repositories> 
    <repository> 
    <id>org.coursera.algs4</id> 
    <name>Algs4 coursera course custom repository</name> 
    <url>https://raw.github.com/slok/algs4-mvn-repo/master</url> 
    </repository> 
</repositories> 
1
अपनी वेबसाइट से

: http://algs4.cs.princeton.edu/code/

ग्रहण (मैनुअल)। एक फ़ोल्डर में stdlib.jar और algs4.jar डाउनलोड करें और प्रत्येक जार> फ़ाइल को क्लासपाथ वैरिएबल में प्रोजेक्ट ->> गुण -> जावा बिल्ड पथ -> लिब्रीज़ -> बाहरी जार जोड़ें के माध्यम से प्रोजेक्ट के निर्माण पथ में जोड़ें।