아래 코드 조각의 스캐너 선언 바로 아래 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());
}
}
명령 줄에서 직접 실행하면 동일한 결과가 나타 납니까? 이것을 리팩토링하여 짧지 만 완전한 * 프로그램으로 만들 수 있다면 디버깅이 더 쉬워집니다. –
Netbeans 생성 된 JAR를 사용하여 명령 행에서 정상적으로 작동합니다. 그래서 이것이 넷빈즈 문제라고 생각합니다. 하나는 여전히 알아 내고 싶지만 적어도 좁혀 야합니다! – Brian