10/18 Java プログラミング入門(2)


前回までの補足


前回の課題について

10/11 課題

自分のイニシャルを大きく格好良く表示するプログラムを書きなさい.ファイルは, 自分のホームディレクトリの下に java というディレクトリを作成して,その 下にMyName.java という名前で作成する(クラス名もMyNameという名前で作成する).
解答例(1)
//名前:XX XX
//学生証番号:XXXX
class MyName{
  public static void main(String[] argv){
    System.out.println("                   ____");
    System.out.println("\\_         _/    /      \\");
    System.out.println("  \\_     _/     /        \\");
    System.out.println("    \\_ _/      |          |");
    System.out.println("      |        |          |");
    System.out.println("      |         \\        /");
    System.out.println("      |    ・    \\ ____ /");
  }
}
実行例
                   ____
\_         _/    /      \
  \_     _/     /        \
    \_ _/      |          |
      |        |          |
      |         \        /
      |    ・    \ ____ /
解答例(2)
/* イニシャル作成プログラム
S1ーX XXXX
学生証番号:XXXXXX

凝ってみたけど結局意味がなかったです(泣) */

// イニシャル作成用クラス
class Inimake {

  // イニシャル作成用メソッド
  void making(int loc[] , char c) {
    int i = loc.length; // 配列の長さ取得
    int j = 0; // カウント用変数

    while (j < i) {		// 長さ分だけ繰り返す

      for (int d = 0 ; d < 30 ; d++) {
	if (loc[j] == d) j++;

	switch (j % 2) {		// jの値で切り替えて表現
	case 0:
	  System.out.print(" ");
	  break;
	case 1:
	  System.out.print(c);
	}

	if (d == 29) System.out.print("\n"); // 改行も忘れずに行う
	if (j == i) break; // 配列の要素数を越えて参照しないようにする
      }
    }
  }
}


class MyName {
  public static void main(String args[]) {

    // 配列を宣言して領域を割り当て、初期化する。
    int data[] = {1,9,17,25,0,1,9,10,16,17,25,26,0,1,16,17,1,3,17,19,3,5,19,21,5,7,21,23,7,9,23,25,9,10,25,26,0,1,13,15,16,17,25,26,1,9,13,15,17,25};

    char ini = 'S'; // イニシャルはS,S

    Inimake S = new Inimake(); // インスタンス作成
    S.making(data , ini); // メソッド呼び出し
    System.out.println("\nProgramed by Sakai Shuichi");
  }
}
実行例
 SSSSSSSS        SSSSSSSS     
S        S      S        S    
S               S             
 SS              SS           
   SS              SS         
     SS              SS       
       SS              SS     
         S               S    
S            SS S        S    
 SSSSSSSS    SS  SSSSSSSS 
Programed by Sakai Shuichi

講評

想定した解答は解答(1)のように,System.out.println を並べるもの.プログ ラムとして凝る所はないので,出力で凝ってもらうことにした.以下に出力結 果を示す.

解答(2)は FAXの符号化などに使われる run length encoding によって,図形 を表現した高度なプログラムで,この講義では第4回か第5回位終えた時点での 知識を必要とする.しかし,本人も書いているように,かえってプログラムが 長くなっていて,あまり意味がない.


実行例総まとめ
 #    #           ####
 ##  ##          #
 # ## #           ####
 #    #   ###         #
 #    #   ###    #    #
 #    #   ###     ####

     ____  ____/     __  ____/   __  ____/
          /             /           /
         /             /           /
        /             /   _______ /
       /             /           /
      /             /           /
 ____ ___/  __/  __ ____/   __ ____/    

**     **    ******* 
 **   **      ***   
  ****       ***   
  **        ***     
 **  **  *******
    **   **      *******
   **   **      **
  *******      *******
 **   **           **
**   **   *  *******
                   ____
\_         _/    /      \
  \_     _/     /        \
    \_ _/      |          |
      |        |          |
      |         \        /
      |    ・    \ ____ /
         __________     /\
        /___   ___/    //\\
           /  /       //  \\
          /  /       //    ||
         /  /       //     ||
        /  /       //     //
       /  /  _    //_____//
      /__/  /_/  /_______/
#############o
###oooooooo####o
###o       o###o
###o        ###o
###o       ####o
#############oo
###oooooooo###o  ###o  ###o  ###o
###o       o###o ###o  ###o  ###o
###o        ###o ###o  ###o  ###o
###o        ###o ###o  ###o  ###o
###o        ###o ###o  ###o  ###o
oooo        oooo ###o  ###o  ###o
                 ###o  ###o  ###o
                 ###o  ###o  ###o
                 ###o  ###o  ###o
                 o####o#####o###o
                  oo############o
                    ooooooooooooo
 SSSSSSSS        SSSSSSSS     
S        S      S        S    
S               S             
 SS              SS           
   SS              SS         
     SS              SS       
       SS              SS     
         S               S    
S            SS S        S    
 SSSSSSSS    SS  SSSSSSSS 
Programed by Sakai Shuichi
   #####      #####
  #          #
   ####       ####
       #          #
  #####  #   #####
               SSSSSSS                          SSSSSSS
             SSSS    SSSS                     SSSS    SSSS
            SSSS                             SSSS
             SSS                              SSS
              SSSSSSS                          SSSSSSS
                  SSSSS                            SSSSS
                      SSSSS                            SSSSS
           SSSS     SSSSS        ss         SSSS     SSSSS
              SSSSSSSS           ss            SSSSSSSS
 __       __             __________  
 \ \     / /            |  ______  | 
  \ \   / /             | |      |_| 
   \ \ / /              | |________  
    \   /               |________  | 
     | |                 _       | | 
     | |                | |______| | 
     |_|        []      |__________| 
   MMMm     MMMm             Aa        TTTTTTTTTTTTTTt
    MMm     MMm              AAa      Tt     TTt     Tt
    MMMm    MMMm            AAAa             TTt
   MMmMm   MMmMm            AAaAa            TTt
   MMm Mm  MMm Mm          AAa  Aa           TTt
   MMm Mm  MMm Mm          AAa  Aa           TTt
  MMm  Mm MMm  Mm         AAa    Aa          TTt
  MMm   MMMm    Mm        AAAAAAAAa          TTt
  MMm   MMMm    Mm       AAa      Aa         TTt
 MMm    MMm      Mm      AAa      Aa         TTt
 MMm    MMm      Mm ..  AAa        Aa  ..    TTt   ..
MMMMm  MMMMm    MMMm.. AAAAa      AAAa ..   TTTTt  ..
*           *  *               *
  *       *     *             *
    *   *        *     *     *
      *           *   * *   *
      *            * *   * *
      *      **     *     *
 $~|   $~/       $^\      $^/
 $~|  $~/         $^\    $^/
 $~| $~/           $^\  $^/
 $~|$~<               $$|
 $~| $~\              $$|     
 $~|  $~\   $$~|      $$|
 $~|   $~\  $$~|      $$|
YY      YY      KK  KK
 YYY  YYY       KK KK  
   YYYY     *   KKKK 
    YY          KK KK
    YY          KK  KK
|    /          -------
|   /              |
|  /               |
| /                |
|/\                |
|  \               |
|   \              |
|    \    _        |
|     \  |_|    -------
*--------------*    *------*
|              |    |      |
*-----*--*-----*    *-*  *-*
      |  |            |  |
      |  |            |  |
      |  |            |  |
      |  |            |  |
      |  |          *-*  *-*
      |  |          |      |
      *--*    **    *------*
 |    /      |     |
 |   /       |     |
 |  /        |     |
 | /         |     |
 |\          |     |
 | \         |     |
 |  \        |     |
 |   \    |  |     |
_|    \_ _| _______|

斜めはできないとおもっていたが、できたので2つとも載せておいた

        /    /       /     /
       /   /        /     /
      /  /         /     /
     / /          /     /
    /\            /     /
   /  \          /     /
  /    \     /  /     /
_/      \_ _/ _______/
eeeeeeeeee        nn         n
e                 n  n       n
e                 n   n      n
eeeeeeee          n     n    n
e                 n      n   n
e                 n        n n
eeeeeeeeee   o    n         nn
     MMM        MMM     GGGGGGGG
     MMMM      MMMM    GGG     GG
==   MM MM    MM MM    GG         ==
==   MM  MM  MM  MM    GG  GGGGGG == 
     MM   MMMM   MM @@ GG     GGG
     MM    MM    MM @@  GGGGGGG
@        @        @       @@@@@@@@@@@@@@@
 @       @       @        @
 @       @       @        @
   @    @ @     @         @@@@@@@@@@ 
   @    @ @     @         @
    @  @   @   @          @
     @ @    @ @     @@    @  
      @      @      @@    @
   %%%%%%%%%%%%%%        %%%    %%% 
        %%%              %%%   %%%  
        %%%              %%% %%%    
        %%%              %%%  %%%   
        %%%              %%%   %%%  
        %%%        **    %%%    %%% 
       /        /        / / /           
      /      /          /     /          
     / /  /            /      /          
    /       /         /      /           
   /         /   .   / / / /             
 *           *             
   *      *                
   *     *                 
   *   *                   
   * *             *    *  
   *  *            *   *   
   *   *          * *  *   
   *     *        *  *     
  *        *     *    *    
*****  * *             
  *    **              
  *    * *             
  *  * *  * *          
My name is Takehiro Kumata
#  #   #  #     #  #
 $  $ $  $      $  $
  %     %       %  %
   &   &        &  &
   !   !        !  !
   @   @        @  @
   *   *   ()   *  *
TTTTTTTTTTT    IIIII
     T           I
     T           I
     T           I
     T           I
     T           I
     T      *  IIIII
   &&&&&          &&&&&&&&&&
&&&    &&&        &
&&&&              &
&&&               &&&&&&&&&&
&&&&              &
 &&&    &&&       &
   &&&&&    &&    &&&&&&&&&&
       **            **    **   
      **    *       **   **    
     **   * * *    ** **         
**  **     * *    **   **       
  **             **    **
TTTTTTTTT   N      N
    T       N N    N
    T       N  N   N
    T       N    N N
    T     . N      N
  ____  ____/ ____  ____/
       /           /
      /           /
     /           /
    /           /
   /    /      /
 _/  __/     _/

今日の課題

上のURLは,今日(10/18)の17:00 までは
Forbidden

You don't have permission to access /~ktanaka/programming00/kadai1018.html on this server.
とうメッセージが出てアクセ スできないはずである.17:00以降にも同様のエラーが出る時は,Shiftキーを 押しながら,再読み込み(Reload)を押してみること.
次へ進む