noblog!バンコク生活はなぜ良いのか

生のバンコク情報をおとどけ!

ゼロから始めるJava学習 in バンコク その24 Java入門編5ついに終了!

もうメシは食ったかの?儂はノブじゃ。

f:id:nobubkk:20180803142726p:plain

儂はいま「paizaラーニング」を利用してJavaの勉強に取り組んでいる。

paizaラーニングJava入門編全10講座中、入門編5まで進めている。

 

 

  

#10:標準入力から2次元配列

 今回は標準入力からの読み込みで2次元配列の練習をするようだ。

入力エリアに次のように数字を入れて読み込んでみたい。

7 16
0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1
0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0
0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1
1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1
0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0

 

最初の7 16は7行16列を表している。

Scanner sc= new Scanner(System.in);

int n= sc.nextInt();

int m=sc.nextInt();

System.out.println(n+" "+m);

int[ ] [ ] table= new int[n][m];

for (int i=0; i<n; i++){

for (int j=0; j<m; j++){

table[i][j] =sc.nextInt();

System.out.print(table[i][j]);

}

System.out.println("");

}

これで入力エリアの数字が出力された。

 

では、この数字の1を#に、0をスペースで表してみよう

Scanner sc= new Scanner(System.in);

int n= sc.nextInt();

int m=sc.nextInt();

System.out.println(n+" "+m);

int[ ] [ ] table= new int[n][m];

for (int i=0; i<n; i++){

for (int j=0; j<m; j++){

table[i][j] =sc.nextInt();

if(table[i][j]==1){

System.out.print("#");

} else {

System.out.print( " ");

}

}

System.out.println("");

}

これで、 

7 16 ### ### ### ### ############ ## ## # ### ### # ## ## ## ############

できたー!

最近は毎回そうだが、ここに書くために何度も何度も書き直し、調べなおしをしながら書いている。

もし本当に読んでいる人がいるのなら、儂のアウトプットの練習台のブログで申し訳ないと思う。

が、儂にとっては良い練習場所だ。

 

#11:2次元配列で画像を配置

このチャプターでは2次元配列で将棋の駒の初期状態のようにキャラクターを配置したい。

あらかじめ、characterMap配列

["1","1","1","1"],

["0","0","0","0"],

["2","3","4","2"] 

を用意して、playerImages配列

0:Empty.png

1:Dragon.png

2:.Crystal.png

3:Hero.png

4:Heroine.png

をhtmlのtableタグで表示する。

 

playerImagesのイラストはここで表せないのでその部分は省略したい。

String[ ] playerImages={

"https・・・・・/Empty.png",

"https・・・・・/Dragon.png",

"https・・・・・/Crystal.png",

"https・・・・・/Hero.png",

"https・・・・・/Heroin.png",

}

こうしてplayerImagesのイラストファイルを用意しておく。

 

ここから本番。

まずは、characterMap配列を用意してそれを出力してみる。

int[ ][ ] characterMap= {{1,1,1,1},

{0,0,0,0},

{2,3,4,2}};

for (int [ ] line : characterMap){

for (int imageId : line){

System.out.print(imageId);

}

System.out.println("");

}

これで、

1111

0000

2342

と表示された。

 

次にこれをhtmlで表示してみる。

htmlではtableタグ、trタグ、tdタグを使う。

int[ ][ ] characterMap= {{1,1,1,1},

{0,0,0,0},

{2,3,4,2}};

System.out.println("<table>");

for (int [ ] line : characterMap){

System.out.println("<tr>");

for (int imageId : line){

System.out.print("<td>"+ imageId+ "</td>");

}

System.out.println("</tr>");

}

System.out.println("</table>");

 これで、

<table> <tr> <td>1</td><td>1</td><td>1</td><td>1</td></tr> <tr> <td>0</td><td>0</td><td>0</td><td>0</td></tr> <tr> <td>2</td><td>3</td><td>4</td><td>2</td></tr> </table>

こう表された。

 

htmlでこれを表すと

1111

0000

2342

と表されている。

 

ここで先ほどのplayerImagesのイラストを表示させるようにさせると、

int[ ][ ] characterMap= {{1,1,1,1},

{0,0,0,0},

{2,3,4,2}};

System.out.println("<table>");

for (int [ ] line : characterMap){

System.out.println("<tr>");

for (int imageId : line){

System.out.print("<td><img src=' "+playerImages[imageId]+ " '></td>");

}

System.out.println("</tr>");

}

System.out.println("</table>");

これで、

 

できたー!

 

こうしてイラストを出力するとちょっと感動してしまうなー。

プログラミングってすごい!

難しいけど、楽しいなと思う。

 

Java入門編5がついに終了!!

入門編5がついに終了してしまった。

f:id:nobubkk:20181016030048j:plain

 

学んできたレッスンは以下の通り。 

f:id:nobubkk:20181016030055j:plain

 

まあ、学んできたけどきちんと全部覚えているわけではないが・・・

paizaラーニングには、いろいろなゲームが用意されているので、それを利用して復習を少しずつやっていきたい。

今の段階ではできない問題が多すぎてまだ無理だが。

 

 残りのJava入門編のレッスンはこちら。

f:id:nobubkk:20181016030101j:plain

ここまでにも何度か、メソッドとかクラスとか言葉が出てきている。

次のレッスンではそのあたりを習っていくようだ。

また、どのプログラミング言語の勉強を始めようかと調べたときにもこの言葉は出てきていた。

メソッドとかクラスとかどういうものなのか、これからの勉強が楽しみだ。 

 

 ※有料講座の内容は少し問題等を改変しています。

これからプログラミングの勉強を始めようと思っている方、ぜひ一緒にやっていきましょう。

今宵はここまで。また次を楽しみにしておれ。

 

 

ページを閉じる前に、クリックしてから閉じてね。よろしくお願いします!

にほんブログ村 海外生活ブログ タイ情報へ
にほんブログ村

にほんブログ村 海外生活ブログへ
にほんブログ村