2010-04-01 18 views

उत्तर

229

आप के रूप में त्रुटि संदेश ने संकेत दिया, initializeerrorSoon करने की जरूरत है, आप केवल यह declared है।

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

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

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

एक तरफ ध्यान दें के रूप में, आप भी ब्रेसिज़ के अंदर String सरणी, { } के रूप में ऐसा है, तो

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

जो

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

यह एक pitty है कि आप उपयोग नहीं कर सकते() में हर स्ट्रिंग का दृष्टांत के लिए है एक डिफ़ॉल्ट मान के साथ आपकी सरणी। 5 खाली तारों की एक सरणी = नई ऐरे [5] ("") होनी चाहिए; इसके बदले = {"", "", "", "", ""}। –

+0

लूप के लिए उपयोग करें। –

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

के बराबर n जा रहा है कि कितने तार के साथ है प्रारंभ कर सकता है इसे पकड़ने की जरूरत है।

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

23
String[] errorSoon = { "foo", "bar" }; 

- या -

String[] errorSoon = new String[2]; 
errorSoon[0] = "foo"; 
errorSoon[1] = "bar"; 
104
String[] args = new String[]{"firstarg", "secondarg", "thirdarg"}; 
+2

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

+0

है क्या आप नई स्ट्रिंग बीटीडब्ल्यू को छोड़ नहीं सकते? स्ट्रिंग [] आउटपुट = {"", "", ""}; मेरे कोड में काम करता प्रतीत होता है। –

+2

यदि आपने पहले से ही अपनी सरणी शुरू की है और आप इसे फिर से शुरू करना चाहते हैं, तो आप 'args = {"new", "array"} नहीं जा सकते; ' आपको' args = new string [] {" नया "," सरणी "};' – Darpan

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. 
} 
9

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

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?"}; 
    } 
} 
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` 

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

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

अब मैं charecter/प्रतीक में Ascii मूल्य परिवर्तित करना चाहते हैं।

int n=(int)chr; 
System.out.println((char)n);//output:S 
0
String[] string=new String[60]; 
System.out.println(string.length); 

यह है आरंभीकरण और शुरुआती

2

में के लिए बहुत सरल तरीके से स्ट्रिंग लंबाई कोड हो रही जावा 8 हम भी उदाहरण धाराओं का उपयोग कर सकते

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

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

String[] strings = stringList.stream().toArray(String[]::new); 
संबंधित मुद्दे