2012-09-24 8 views
5

का कारण बनता है अभी मुझे रिक्त स्थान के साथ सरणी भरने में समस्या हो रही है। जब भी मैं सरणी भरने विधि का उपयोग करता हूं तो मुझे अपवाद मिल रहा है। अभी मैंने शेष कोड को बाहर रखा है और केवल उन लोगों को शामिल किया है जो समस्याएं पैदा करते हैं। यही पर है। ध्यान दें कि मैं जावा के लिए एक नौसिखिया हूं इसलिए गुस्सा न करें अगर यह किसी प्रश्न का बहुत आसान है। मैंने यहां खोज की है और कुछ भी नहीं मिला।Arrays.fill() विधि एक अपवाद

public class board 
{  
    public static void main(String args[]) 
    { 
     char board [][] = new char [6][7]; 
     int column=0; 
     int row=0; 

     java.util.Arrays.fill(board,' '); 
    } 
} 

अपवाद कहते सूत्र में "मुख्य" java.lang.ArrayStoreException

अपवाद:
java.lang.Character
java.util.Arrays.fill (Arrays.java पर: 2710)
java.util.Arrays.fill (Arrays.java:2685 पर)
board.main पर (board.java:26)

उत्तर

11

Arrays.fill एक एकल-आयामी सरणी की अपेक्षा करता है, आप एक जंजीर सरणी में गुज़र रहे हैं।

इसके बजाय, इस कार्य करें:

for(int x=0;x<board.length;x++) 
    for(int y=0;y<board[x].length;y++) 
     board[x][y] = ' '; 

या इस:

for(int x=0;x<board.length;x++) 
    Arrays.fill(board[x], ' '); 
+0

दिलचस्प 2-डी सरणी गुजर रहे हैं। मैं देखता हूं कि यह कैसे काम करता है। – DrinkJavaCodeJava

+2

यह शायद संकलित करता है क्योंकि संकलक इसे 'भरने (ऑब्जेक्ट [] ए, ऑब्जेक्ट वैल)' – SJuan76

+0

'के लिए कॉल के रूप में व्याख्या करता है' अभी भी [char [] पंक्ति: बोर्ड) {java.util.Arrays.fill (पंक्ति, ' ');} ' – OldCurmudgeon

2

जावा एपीआई से ArrayStoreException: संकेत मिलता है कि एक प्रयास के गलत प्रकार स्टोर करने के लिए किया गया है फेंक दिया एक सरणी में वस्तु।

Arrays.fill(); 

विधि एक पैरामीटर के रूप में एक भी आयामी सरणी लेता है, तो आप इस प्रकार अपवाद

+0

तो भरने विधि का बिंदु क्या है यदि यह केवल एकल आयामी सरणी पर काम करता है? – DrinkJavaCodeJava

संबंधित मुद्दे