자바 여러 줄 입력할때 빠져나가는 문제..(콘솔)
율하
무한대의 스트링을 입력하는 건데요.
while문을 이용해서 무한루프 돌리고, 특정문자 입력시 break해서 빠져나가려고 합니다.
근데 컴파일은 잘 되는데 특정문자를 입력해도 도무지 빠져 나가지지 않네요;;
int로 해서 입력받았을땐 잘됐는데 string은 왜 안되는지..
일단 제가 짜본 소스는 이렇거든요..
import java.io.*;
import java.util.*;
class Data{
public static void main(String[] args) throws IOException {BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
ArrayListString data = new ArrayListString();
String line = null;System.out.println(입력 하세요);
while(true){ //입력하는while문..
line = in.readLine();
if(line == 종료){ break; } // --- 여기서 제 생각 대로라면 종료를 입력하면while문을 빠져나가야되는것 같은데요..
data.add(line);
}
System.out.println();
System.out.println(입력한 게시물 출력합니다.);
for(int i = 0; i data.size(); ++i){
System.out.print(data.get(i));
}
System.out.println(출력 끝);
}
}
왜 안되는 걸까요 -_-;;;;
-
그림자
참고로 ==도 오브젝트타입을 비교할수 있는데요 ==은 그 객체가 가리키는 주소를 비교 하는거구요 equals()는 그 객체가 가지고 있는 속성(데이터 값)를 비교 할때 쓰는거라네요.....^^
-
미즈
오브젝트타입은 equals()로 알아보는거였군요..! 흠.. 감사합니다.
-
화이티
line이 String 타입이고 \종료\ 이것도 문자열(string)이니까 객체를 비교하는 메소드인 equals()을 이용해야 되지안을까요?? line.equals(\종료\) 요렇게요 ^^!