できるとちょっと気持ちいい!ビギナー向けプログラミング問題

期限:2017-05-09
  • Java
  • ビギナー向け
投稿:エンプラ運営事務局

コマンドラインから数値を入力し、入力した数の段のピラミッドを作成してください。

// 入力値「5」
// 出力結果
    ■
   ■■■
  ■■■■■
 ■■■■■■■
■■■■■■■■■

すべての回答(2名)※投稿順

  • 銀ちゃんさん
    小樽商科大学[文系]
    投稿日時 - 2017-04-25 23:01:36
  • 回答を表示
  • import java.util.Scanner;

    public class pyramid{

        public static void main(String[] args){

            int i,j,k;

            Scanner scan = new Scanner(System.in);

            //try~catchで、入力ミス時にメッセージを出せるように
                try{

                System.out.println("数字を入力してください。");

                int input;
                input = scan.nextInt();    //数字を入力してもらう

                System.out.println("入力値「"+input+"」");
                System.out.println("出力結果");


            for(i=0;i<=input;i++){

            // " "(空白)は、「(入力値-行数)×2」
                for(j=1;j<=(2*(input-i));j++){
                    System.out.print(" ");
                }


            //"■"は「(2×行数)-1」
                for(k=1;k<=(2*i)-1;k++){
                    System.out.print("■");
                }

            System.out.println("");

            }

                }//tryのかっこ閉じ

                catch(java.util.InputMismatchException e)    //数字じゃなかったら終了
                    {System.out.println("入力されたのは数字ではありません。");
                }

        }

    }
  • 名無しさん
    [文系]
    投稿日時 - 2017-05-06 11:11:51
  • 回答を表示
  • 完全にルール違反ですが、javaをやったことがないので、代わりにpythonで書いてみました。
    x=5
    for i in list(range(1,x+1)):
    print (" "*(x-i),"■"*i)
掲示板でのコメント(1件)
  • 1 名無しさん

    def createPyramid(n): return [' ' * (n - i) + '■' * i for i in range(1, n + 1)] print('\n'.join(createPyramid(int(input()))))

  • ログインまたは新規登録でコメントを投稿できます
関連スレッド