2016-08-12 12 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에 대한 참조입니다.

관련 문제