コンソールにダイヤモンドを表示する。
問.コンソール上に「*」でひし形を出力してください。
今回は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(); } } } } |
コメント