初心者がよくする間違い つづき |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
じゃあ、初心者がよくやる
エラーを見ていこう。
初心者の人はよく
こんな間違いをするね。
他にもいろいろあるけど。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
俺の主観
だけどね。
こんなのが
多いんじゃね。 |
|
えっへん |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
そうなんだ。
いろいろあるんだね!
初心者の人って
大変なんだねー。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
プログラミング初心者がよくする間違い |
|
・ブロックの整合性 |
・文字の打ち間違いや見間違い |
・制御文の書式間違い |
・間違いの場所の思い込み |
|
|
|
|
 |
|
 |
|
|
大変って
あなたねえ・・・。 |
 |
|
 |
なあに? |
|
|
|
ちょいちょい。
お姉さん。
ちょっと
見てごらん。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
じゃあ、コードを見てみよう。
まず・・・ここ。
ブロックの整合性がおかしいね。
閉じてないブロックがあるよな。
「}」括弧が多いんだよ。
ブロックは開始と終了の2つで1組。
「{」で始まり「}」で閉じる。
もう一度確認しよう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
え?あ・・・
やだー!うそー!
本当だー!!
この括弧要らない!
ごめんなさいー。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
恥ずかしー。
なんでー???
何回も見たのに! |
|
|
|
 |
|
 |
|
ブロックの整合性 |
|
ことのコード(KotoBeginnerErrorのKBEMain.java)27行目~ |
・・・ |
|
|
|
027 |
|
public static void
main(String[] args) { |
ブロックA 開始 |
028 |
|
// TODO code application logic here |
|
029 |
|
|
|
030 |
|
//******************************************** |
|
031 |
|
// メイン処理 |
|
032 |
|
//******************************************** |
|
033 |
|
while (loopFlg)
{ |
ブロックB 開始 |
034 |
|
|
|
035 |
|
//テスト:番号入力表示 |
|
036 |
|
System.out.print("テスト:番号を入力して下さい>"); |
|
037 |
|
|
|
038 |
|
//入力番号を受け取る |
|
039 |
|
inputNum =
scanlnputData(); |
|
040 |
|
|
|
041 |
|
//テスト:入力された番号の表示 |
|
042 |
|
System.out.println("テスト:入力された番号は "
+ inputNum); |
|
043 |
|
|
|
044 |
|
//表示終了の区切り |
|
045 |
|
printSeparateMark(); |
|
046 |
|
} |
ブロックB 終了 |
047 |
|
} |
ブロックA 終了 |
048 |
|
} |
不要な括弧 |
・・・ |
|
|
|
|
不要な括弧が存在する。 |
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
この間違いの場合、
IDEのエラーメッセージは、
全然関係が無い内容が出てる
可能性が高いから気をつけよう。
そりゃ当然だよね。
ブロックがおかしくて処理の区切りが
滅茶苦茶になってるんだから。
じゃあ、
不要な括弧を削除してみよう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
本当だ!
括弧を削除したら・・・
全然関係無い
キー入力処理関数の
エラーが全部消えた!
IDEも混乱してたんだ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
IDEでも
理解不能なの。 |
 |
|
 |
全然違う
場所が直った! |
|
|
|
 |
|
 |
|
ことのコード(KotoBeginnerErrorのKBEMain.java)27行目~ |
|
・・・ |
|
|
027 |
|
public static void
main(String[] args) { |
028 |
|
// TODO code application logic here |
029 |
|
|
030 |
|
//******************************************** |
031 |
|
// メイン処理 |
032 |
|
//******************************************** |
033 |
|
while (loopFlg)
{ |
034 |
|
|
035 |
|
//テスト:番号入力表示 |
036 |
|
System.out.print("テスト:番号を入力して下さい>"); |
037 |
|
|
038 |
|
//入力番号を受け取る |
039 |
|
inputNum =
scanlnputData(); |
040 |
|
|
041 |
|
//テスト:入力された番号の表示 |
042 |
|
System.out.println("テスト:入力された番号は "
+ inputNum); |
043 |
|
|
044 |
|
//表示終了の区切り |
045 |
|
printSeparateMark(); |
046 |
|
} |
047 |
|
} |
048 |
|
} |
・・・ |
|
|
|
赤色の部分が削除部分です。削除してコードを整えて下さい。
変更後、エラーが解消されたのを確認して下さい。 |
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
これは初心者の人が
よくやる間違いだ。
まずこの間違いを疑ってみよう。
一つ一つ
括弧の組を確認してね。
予防する意味でも
インデントをしっかりして
ブロックを揃えるようにしような。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
2つ以上
間違えてると
探すの大変だから
気をつけよう。 |
|
|
しゅん・・・ |
確認します・・・ |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
はい、気を付けます・・・
括弧をクリックすると
IDEが括弧の組を教えて
くれるから便利だね・・・。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
 |
えっとー |
|
いやああー!
許してー! |
 |
|
|
|