2017-09-07 9 views

答えて

0

はい。このように直接書くことも可能です。

bar = String.format("%" + percentage +"s", "="); 
0

これは、パーセンテージに少し依存します。それは(私は仮定として)int型、あなたのコードであれば、単にプリント「=」画面の「割合」回

int percentage = 20; 
System.out.println(String.format("%" + percentage +"s", " ").replace(" ", "=")); 
//prints ==================== 

ことが意図されている場合は、単に置き換える部分を残すことはできません - またはより具体的に:それはあなたと同じ結果が得られません。

System.out.println(String.format("%" + percentage +"s", "=")); 
//prints     = 

説明:

format("%" + percentage +"s", ...)(この場合の割合で)あなたが与えられている長さの2番目のパラメータをもたらします。長さが2番目のパラメータより短い場合は、目的の長さに達するまで左に空白が追加されます。

最初のバージョンはそれを "トリック"として使用し、後で生成されるスペースを "="で置き換えます。

2番目のバージョンでは、次のように書かれています。これを "="とし、目的の長さになるまで左に空白を追加します。

+0

なぜ、2番目のコードが私に同じ結果を与えないのでしょうか? "="のパーセンテージ時間を印刷したい –

+0

さらに詳しい説明を追加しました – JensS

+0

これで問題が解決した場合は、その答えを受け入れて質問を閉じることができますか? – JensS

関連する問題