2009-10-16 8 views
2

아래 코드 조각의 스캐너 선언 바로 아래 System.out.print에서 이상한 결과가 나타납니다. 그것은 두 번 실행중인 것 같습니다. 나는 그것을 디버깅 한 즉시 인쇄 문을 실행 한 후 나는이 얻을 표준 출력 :이상한 System.out.print Netbeans의 동작

실행 : 입력 할 괴물 진수 : 입력 할 괴물 진수 :

내가 확인하기 "괴물"을 추가 그것은 어떻게 든 내게 알지 않고 while 루프 인쇄를 입력하지 않았습니다.

정보를 얻으려면 64 비트 JDK가 포함 된 64 비트 비스타 시스템의 netbeans IDE 6.7.1에서 실행되고 있습니다. 바라기를 당신은 나의 방법의 과실을 볼 수있다!

감사합니다.

편집 : Netbeans에서 생성 된 JAR 파일을 명령 줄에서 실행할 때 문은 한 번만 인쇄됩니다. Netbeans에서 이런 종류의 이상한 행동을 경험 한 사람이 있는데, 어떻게 이런 일이 발생하지 않도록 할 수 있는지 알 것입니다. 개발 사이클 중에 IDE 외부에서 작업해야하는 것을 싫어합니다.

private void getInput() 
{ 
    Scanner scanner = new Scanner(System.in); 

    System.out.print("Input a freaking binary number: "); 

    // Grab the next inputed long and save it in the currentValueInBinary 
    // member variable 
    setCurrentValueInBinary(scanner.nextLong()); 

    // Loop until a valid binary number is retrieved 
    while (!isNumberBinary(currentValueInBinary)) 
    { // Input was negative, report error and re-request input 
     System.out.println("Input must be a Binary value"); 
     System.out.print("\nInput a binary number: "); 

     setCurrentValueInBinary(scanner.nextLong()); 
    } 
} 
+1

명령 줄에서 직접 실행하면 동일한 결과가 나타 납니까? 이것을 리팩토링하여 짧지 만 완전한 * 프로그램으로 만들 수 있다면 디버깅이 더 쉬워집니다. –

+0

Netbeans 생성 된 JAR를 사용하여 명령 행에서 정상적으로 작동합니다. 그래서 이것이 넷빈즈 문제라고 생각합니다. 하나는 여전히 알아 내고 싶지만 적어도 좁혀 야합니다! – Brian

답변

3

Netbeans에서 print (String s) 버그의 "2 space after :"가 있습니까? 라인에

:

System.out.print ("입력 이진수를 도피");

두 번째 후행 공백을 삭제하십시오.

+0

너는 나를 농담으로하고있어! 이거 야! – Brian

+0

언제든지이 문제가 곧 해결 될 것이라는 것을 알고 계십니까? – Brian

+0

나는 이것을 결코 알아 채지 못했다. 복제해야 할 것입니다. 나는 이상하게 호기심이 많다. –