1

&nbsp;&nbsp;標準出力の Java 文字列に 2 つのスペースを表示するために" " を試しました。<---- を試しSystem.out.println("__"); ています (スペース 2 つですが、明らかに、スペース 1 つに切り詰められるため、アンダースコアになります)

を脱出する方法があると&nbsp;思いますが、それを理解することも、オンラインでヘルプを見つけることもできません。文字どおりのものがたくさん表示されるので、それを検索するのは皮肉なこと&nbsp;&nbsp; です。

どんな助けでも大歓迎です。

編集:

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

印刷時に予想される20個ではなく、10個のスペースを生成します

申し訳ありませんが、ここでフォーマットするのはまだ初心者です

4

4 に答える 4

6

何らかの理由で文字列に改行なしのスペースが必要な場合は、Unicode リテラルを使用する必要があります。

System.out.println("banana\u00A0phone");
于 2009-10-28T14:37:40.340 に答える
6

&nbsp;HTML 固有のエンコーディングです。

最初は正しかった - 2 つのスペースに対応する Java 文字列は、単純に 2 つのスペース文字です。

String s = "  ";

あなたが試みた println() 呼び出しはうまくいったはずです。1 つのスペースに切り詰められたと信じるに至った理由は何ですか? あなたの問題は他の場所にあると思います...

編集:

あなたのコード スニペットに基づいて - ひょっとしてCOLUMNS5 ですか? :-)

もう一度編集:

COLUMNS が 15 の場合、このコードではr20 個のスペースが追加されます。本当に確実にしたい場合は、デバッガーでステップスルーするか、ロギングステートメントをr +=行の上に置いて、ステートメントが呼び出された回数を確認してください。

rまた、出力が検査している場所に出力される前に、後でどのように使用されるかを見てください。おそらくその値は、Java で明示的に、または暗黙的に (後で取得して表示する前に 10 文字が狭すぎるデータベース列に格納されているなど)、ある時点で切り捨てられている可能性があります。

于 2009-10-28T14:33:47.693 に答える
2

Java で   を使用する必要はありません。System.out.print(" ");トリックを行う必要があります。次のようなものを試してください:

System.out.print("This is the a string before spaces" + "  " + "this is a string after spaces");
于 2009-10-28T14:36:15.383 に答える
0

Alt キーを押しながら数字パッドに 0160 と入力して、改行しないスペースを作成することもできます。

于 2009-10-28T15:03:07.357 に答える