मैं एक जावा वर्ग है कि 3 पैरामीटर स्वीकार के लिए एक initialisation विधि बनाने के लिए करना चाहते हैं:प्रबलित ऐरे आकार पैरामीटर्स के साथ जावा विधि?
Employee[] method(String[] employeeNames, Integer[] employeeAges, float[] employeeSalaries)
{
Employee myEmployees[] = new Employee[SIZE];// dont know what size is
for (int count = 0; count < SIZE; count++)
{
myEmployees[count] = new Employee(employeeNames[count], employeeAges[count], employeeSalaries[count]);
}
return myEmployees;
}
आप इस कोड गलत है कि देख सकते हैं। वह SIZE चर परिभाषित नहीं है। मेरी समस्या यह है कि मैं 3 सरणी में गुजरना चाहता हूं, लेकिन मैं जानना चाहता हूं कि क्या मैं यह सुनिश्चित कर सकता हूं कि तीन सरणी एक ही सरणी आकार के हैं। इस प्रकार लूप के लिए विफल नहीं होगा, क्योंकि लूप में कन्स्ट्रक्टर सरणी के सभी मानकों का उपयोग करता है।
शायद जावा की एक अलग सुविधा है जो मेरी समस्या का समाधान लागू कर सकती है। मैं SIZE नामक एक और पैरामीटर स्वीकार कर सकता हूं जिसका उपयोग लूप के लिए किया जाएगा, लेकिन यह मेरी समस्या का समाधान नहीं करता है यदि पैरामीटर 1 और 2 आकार 10 के हैं और तीसरा पैरामीटर आकार 9 की एक सरणी है।
तो बस परेशान करने के लिए मैं स्पष्ट नहीं था। मैं कैसे लागू कर सकता हूं कि 3 तर्क सभी सरणी हैं जिनमें सटीक तत्वों की संख्या समान है?
सरणी आकार निर्दिष्ट करने वाले अतिरिक्त पैरामीटर का उपयोग करना बहुत ही सुरुचिपूर्ण और गंदे प्रकार का नहीं है। यह समस्या को हल नहीं करता है सरणी पैरामीटर में विभिन्न आकार के सरणी होते हैं।
धन्यवाद जॉन एक बिल्डर, उदाहरण के लिए, EmployeeArrayBuilder बनाने के लिए है, उत्कृष्ट जवाब! –
यह एक अच्छा उदाहरण है जिसे मैं NullPointerException का उपयोग करने का गलत तरीका मानता हूं। मैं प्रत्येक पारित पैरामीटर (कर्मचारी नाम == नल) { नए अवैध अर्ग्यूमेंट अपवाद ("कर्मचारी नाम == शून्य") को फेंकने के लिए प्रत्येक व्यक्ति के लिए व्यक्तिगत जांच करेगा; } इससे समस्या का निदान करने के लिए स्टैकट्रैक अधिक उपयोगी हो जाता है। –
मुझे लगता है कि इस मामले में एनपीई फेंकने के लिए स्वीकार्य है (जबकि कोई भी आईएई फेंकने से असहमत नहीं होगा); लेकिन शायद इस बहस/विवाद में एक समझौता के रूप में एनपीई के साथ एक संदेश शामिल करना बेहतर होगा। –