जावा: स्ट्रिंग को कैसे शुरू करें?


जवाबों:


331

आपको आरंभ करने की आवश्यकता है errorSoon, जैसा कि त्रुटि संदेश से संकेत मिलता है, आपने केवल इसे घोषित किया है।

String[] errorSoon;                   // <--declared statement
String[] errorSoon = new String[100]; // <--initialized statement

आपको सरणी को इनिशियलाइज़ करने की आवश्यकता है ताकि यह इंडेक्स सेट करना शुरू करने से पहलेString तत्वों के लिए सही मेमोरी स्टोरेज को आवंटित कर सके।

यदि आप केवल सरणी घोषित करते हैं (जैसा कि आपने किया था) Stringतत्वों के लिए कोई मेमोरी आवंटित नहीं की गई है, लेकिन केवल किसी संदर्भ को हैंडल करता है errorSoon, और जब आप किसी भी इंडेक्स पर एक वैरिएबल को इनिशियलाइज़ करने का प्रयास करते हैं, तो एक त्रुटि को फेंक देगा।

एक साइड नोट के रूप में, आप Stringब्रेसिज़ के अंदर भी सरणी को इनिशियलाइज़ कर सकते हैं , { }जैसे,

String[] errorSoon = {"Hello", "World"};

जो के बराबर है

String[] errorSoon = new String[2];
errorSoon[0] = "Hello";
errorSoon[1] = "World";

8
यह एक ऐसा पाइट है जिसका उपयोग आप () डिफ़ॉल्ट मूल्य के साथ अपने ऐरे में हर स्ट्रिंग को तुरंत करने के लिए नहीं कर सकते हैं। 5 खाली तारों की एक सरणी होनी चाहिए = नया ऐरे [5] (""); के बजाय = {"", "", "", "", ""}।
Pieter De Bie

लूप के लिए उपयोग करें।
टॉम बरीस

128
String[] args = new String[]{"firstarg", "secondarg", "thirdarg"};

3
शायद बिल्कुल नहीं ओपी प्रश्न शीर्षक से पता चलता है, लेकिन मैं स्ट्रिंग को स्वीकार करने के लिए अपने स्ट्रिंग को पास करने की कोशिश कर रहा था जो स्ट्रिंग [] को स्वीकार करता है, यह समाधान है
kommradHomer

आप नए स्ट्रिंग btw ommit नहीं कर सकते? स्ट्रिंग [] आउटपुट = {"", "", ""}; मेरे कोड में काम करने लगता है।
Pieter De Bie

2
आप पहले से ही अपने सरणी प्रारंभ किया है और आप चाहते हैं यह फिर से प्रारंभ, आप नहीं जा सकते args = {"new","array"};आप करना होगा args = new String[]{"new", "array"};
दर्पण


9

मेरा मानना ​​है कि आप सिर्फ C ++ से माइग्रेट हुए हैं, खैर जावा में आपको एक डेटा टाइप इनिशियलाइज़ करना होगा (दूसरे तब आदिम प्रकार और स्ट्रिंग को जावा में एक आदिम प्रकार के रूप में नहीं माना जाता है) उनके विनिर्देशों के अनुसार उपयोग करने के लिए यदि आप तब नहीं करते हैं यह एक खाली संदर्भ चर की तरह है (C ++ के संदर्भ में एक सूचक की तरह)।

public class StringTest {
    public static void main(String[] args) {
        String[] errorSoon = new String[100];
        errorSoon[0] = "Error, why?";
        //another approach would be direct initialization
        String[] errorsoon = {"Error , why?"};   
    }
}

9

में जावा 8 हम भी धाराओं जैसे का उपयोग कर सकते

String[] strings = Stream.of("First", "Second", "Third").toArray(String[]::new);

यदि हमारे पास पहले से स्ट्रिंग्स की सूची है ( stringList) तो हम स्ट्रिंग ऐरे में एकत्र कर सकते हैं:

String[] strings = stringList.stream().toArray(String[]::new);

7
String[] errorSoon = new String[n];

N होने के साथ कितने तारों को रखने की आवश्यकता है।

आप घोषणा में ऐसा कर सकते हैं, या स्ट्रिंग के बिना [] बाद में कर सकते हैं, जब तक कि इससे पहले कि आप उन्हें इस्तेमाल करने की कोशिश करें।


2
String[] arr = {"foo", "bar"};

यदि आप एक विधि के लिए एक स्ट्रिंग सरणी पास करते हैं, तो करें:

myFunc(arr);

या करो:

myFunc(new String[] {"foo", "bar"});

1

आप इसे हमेशा इस तरह लिख सकते हैं

String[] errorSoon = {"Hello","World"};

For (int x=0;x<errorSoon.length;x++) // in this way u create a for     loop that would like display the elements which are inside the array     errorSoon.oh errorSoon.length is the same as errorSoon<2 

{
   System.out.println(" "+errorSoon[x]); // this will output those two     words, at the top hello and world at the bottom of hello.  
}

0

स्ट्रिंग घोषणा:

String str;

स्ट्रिंग इनिशियलाइज़ेशन

String[] str=new String[3];//if we give string[2] will get Exception insted
str[0]="Tej";
str[1]="Good";
str[2]="Girl";

String str="SSN"; 

हम स्ट्रिंग में अलग-अलग चरित्र प्राप्त कर सकते हैं:

char chr=str.charAt(0);`//output will be S`

यदि मैं व्यक्तिगत चरित्र को इस तरह से प्राप्त करना चाहता हूं:

System.out.println((int)chr); //output:83

अब मैं एससीआई मूल्य को चॉकर / प्रतीक में बदलना चाहता हूं।

int n=(int)chr;
System.out.println((char)n);//output:S


0

आकार को इनिशियलाइज़ करने के लिए आप नीचे दिए गए कोड का उपयोग कर सकते हैं और स्ट्रिंग्स की सरणी के लिए खाली मान सेट कर सकते हैं

String[] row = new String[size];
Arrays.fill(row, "");
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.