2012-10-10 8 views
0

가능한 중복 :
Using Java, how do I create a console application which manipulates text in system.out?이미 Java로 출력 된 값을 업데이트하려면 어떻게합니까?

나는 어떻게 질문을 전혀 모른다. 나는 누군가가 Google 검색 (아이러니 컬 한 방법으로 검색하는 법을 모르는 경우)을 수행하면 어딘가에 있다는 것을 보증합니다.

Java로 데이터를 출력 할 수 있다는 것을 알고 있습니다. 예를 들어 System.out.println을 사용하는 것입니다. 업데이트 값을 인쇄하려면 해당 명령문을 다시 사용하면 변경된 값으로 새 줄이 인쇄됩니다. 변경 될 때마다 print/println을 계속 사용하고 싶지 않습니다. 그것은 수많은 주장을 불러 일으킬 것입니다. 그 한 줄을 새로 고쳐야합니다. 그래서 새로운 값을 표시하기 위해 초마다 새로 고칩니다. X의

값은 다음과 같습니다 이제 5

, 그것은 항상 상쾌하고 숫자는 (변경된 경우 그래서 숫자 6이 될하는 데 사용되는 화면 (5)에 동일한 위치에 5를 대체하게됩니다 변경됩니다 좌석).

잘하면이 내용을 충분히 명확하게 만들었습니다. 나는 대학에서 Java 프로그래밍 과정을 밟았으며 이것을 보지 못했습니다 (모든 과정이 가능한 모든 각도를 다루지는 않습니다).

+1

가장 좋은 방법은 화면을 지우는 것인데/n을 인쇄하거나/f (용지 공급)를 인쇄하는 것입니다. Runtime.exec ("cls")를 사용할 수도 있습니다. (Windows에서 실행중인 경우)하지만 앱 시스템을 특정하게 만듭니다. – Jay

+0

당신이 말하는 것은 터미널 I/O입니다. 즉, 나는 자바에서 어떻게하는지 모른다. – CrazyCasta

+1

문제점의 해결책은 출력을 인쇄하는 터미널에 따라 다릅니다. 그래서 ... 어디서 출력하고 싶습니까? Windows 명령 프롬프트? 리눅스 터미널? 다른? – Lauri

답변

2

Java out-of-the-box를 사용하면 실제로 그렇게 할 수 없습니다. Java가 콘솔과 상호 작용하는 방식은 거의 독점적으로 스트림을 통해 이루어집니다. 덮어 쓰거나 제거하지 않는 (되감기 불가능한) 스트림에만 물건을 추가 할 수 있습니다.

콘솔의 경우 거의 예외가 있습니다. 콘솔의 경우 대부분 Console 클래스로되어 있습니다. 직접 조작은 적지 만 기존 텍스트를 다시 쓸 수는 없습니다.이

  • 출력 창
  • 시도를 직접 제어 할 JCurses 같은 라이브러리를 사용하는 위의 이전을 떠나,

    • 단순히 다시 라인을 인쇄 :

      당신은 그 일을 수행 할 수 있습니다

    모든하지만 첫 번째 옵션 (OS에 따라, cls 또는 clear) 외부 명령을 사용하여 콘솔을 취소합니다 중간 정도의 노력이 필요하며 코드에 상당한 복잡성이 추가되므로 해당 기능이 인 경우에만 고려해야합니다.이 필요합니다.

  • 0

    명령 프롬프트로 출력하면 값을 업데이트 할 수 없습니다.

    그래픽 환경에서는 업데이트 된 값과 이전 값을 비교하는 타이머를 설정하고 일치하지 않으면 레이블을 업데이트 할 수 있습니다.

    또는 스레드를 실행하여 값을 확인하십시오.

    0

    정확하게 이해한다면 println을 여러 번 호출하지 않는 것이 좋습니다.

    업데이트 메서드를 작성하고 업데이트 메서드 내에 println 문을 넣습니다. 따라서 업데이트를 호출 할 때마다 변수의 새 값이 인쇄됩니다.

    관련 문제