2015-10-19 95 views
1

我正在開展一個學校項目,目標是獲取包含「#」,「」,「E」和「S」字符迷宮的文本文件,並通過這個迷宮找到自己的方式。在作業中,它要求我接收文件並將每行和每列放入一個2D char數組中。如何將文本文件讀入2D字符數組?

這裏的文件可能是什麼樣子的例子(「S」是我開始和「E」是我結束):

########## 
# S ###### 
## ####E## 
## #### ## 
#  ## 
########## 

我想過使用一對夫婦while循環之一找到迷宮的高度並將其添加到它的「y」組件中。然後將每個「x」的增量放入數組中,以獲取char值,然後讀取第二個y,找到兩個「#」來查找寬度。不過我到目前爲止還沒有正確實施它。你對如何解決這個問題有任何想法嗎?到目前爲止,我一直無法在網上找到它。也只是爲了重申我需要在我的2D字符數組中正確的x和y座標中的「#」,「」或「E」和「S」。

我也會提供我的代碼,但這會被認爲是作弊,作爲學生我也想學習內容。所以只是想法,也許一些例子會很好。

+2

要求提供作業幫助的問題必須包括迄今爲止解決問題所做的工作的摘要,以及描述您解決問題的難度。 –

+0

@RomanPustylnikov第二段的總結是否與我所做的一樣,因爲這是我試圖去做的,而我沒有達到我需要的。我只是想發佈我的代碼會是作弊。 – Joe

+0

「你對如何解決這個問題有任何想法嗎?」 - 是的;特別是如果你實施了一些東西,但它不會給你預期的結果,如果你發佈了你所做的事情,並且清楚地說明了它沒有產生預期效果的話,那將會更有成效。在SO上,儘可能具體,而不是*模糊*儘可能 – Durandal

回答

0

就我個人而言,我會做的是把它分成一個董事會,並有一個董事會對象。在板對象上有多個方形對象。把它想象成一個棋盤。

| | 
__|__|__ 
    | | 
__|__|__ 
    | | 
    | | 

每平方對象有一個X,Y值,說這是位置,然後廣場的實際值(3#,...等)

public class board { 

    ArrayList a<Square>; 
} 

public class Square { 

    int x; 
    int y; 
    String value; 
} 

然後你可以閱讀你的文本文件,並建立你的董事會。

1

可以讀取線成字符串的列表,然後一旦你知道數組的Y尺寸,您可以創建二維數組,並填充它:

的char []數組= line.toCharArray() ;

+0

我嘗試使用.toCharArray從這篇文章[鏈接](http://stackoverflow.com/questions/10006165/converting-string-to-character- array-in-java),它不工作。這是你的想法嗎? – Joe

+0

這就是我願意走多遠,而不需要顯示一些代碼。請閱讀常見問題解答並提供給我們MCVE。 –