Javaの質問です。空白行を開けたり、5行ぐらい指定して空白行を入れたいのですが。

ネットでいろいろ調べたのですが、どうもうまくいきません。

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のコードがあればお教えいただけないでしょうか。

よろしくお願い致します。

回答の条件
  • 1人10回まで
  • 登録:2018/10/14 00:48:00
  • 終了:2018/10/29 00:50:05

回答(3件)

id:degucho No.1

degucho回答回数274ベストアンサー獲得回数752018/10/14 02:44:25

ポイント167pt

みんな同じことを考えるようで
色々なやり方が出てます
https://stackoverflow.com/questions/1235179/simple-way-to-repeat-a-string-in-java
英語ですがコード部分を見ればわかると思います。

id:moon-fondu

deguchoさんありがとうございます!
すみません、あまり英語は得意ではなく…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さんなら、どの方法を推奨しますでしょうか?
また気が向いたらお教えいただけますと幸いです。
よろしくお願い致します。

2018/10/14 07:58:45
id:degucho

Java8以降だと仮定すると
a-kuma3さんが書いている形になるかと思います
(上記リンクBoannさんの回答)
ちなみに1位の回答は最新のJava11なら
line_sep.repeat(5)
と書けるよ、というものです。

学習目的であれば、さらに下の回答にあるように
「指定された回数繰り返した文字列を返す」
関数を自作するのもよいと思います
(あとStringBuilderを使った文字列生成も)

2018/10/14 15:54:22
id:TAK_TAK No.2

tak回答回数1047ベストアンサー獲得回数882018/10/14 12:20:28

ポイント167pt

System.out.println("あいうえお\n\n\n\n\nかきくけこ");


このコードではダメな理由は何でしょうか?

id:moon-fondu

うーん、なんとなくです・・・(^^;)

2018/10/16 20:47:12
id:a-kuma3 No.3

a-kuma3回答回数4762ベストアンサー獲得回数20442018/10/14 14:44:02

ポイント166pt

別の質問の回答でも使った String.join() を使った方法です。

    System.out.println("あいうえお");
    System.out.print(String.join("", Collections.nCopies(5, "\n")));
    System.out.println("かきくけこ");

https://ideone.com/S73fOR


うーん、お世辞にもスマートとは言えないなあ...
Ruby とかだと、"\n" * 5 で、五つの改行とかになったりするのですけれど。

id:moon-fondu

ありがとうございます、うまくいきました(^^;)

2018/10/16 20:47:49

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません