前回をまだ読んでない方はこちら
👉 【ポケモン×Java】Lv13:『旅はまだ始まったばかり』』
💥 新章突入!ライバル「ヌル」が登場!
その日、研究所の前に立ちはだかる影――。
ヌル「やっぱり、ひとみん博士は甘いな。」
ヌル「お前みたいなヤツが、冒険になんか出ちゃいけないんだよ。」
== 彼の名は **ヌル(Null)**。 ============================================
静かに現れ、論理のスキマに忍び込み、エラーを引き起こすトレーナー。
次の一歩を阻む「設計ミスの化身」――
それがライバル・ヌル!
> 「……そのコード、nullだったよ。」
> 「期待してたけど、値が入ってないみたいだね。」
===========================================================================
ヌル「さあ、俺のゼニガメとバトルだ!!」
💡 バトル開始!…でも、攻撃できない!?
あなたのヒトカゲが、いつものようにこう叫ぶ。
public class BattleStage {
public static void main(String[] args) {
Hitokage hi = new Hitokage();
Zenigame ze = new Zenigame();
//ヒトカゲ攻撃だ(ゼニガメに、0番(かえんほうしゃ))
hi.attack(ze,0);
}
}
でも今回は、
「ヌルのポケモン」に attack が効かない!?
なぜ?どうして??
🚫 コンパイルエラーが発生!
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
型 Hitokage のメソッド attack(Pikachu, int) は引数 (Zenigame, int) に適用できません
at pokemon2.BattleStage.main(BattleStage.java:7)
📒 トレーナーメモ①
- エラーには、2種類あるんだ。
コンパイルエラー実行前に発見されるエラー
⇒ プログラミングの構成や、書き方が変実行時エラー実行中に発見されるエラー
⇒ 想定外の操作やデータが使用され、うまく処理ができない
エラーの中身をひとつずつ見てみよう!
| 部分 | 説明 |
|---|---|
| 型 Hitokage のメソッド attack(Pikachu, int) | ヒトカゲには attack(Pikachu, int) という 「ピカチュウに攻撃する」 メソッドがあるよ |
| 引数 (Zenigame, int) に適用できません | でも今回、ゼニガメに攻撃しようとしたので、型が合わなくてエラーになった |
| at pokemon2.BattleStage.main(BattleStage.java:7) | BattleStage.java の7行目でエラー |
✍️ 練習
実際にエラーになる様子を試してみよう。
- 同じようなエラーになるかな?
- エラー解消方法考えられるかな?
次回:『ピカチュウも、ヒトカゲも、、、』
今までは「ヒトカゲ vs ピカチュウ」のように、
具体的な相手が決まっているから攻撃できた。
じゃあ、また、「ヒトカゲ vs ゼニガメ」を作ればいいじゃないか!
でも、ポケモン全部作っていたら大変なことになってしまうよ
たすけて、ひとみん博士!!
次の投稿まで――
ピッピカチュウ!!
最後に
新章が始まり、新しくプロジェクトの作成をお願いします。
私は、pokemon2というプロジェクトを使用いたします。
あとがき
ここまで読んでくれて、本当にありがとうございました。
「プログラミングって難しい…」って思ってた人も、
「ちょっと楽しいかも…!」って思ってもらえたらうれしいな。
次の投稿も、よろしくおねがいします。
💬 コメント・フィードバック歓迎!
「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!