2016-08-12 10 views
-4

私はJavaで文字配列を入力する方法は?

--- 
-m- 
p-- 

方法だけでなしに、入力配列にそれらをするには、以下のような2次元配列を持っていますか? nextInt()、nextLine()は知っていますが、この問題で私は役に立たないでしょうか?あなたは、個々の文字を取得するためにcharAt(index)を使用することができますnextLine()使用する場合

は、ここに私のコード

public static void main(String[] args) { 
    Scanner in = new Scanner(System.in); 
    int n = in.nextInt(); 
    char[][] board = new char[n][n]; 
    for(int i=0 ; i<n ; i++){ 
     for(int j=0 ; j<n ;j++){ 
      board[i][j] = //problem at here 

     } 
    } 
+0

何ですか?少なくとも* some *コードを表示してください!または、もっと多くの説明を追加してください。どこから入力しますか?コマンドラインアプリケーションについて話していますか? – luk2302

+0

あなたが試したことを見せてください。 'nextInt()'は助けてはいけませんが、 'nextLine()'が正しく使われるとうまくいくかもしれません。 –

+0

@ScottHunter nextLine()は良いですが、文字列をcharにキャストする必要があります。それ以上の解決策はありますか? – future2020

答えて

0

です。

public static void main(String[] args) { 
    Scanner in = new Scanner(System.in); 
    int n = in.nextInt(); 
    char[][] board = new char[n][n]; 
    for(int i=0 ; i<n ; i++){ 
     String line = in.nextLine(); 
     for(int j=0 ; j<n ;j++){ 
      board[i][j] = line.charAt(j); 
    } 
} 
0

は、私はあなたが解決策の一部ではなく全体を持っている場合には文字の配列のために求めていると仮定します。

キーはnextLine()を使用して行を取得し、ループを使用して各charを取得し、配列に格納することです(行は固定長であると仮定します)実装)。

ファイル内の行数を見つける作業を省略します。これは、私があなたに任せます。

/* used to set the size of the 2d array*/ 
FileReader reader = new FileReader("filename"); 
BufferedReader bReader = new BufferedReader(reader); 
int numLines = getNumLines(file); 
int lineLength = getLengthLines(file); 

char[][] map = new char[numLines][lineLength] 
for(int i = 0; i<numLines; i++){ 
    String currentLine = bReader.nextLine(); 
    for(int x = 0; x<lineLength; i++) 
     map[i][x] = currentLine.charAt(x); 
    } 
} 

その他のご質問がある場合は、ぜひコメントしてください。

Javaのreading in a fileへの参照。

関連する問題