広告
  サイト内検索:
<Let's create a game!> Introduction of programming for absolute beginners English
 

SESSION 7 その4
練習問題

じゃあ、テストだ。

この問題をプログラムで計算してくれ。

KNMain.javaのメイン関数内に
答えを書いてくれ。

メイン関数内に
前に書いた文(20行目~)は
コメントアウトでもしてくれ。

よーし、がんばるぞ!

 
   

  練習問題1:問い


練習問題 1
 
問1:次の質問の結果を画面に表示しなさい。

あるところに食いしん坊の女の子がいました。
昼に100円のあめを5袋買いました。
夜に200円のビスケット3箱買いました。

質問:
1、昼の合計はいくら?
2、夜の合計はいくら?
3、昼と夜の合計はいくら?
 

ちょ、ちょっと、この内容って、
また・・・

もー、油断も隙もないんだから~。

どこから
見てるのよー
ヘンタイー。

これはみんなが
来るって言うから
買ったのー!
ふふーん♪

お前だなんて
誰も言ってないぜ。

でも、普通、
飴玉こんなに
いるかあ?
このアメダマンめ。

  練習問題1:解答


練習問題1 ことの解答コード(KotoTest2のKNMain.java)17行目~
 
・・・      
017            public static void main(String[] args) {  
018                  // TODO code application logic here  
019      
020                  //System.out.println((2048 * (1024 + 1024)) - 8658 +  
021                  //                             896 * 1024);  
022      
023                  //昼の合計を表示  
024                  System.out.println("昼の合計は" + 100 * 5 + "円です。");  
025      
026                  //夜の合計を表示  
027                  System.out.println("夜の合計は" + 200 * 3 + "円です。");  
028                      
029                  //昼と夜の合計を表示  
030                  System.out.println("昼と夜の合計は" + ((100 * 5) + (200 * 3)) +  
031                                                "円です。");  
032                   
033           }  
・・・      
黄色の部分が追加・改変部分です。
書き写して実行して下さい。
おっ、できたか。

おわっ!?
計算と文字列を連結してやがるし!

俺、数字の表示だけでいいと思ってた
んだけど・・・。

おまえ、意外とチャレンジャーだな。
だって、お金の単位も
書かないとだめでしょ?

連結出来るかなーって思って
やってみたら、なんか
出来ちゃったみたいだから。
おまけに
教科書のような
コメントも
打ててやがる。
えへへ

勝手にやって
ごめん。

テストだから
いいでしょ?


最初ね、「昼と夜の合計」出すところ
(100 * 5) + (200 * 3)って書いたら
500600円になってびっくりしたけど。。。

計算の外を括弧でくくって、
先に計算すれば大丈夫なんだね!
  なぽちゃんの
言うとおり
括弧使ったよ!

いろいろ
面白いね!

あ、そうなんだ・・・。

自分で解決
できちゃったの・・・。

教えてないのに。


練習問題 解答
実行結果(出力ウィンドウ)
 
おおお、上出来過ぎだ。
くそったれ。

この結果通り、文字列データと計算は連結
できるんだよ。

計算は、前後に文字列データがあると
計算後に自動的に文字列に変換されて
連結されるんだ。


前に500600円になっちゃったってのは、
全部の計算が終わる前に、
文字列の"500" + "600"になって連結された
からだよ。括弧が足りなかったんだな。


詳しくはもうちょっとあとでな。

そうなんだ。。。

順番て難しいね。
ケッ
すげえこった。

おいらはどうせ
落ちこぼれ。
  もう、なんで
そうなるのよー。

褒めてよー。
ひねくれものー。
 

練習問題1 間違いの例
 
・・・      
029                //昼と夜の合計を表示
030                  System.out.println("昼と夜の合計は" + (100 * 5) + (200 * 3) +  
031                                                "円です。");  
・・・      
 
計算を完了させるために括弧が足りない。
そのため (100 * 5)
(200 * 3) が別々に計算され
文字列の
"500" + "600"になって連結された
 
練習問題 不正解
実行結果(出力ウィンドウ)


でもな、お前の答えは正解だけど、
大きな問題があるんだ。

ほら、昼の合計と夜の合計を
すでに一回出してるのに、
全部の合計を出すために、
もう一回同じ計算をしてる。

これじゃ効率悪いよな。
同じ計算は一回にしないと。
   
 
そだね。。。

うーん、
最初の合計を取って
おければいいのにね。


練習問題1 ことの解答コード(KotoTest2のKNMain.java)17行目~
 
・・・      
017            public static void main(String[] args) {  
018                  // TODO code application logic here  
019      
020                  //System.out.println((2048 * (1024 + 1024)) - 8658 +  
021                  //                             896 * 1024);  
022      
023                  //昼の合計を表示  
024                  System.out.println("昼の合計は" + 100 * 5 + "円です。");  
025  
026                  //夜の合計を表示  
027                  System.out.println("夜の合計は" + 200 * 3 + "円です。");  
028                      
029                  //昼と夜の合計を表示  
030                  System.out.println("昼と夜の合計は" + ((100 * 5) + (200 * 3)) +  
031                                                "円です。");  
032                   
033           }  
・・・      
  は同じ計算


プログラムでは、こんな時
結果を保存しておける
変数(へんすう)が使えるんだ。

次に変数を見ていこう。

変な数???

変化する数!  
   


 
 

広告
home もくじ 前のページを読む 次のページを読む
  サイト内検索:
広告
お勧めの姉妹サイト
leafdays - リーフデイズ 超初心者のための園芸入門 - 楽しい趣味のガーデニング -
広告