& nbsp 문자는 Java에서 올바르게 표시되지 않습니다
-
08-07-2019 - |
문제
나는 시도했다 "
"표준 출력 Java 문자열에 두 개의 공간을 표시합니다. System.out.println("__");
<---- (두 개의 공간, 그러나 분명히 그것은 하나의 공간으로 줄이므로 밑줄이 있습니다).
나는 탈출하는 방법이 있다고 생각합니다
, 그러나 나는 그것을 알아낼 수 없거나 온라인으로 도움을 찾을 수 없습니다. 그것을 검색하는 것은 많은 문자가 있기 때문에 아이러니합니다.
나타나다.
모든 도움이 감사하겠습니다.
편집하다:
for (int j = 0; j < COLUMNS; j++)
if (j < 10){
r += "__";
}
인쇄 할 때 예상처럼 20 개가 아닌 10 개의 공간을 생산합니다.
죄송합니다. 아직도 여기에 서식이 새로 새로워졌습니다
해결책
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을 입력하여 파괴되지 않은 공간을 만들 수도 있습니다.