Java 배열 출력에 관해서 문제가 있습니다. bookza93 이번에 학교에서 진행하는 컴파일러 수업에서 Scanner를 만드는 과제 중 막히는 점이 있어서 질문 드립니다. 아래는 Scanner와 관련한 코드입니다. import java.io.*; public class test { public static String str=""; public static String temp; public static char[] array; static int idx = 0; public static char getch(){ // 다음문자를 불러오는 메소드 idx++; //인덱스 값을 하나 올린다. if (idx<array.length) //인덱스값이 배열길이보다 작다면 return array[idx-1]; //문자값을 리턴 else return '\0'; //인덱스보다 길면 종결문자를 리턴 } public static void fileReadLine(){ // 파일로부터 문장을 읽어와서 char배열 Array에 저장함. File file; BufferedReader br; try{ file = new File("miniC.txt"); br = new BufferedReader(new FileReader(file)); while((temp = br.readLine())!= null){ // 파일로부터 한문장씩 불러옴 str += temp + "\r\n"; // newLine을 포함한 문장을 축적 } array = str.toCharArray(); // char형 배열 array에 옮김. System.out.println(String.copyValueOf(array)); br.close(); }catch(Exception e){System.out.println("파일이 존재하지 않습니다.");} } public static void main(String[] args){ fileReadLine(); String temp=""; char[] line = new char[8]; char data=0; for(int i=0; i<=3; i++){ data = getch(); line[i] = data; } System.out.print(String.valueOf(line)); } } 이 코드는 테스팅용이기에 Scanner의 코드의 일부분을 가져온 것입니다 fileReadLine() 메소드에서 array라는 char배열로 코드내용을 저장하고 getch()메소드로 읽은 코드의 한 단어 씩 메인 함수에 있는 line이라는 char배열에 저장을 한 다음, String.valueOf로 출력한 결과 void□□□□ 이런 문장이 출력되었는데 문제는 저 네모모양이 null인지 모르겠습니다. 디버깅을 해본 결과 배열칸에는 아무런 값이 없어 null인 것 같은데 확신이 가지 않습니다. 만약에 저 □ 를 없앨 수 있는 방법이 있다면 알려주시면 감사하겠습니다. 10년 전
0개의 댓글이 있습니다. 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
bookza93
이번에 학교에서 진행하는 컴파일러 수업에서 Scanner를 만드는 과제 중 막히는 점이 있어서 질문 드립니다.
아래는 Scanner와 관련한 코드입니다.
import java.io.*;
public class test {
public static String str="";
public static String temp;
public static char[] array;
static int idx = 0;
}
이 코드는 테스팅용이기에 Scanner의 코드의 일부분을 가져온 것입니다
fileReadLine() 메소드에서 array라는 char배열로 코드내용을 저장하고 getch()메소드로 읽은 코드의 한 단어 씩 메인 함수에 있는 line이라는 char배열에 저장을 한 다음, String.valueOf로 출력한 결과
void□□□□ 이런 문장이 출력되었는데 문제는 저 네모모양이 null인지 모르겠습니다. 디버깅을 해본 결과 배열칸에는 아무런 값이 없어 null인 것 같은데 확신이 가지 않습니다. 만약에 저 □ 를 없앨 수 있는 방법이 있다면 알려주시면 감사하겠습니다.
10년 전