यदि मुझे आवश्यकता हो तो मैं अधिक कोड पोस्ट कर सकता हूं, लेकिन इससे पहले मैं निम्नलिखित विधि के बारे में एक सामान्य प्रश्न पूछना चाहता हूं जिसमें एक सरणी पारित की जाती है, और फिर किसी अन्य सरणी पर सेट की जाती है, लेकिन किसी कारण से मूल सरणी, एक में पारित किया जा रहा है, यह भी बदल रहा है, यह कैसे संभव है/मुझे क्या करना चाहिए? धन्यवादजावा में संदर्भ द्वारा एरे पारित होने लगते हैं, यह कैसे संभव है?
tempBoard currentState के रूप में एक ही आकार की एक सरणी है, और अस्थायी [k] परिवर्तन है कि movePiece में किए जा रहे, वर्तमान स्थिति विधि में घोषित किया जाता है शामिल हैं और एक वैश्विक चर
private int[][] MiniMaxBaseCase(int[][] currentState, int currentColor)
{
tempBoard = movePiece(currentState,temp[k]);
}
private int[][] movePiece(int[][] currentState, int[] move)
{
if(move[0] == -1)
return currentState;
//if the piece is just moving
if(move[4] == -1)
{
currentState[move[2]][move[3]] = currentState[move[0]][move[1]];
currentState[move[0]][move[1]] = 0;
return currentState;
}
//if the piece is jumping another
if(move[4] != -1)
{
currentState[move[4]][move[5]] = currentState[move[0]][move[1]];
currentState[move[2]][move[3]] = 0;
currentState[move[0]][move[1]] = 0;
return currentState;
}
return currentState;
}
Arrays ऑब्जेक्ट्स हैं। ऑब्जेक्ट संदर्भ प्रकार हैं। वहां कोई आश्चर्य नहीं है। – BoltClock
हर जगह के अनुसार मैंने देखा है कि जावा में संदर्भ से गुजरना संभव नहीं है, हालांकि, मूल्य के आधार पर ऑब्जेक्ट संदर्भों को पार करना संभव है। इनके बीच क्या अंतर है। – jbernie2
जॉन की वेबसाइट मेरे लिए नीचे प्रतीत होती है, लेकिन यहां कैश लिंक है: http://webcache.googleusercontent.com/search?q=cache:http://www.yoda.arachsys.com/java/passing.html – Jimmy