ट्रैक
/
Java
Java
/
अभ्यास
/
पक्षी दर्शक
पक्षी दर्शक

पक्षी दर्शक

सीखने का अभ्यास

परिचय

ऐरे

Java में ऐरे एक ही टाइप की कई वैल्यू को एक ही ढाँचे में रखने का तरीका हैं। दूसरे डेटा स्ट्रक्चर की तुलना में ऐरे का आकार बनने के बाद तय रहता है। इंडेक्स की मदद से ऐरे में एलिमेंट असाइन किए जा सकते हैं या ऐरे से एलिमेंट निकाले जा सकते हैं। Java के ऐरे शून्य-आधारित इंडेक्सिंग इस्तेमाल करते हैं: पहले एलिमेंट का इंडेक्स 0 होता है, दूसरे एलिमेंट का इंडेक्स 1 होता है, और इसी तरह।

ऐरे को इनिशियलाइज़ करने का मानक सिंटैक्स यह है:

type[] variableName = new type[size];

यहाँ type ऐरे के एलिमेंट का टाइप है, जो कोई प्रिमिटिव टाइप (जैसे int) या कोई क्लास (जैसे String) हो सकता है।

size उन एलिमेंट की संख्या है जो यह ऐरे रखेगा (जिसे बाद में बदला नहीं जा सकता)। ऐरे बनने के बाद एलिमेंट को उनकी डिफॉल्ट वैल्यू पर इनिशियलाइज़ कर दिया जाता है (आम तौर पर 0, false या null)।

// Declare array with explicit size (size is 2)
int[] twoInts = new int[2];

ऐरे को एक शॉर्टकट नोटेशन की मदद से भी बनाया जा सकता है, जिससे आप एक साथ ऐरे बना भी सकते हैं और उसकी वैल्यू भी सेट कर सकते हैं:

// Two equivalent ways to declare and initialize an array (size is 3)
int[] threeIntsV1 = new int[] { 4, 9, 7 };
int[] threeIntsV2 = { 4, 9, 7 };

चूँकि अब कंपाइलर बता सकता है कि ऐरे में कितने एलिमेंट होंगे, इसलिए लंबाई छोड़ी जा सकती है।

ऐरे के एलिमेंट को ब्रैकेट वाले इंडेक्स नोटेशन की मदद से असाइन और एक्सेस किया जा सकता है:

// Assign second element by index
twoInts[1] = 8;

// Retrieve the second element by index and assign to the int element
int secondElement = twoInts[1];

ऐरे के वैध इंडेक्स के बाहर का कोई इंडेक्स एक्सेस करने पर IndexOutOfBoundsException मिलता है।

ऐरे को उसके इंस्टेंस के मेथड या प्रॉपर्टी कॉल करके, या Arrays क्लास में बनाए गए स्टैटिक मेथड इस्तेमाल करके नियंत्रित किया जा सकता है (आम तौर पर इनका उपयोग सिर्फ जेनेरिक कोड में होता है)। length प्रॉपर्टी में ऐरे की लंबाई रहती है। इसे ऐसे एक्सेस किया जा सकता है:

int arrayLength = someArray.length;

Java काम की एक यूटिलिटी क्लास java.util.Arrays भी देता है, जिसमें ऐरे से जुड़े बहुत से उपयोगी मेथड हैं (जैसे Arrays.equals)।

Java मल्टी-डाइमेंशनल ऐरे को भी सपोर्ट करता है, जैसे int[][] arr = new int[3][4];, जो बहुत काम के हो सकते हैं।

ऐरे एक कलेक्शन भी होता है, और इसका मतलब है कि इंडेक्स से वैल्यू एक्सेस करने के अलावा आप for-each लूप की मदद से उसकी सारी वैल्यू पर इटरेशन कर सकते हैं:

char[] vowels = { 'a', 'e', 'i', 'o', 'u' };

for(char vowel: vowels) {
    // Output the vowel
    System.out.print(vowel);
}

// => aeiou

अगर आप चाहते हैं कि किन वैल्यू पर इटरेशन हो, इस पर आपका ज़्यादा नियंत्रण रहे, तो for लूप इस्तेमाल किया जा सकता है:

char[] vowels = { 'a', 'e', 'i', 'o', 'u' };

for (int i = 0; i < 3; i++) {
    // Output the vowel
    System.out.print(vowels[i]);
}

// => aei

निर्देश

आपको पक्षी देखना बहुत पसंद है और आप यह हिसाब रखते हैं कि पिछले सात दिनों में आपके बगीचे में कितने पक्षी आए।

आपके सामने छह काम हैं, और ये सब आपके बगीचे में आने वाले पक्षियों की संख्याओं से जुड़े हैं।

1. जाँचिए कि पिछले हफ्ते की गिनती क्या थी

तुलना के लिए आप हमेशा पिछले हफ्ते की गिनती की एक कॉपी पास रखते हैं, जो यह थी: 0, 2, 5, 3, 7, 8 और 4। BirdWatcher.getLastWeek() मेथड बनाइए, जो पिछले हफ्ते की गिनती लौटाता है:

BirdWatcher.getLastWeek();
// => [0, 2, 5, 3, 7, 8, 4]

2. जाँचिए कि आज कितने पक्षी आए

BirdWatcher.getToday() मेथड बनाइए। यह लौटाता है कि आज आपके बगीचे में कितने पक्षी आए। पक्षियों की गिनती दिन के क्रम में रखी जाती है, जिसमें पहला एलिमेंट सबसे पुराने दिन की गिनती है और अंतिम एलिमेंट आज की गिनती है।

int[] birdsPerDay = { 2, 5, 0, 7, 4, 1 };
BirdWatcher birdCount = new BirdWatcher(birdsPerDay);
birdCount.getToday();
// => 1

3. आज की गिनती बढ़ाइए

BirdWatcher.incrementTodaysCount() मेथड बनाइए, जो आज की गिनती बढ़ाता है:

int[] birdsPerDay = { 2, 5, 0, 7, 4, 1 };
BirdWatcher birdCount = new BirdWatcher(birdsPerDay);
birdCount.incrementTodaysCount();
birdCount.getToday();
// => 2

4. जाँचिए कि क्या कोई ऐसा दिन था जब एक भी पक्षी नहीं आया

BirdWatcher.hasDayWithoutBirds() मेथड बनाइए। यह true लौटाता है अगर कोई एक दिन भी ऐसा था जब बगीचे में एक भी पक्षी नहीं आया; नहीं तो false लौटाता है:

int[] birdsPerDay = { 2, 5, 0, 7, 4, 1 };
BirdWatcher birdCount = new BirdWatcher(birdsPerDay);
birdCount.hasDayWithoutBirds();
// => true

5. शुरू के कुछ दिनों में आए पक्षियों की संख्या निकालिए

BirdWatcher.getCountForFirstDays() मेथड बनाइए, जो हफ्ते की शुरुआत से आपके बगीचे में आए पक्षियों की संख्या लौटाता है। लेकिन गिनती को हफ्ते की शुरुआत से दिए गए दिनों की संख्या तक ही सीमित रखिए।

int[] birdsPerDay = { 2, 5, 0, 7, 4, 1 };
BirdWatcher birdCount = new BirdWatcher(birdsPerDay);
birdCount.getCountForFirstDays(4);
// => 14

6. व्यस्त दिनों की संख्या निकालिए

कुछ दिन दूसरों से ज़्यादा व्यस्त होते हैं। व्यस्त दिन वह होता है जब आपके बगीचे में पाँच या उससे अधिक पक्षी आए हों। BirdWatcher.getBusyDays() मेथड बनाइए, जो व्यस्त दिनों की संख्या लौटाता है:

int[] birdsPerDay = { 2, 5, 0, 7, 4, 1 };
BirdWatcher birdCount = new BirdWatcher(birdsPerDay);
birdCount.getBusyDays();
// => 2
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Java Exercism

पक्षी दर्शक शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Java को 26 कॉन्सेप्ट158 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।