Tips

【Java】プログラム作成練習問題9

【Java】プログラム作成練習問題9

プログラム作成問題の第9回となります。

※この出題形式に関しては答えは1つではありません。
解答例はできるだけ複数載せるつもりですが、問題文の要件を満たしていれば正解として下さい。

問題

int型の変数nの数だけ縦横に●が表示されるプログラムを作成せよ。
例) nが3の場合
実行結果
●●●
●●●
●●●

解答例1
[java] package exercise;

public class Exercise_009 {
public static void main(String[] args) {
int n = 3;

for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print("●");
}
System.out.println();
}
}
}
[/java]

ネストfor文を使用しています。
外側のfor文が縦、内側のfor文が横を担っています。
横一段の出力、つまり内側のfor文が終了したら改行します。


解答例2
[java] package exercise;

public class Exercise_009 {
public static void main(String[] args) {
int n = 3;

for (int i = 1; i <= (n * n); i++) {
System.out.print("●");
if(i % n == 0) {
System.out.println();
}
}
}
}
[/java]

ネストfor文を使わない書き方です。
n*n個表示されるものをn個ずつ改行しています


間違い例

[java] package exercise;

public class Exercise_009 {
public static void main(String[] args) {
int n = 5;

for (int i = 0; i < (n * n); i++) {
System.out.print("●");
if(i % n == 0) {
System.out.println();
}
}
}
}
[/java]

解答例2と違うのはfor文で使われているiの初期値と条件です。
実行される回数自体は正しいのですがズレてしまいます。
出力処理をif文の後にすれば、最初に改行がされますがズレはなくなります。


  

新連載はじまりました!新Java基礎 連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search