コンソールにダイヤモンドを表示する。
問.コンソール上に「*」でひし形を出力してください。
今回は2重ループを使う問題です。

まずは自力でヒントを見ずに解いてみてください。
答えはこちら
ヒント1:まずは三角形を作る。

1~5行目までを作る
ヒント2:法則を考える
| スペースの数 | *の数 | |
| 1段目 | 4 | 1 |
| 2段目 | 3 | 3 |
| 3段目 | 2 | 5 |
| 4段目 | 1 | 7 |
| 5段目 | 0 | 9 |
ヒント3:ロジック的ヒント
ヒント1,2を通して、上部三角形を作るためのロジック的ヒント
ループ①:5段までを繰り返す処理
ループ②:各段のスペースをコンソールに表示するための繰り返し処理
ループ③:各段の*をコンソールに表示するための繰り返し処理
改行をする処理
ヒント4:下の逆三角形を作る。

下逆三角形の4行を作る。
ヒント5:下の逆三角形を作る。
| スペースの数 | *の数 | |
| 1段目 | 1 | 7 |
| 2段目 | 2 | 5 |
| 3段目 | 3 | 3 |
| 4段目 | 4 | 1 |
ヒント6:ロジック的ヒント
ヒント4,5を通して、下部逆三角形を作るためのロジック的ヒント
ループ①:4段までを繰り返す処理
ループ②:各段のスペースをコンソールに表示するための繰り返し処理
ループ③:各段の*をコンソールに表示するための繰り返し処理
改行をする処理
答えはこちら
答え
答え
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
package javalogic; public class JavaLogic1 { public static void main(String[] args) { // TODO Auto-generated method stub //9列目まで出力 for(int i=0;i<=8;i++) { //5列目までは空白は一つずつ減り、*は二つずつ増える if(i<5) { for(int j=4; j>i; j--) { System.out.print(" "); } for(int k=0; k<i*2+1; k++) { System.out.print("*"); } System.out.println(); } else { for(int k=1; k<=i-(8/2); k++) { System.out.print(" "); } for(int k=1;k<=(-2*i)+(2*8+1);k++) { System.out.print("*"); } System.out.println(); } } } } |


コメント