문제

나는 시도했다 "&nbsp;&nbsp;"표준 출력 Java 문자열에 두 개의 공간을 표시합니다. System.out.println("__"); <---- (두 개의 공간, 그러나 분명히 그것은 하나의 공간으로 줄이므로 밑줄이 있습니다).

나는 탈출하는 방법이 있다고 생각합니다 &nbsp;, 그러나 나는 그것을 알아낼 수 없거나 온라인으로 도움을 찾을 수 없습니다. 그것을 검색하는 것은 많은 문자가 있기 때문에 아이러니합니다. &nbsp;&nbsp; 나타나다.

모든 도움이 감사하겠습니다.

편집하다:

for (int j = 0; j < COLUMNS; j++)
  if (j < 10){
    r += "__";
  }

인쇄 할 때 예상처럼 20 개가 아닌 10 개의 공간을 생산합니다.

죄송합니다. 아직도 여기에 서식이 새로 새로워졌습니다

도움이 되었습니까?

해결책

&nbsp; HTML- 특이 적 인코딩입니다.

당신이 처음이었습니다 - 두 공간에 해당하는 Java 줄은 단순히 두 개의 공간 문자입니다.

String s = "  ";

println ()은 당신이 시도한 전화를합니다 일했다. 당신은 그것이 단일 공간으로 다듬어 졌다고 믿게 만들었습니다. 나는 당신의 문제가 다른 곳이라고 생각합니다 ...

편집하다:

코드 스 니펫을 기반으로합니다 COLUMNS 5, 우연히? :-)

다시 편집 :

자, 열이 15 인 경우이 코드가 발생합니다. r 그것에 20 개의 공간이 추가되었습니다. 정말로 확신하고 싶다면 디버거를 밟거나 위에 로깅 문을 넣을 수 있습니다. r += 성명서가 몇 번이나 호출되는지 확인하는 줄.

또한 방법을 살펴보십시오 r 출력이 검사하는 곳으로 인쇄되기 전에 나중에 사용됩니다. 아마도 그 값은 Java에서 명시 적으로 또는 암시 적으로 명시 적으로 자리 잡을 수 있습니다 (예 : 검색되고 나중에 표시되기 전에 10자가 너무 좁은 데이터베이스 열에 저장되는 것).

다른 팁

끈에 비분한 공간을 원한다면 어떤 이유로 든 유니 코드 리터럴을 사용해야합니다.

System.out.println("banana\u00A0phone");

Java에서 사용할 필요가 없습니다. System.out.print(" "); 트릭을해야합니다. 다음과 같은 것을 시도하십시오.

System.out.print("This is the a string before spaces" + "  " + "this is a string after spaces");

ALT 키를 유지하고 숫자 패드에 0160을 입력하여 파괴되지 않은 공간을 만들 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top