ネットでいろいろ調べたのですが、どうもうまくいきません。
System.getProperty("line.separator")
を入れたり。
String line_sep = System.getProperty("line.separator");
System.out.println("あいうえお" + line_sep + "かきくけこ");
とか、してみたのですが。
結果は、
------------
あいうえお
かきくけこ
------------
だったりします。
自分がやりたいのは、Javaのprintln( )メソッドとかで出来る一行の改行ではなくて、
------------
あいうえお
かきくけこ
------------
と、文字列と文字列の間に空白行を入れたり。
------------
あいうえお
かきくけこ
------------
と、5行ぐらい改行を入れたいのです。
自分で見つけた方法としては、
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
で、5行の空白行は作れるのですが。
何か冗長のコードといいますか…スッキリ空白行を入れたり指定の数の空白行を出力できるJavaのコードがあればお教えいただけないでしょうか。
よろしくお願い致します。
みんな同じことを考えるようで
色々なやり方が出てます
https://stackoverflow.com/questions/1235179/simple-way-to-repeat-a-string-in-java
英語ですがコード部分を見ればわかると思います。
System.out.println("あいうえお\n\n\n\n\nかきくけこ");
このコードではダメな理由は何でしょうか?
うーん、なんとなくです・・・(^^;)
別の質問の回答でも使った String.join() を使った方法です。
System.out.println("あいうえお"); System.out.print(String.join("", Collections.nCopies(5, "\n"))); System.out.println("かきくけこ");
https://ideone.com/S73fOR
うーん、お世辞にもスマートとは言えないなあ...
Ruby とかだと、"\n" * 5
で、五つの改行とかになったりするのですけれど。
ありがとうございます、うまくいきました(^^;)
deguchoさんありがとうございます!
2018/10/14 07:58:45すみません、あまり英語は得意ではなく…if~elseとか使ってるものとかを入れてみたのですが、
どうも実行しても求めてる結果がうまく出てこないといいますか、どこにコードを挿入していいのかがわからない状態でして(;'∀')
例えば、
----------------------
public class test {
public static void main(String args[]) {
System.out.println("あいうえお");
System.out.println("かきくけこ");
System.out.println("さしすせそ");
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
System.out.print("たちつてと");
System.out.print("なにぬねの");
System.out.print("はひふへほ");
}
}
----------------------
というコートで「System.out.println("");」5連発の箇所を、スマートに記述して改行させたいのですが。
もしdeguchoさんなら、どの方法を推奨しますでしょうか?
また気が向いたらお教えいただけますと幸いです。
よろしくお願い致します。
Java8以降だと仮定すると
2018/10/14 15:54:22a-kuma3さんが書いている形になるかと思います
(上記リンクBoannさんの回答)
ちなみに1位の回答は最新のJava11なら
line_sep.repeat(5)
と書けるよ、というものです。
学習目的であれば、さらに下の回答にあるように
「指定された回数繰り返した文字列を返す」
関数を自作するのもよいと思います
(あとStringBuilderを使った文字列生成も)