初心者がよくする間違い つづき |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
それから、
文字の打ち間違いや見間違い。
メイン関数の中に
その間違いが2箇所あるね。
エラーメッセージは
・「シンボルを見つけられません」
・「¥12288は不正な文字です」
だね。
どう直せばいいか分かる? |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
うーん・・・
エラーになってるのは
分かるけど。
どう見ても合ってる様に
見えるんだけどなあ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
 |
えーと・・・
「シンボルを
見つけられません」
って、前に見たね。 |
|
|
|
 |
エディタウィンドウ |
|
|
 |
エディタウィンドウ |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
これらのエラーの原因は
・文字の打ち間違い
・全角の空白文字の使用
コードのスペースには
半角しか使えないからね。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
「不正な文字」って
いうのは
全角空白文字の
ことだったの。
分かりづらいけどね。 |
|
本当だ!
カーソルが動く。
なんか
文字が入ってる! |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
えー!
全角の空白が
入ってたんだ!
そんなの
見えないよー。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
文字の打ち間違いや見間違い |
|
ことのコード(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(); |
I(大文字のアイ)ではなく
l(小文字のエル)に
なっている |
040 |
|
|
|
041 |
|
//テスト:入力された番号の表示 |
|
042 |
|
System.out.println("テスト:入力された番号は "
+ inputNum); |
|
043 |
|
|
|
044 |
|
//表示終了の区切り |
|
045 |
|
|
全角の空白が入っている |
046 |
|
|
|
047 |
|
} |
|
048 |
|
} |
|
・・・ |
|
|
|
|
エラーメッセージの「\12288」は空白全角の文字コードを表している。
(ご利用の環境により「\u3000」と表示される場合もあります。) |
|
関数の後ろの部分をドラッグしてみると空白文字が入っているのが分かる。 |
場所がよく分からない場合、行ごと削除して書き直してみるのも有効。 |
|
|
|
 |
|
 |
|
|
 |
エディタウィンドウ |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
あ、思い出した!
「シンボルを見つけられません」
ってエラーメッセージは
「宣言されてない」ってことだ! |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
そう。
scanl(エル)nputData()
なんて関数は、どこにも
定義されてないからね。
呼び出したらエラー
になって当然だね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
ちゃんと
エラー
メッセージ
読めば
分かったんだ・・。 |
 |
|
 |
そゆこと。
2つとも
理解できたね。 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
はいっ。
えーと・・・
半角のl(小文字のエル)を
半角のI(大文字のアイ)にして。
それから、
全角の空白を削除・・・っと。
やった、エラー消えました! |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
それは次ね。 |
 |
|
 |
まだ
別のエラーが
あるけど。 |
|
|
|
 |
|
 |
|
ことのコード(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 |
|
|
046 |
|
|
047 |
|
} |
048 |
|
} |
・・・ |
|
|
|
黄色の部分が改変部分です。赤色の部分が削除部分です。
修正後、エラーが解消されたのを確認して下さい。 |
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
こんな感じで、似たような
文字を打ち間違えたり
見間違えたりして、エラーの
原因になることがある。
紛らわしい文字に
注意しよう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
はいっ。
はあ~・・・あたし、
よく間違えそうだから
特に気をつけなきゃ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
 |
しっかり
確認しないと。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
それから、
全角文字と半角文字
にも注意しよう。
前にも言ったけど
コーディングに使うのは
基本的に半角文字。
全角文字を使うのは
コメントとか
日本語メッセージの表示
の時だけにしておこう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
全角スペースと
半角スペースは
特に注意しないと。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
エラーの原因に
なるからね。 |
 |
|
 |
これも注意ね! |
|
|
いろいろ
混乱するからね。
書き方を
統一しよう。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
初心者は、
変数名や関数名をつける時
ついつい命名規則を
守らないで宣言してしまう
ことが多い。
これらは文字に関係した
エラーの元になるからね。
命名規則を守って
読みやすいコードを書こう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
自分でつけて、それが元で
間違えちゃうんだ。
読みやすいコードが
エラーを減らすんだね。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
これも、
あたし
やりそう・・・。 |
|
|
|
 |
|
 |
|
文字の間違いの元になる例
(変数の場合の例) |
|
|
|
命名規則を守っていない。 |
|
|
|
 |
//全部小文字(複数単語は、2つ目以降の先頭を大文字)
int seikaibangou= 0;
//全部大文字(変数なのに定数に見えるので紛らわしい)
int KAITOUBANGOU = 0;
//Javaでは基本的に変数に日本語名は付けない
int 正解合計 = 0; |
|
|
|
|
|
|
|
|
|
命名規則が統一されていない。 |
|
|
|
 |
//日本語ローマ字名と英語名が混在
int seikaiBangou= 0;
int correctNum = 0; |
|
|
|
|
※セッションでは一部、意図的に混在させています。 |
|
|
|
|
混乱の元になるので命名規則に従う事 |
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
文字の間違いは
こんな感じかな。
最初のうちは
特に気をつけてね。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
いっぱい
注意しなきゃ! |
 |
|
|
|
|
インプットを
ランプットとかって
読んじゃったのかな? |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
でも、あたしどうかしてるね。
大文字のアイと
小文字のエルを
打ち間違えるなんて。
こんなの打った覚え
無いんだけどなあ・・・。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
そりゃ、
覚えがあるわけ無いね。
俺がこっそり
書き換えたんだから。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
ニヒヒ
あるわけないー |
|
|
|
|
|
へろへろ~ん |
あほでえー。
この娘、
あほあほ
ガールうー |
 |
|
ピキピキ |
|
 |
なんつった? |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
そうか!
今までの間違いは
ぜーんぶ、なぽちゃんが
やったんだな!
そうでしょ、そうでしょ! |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
ごめんなさい
しろー! |
|
これ1つだけ
ですううー。 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
うるさーいっ!
自分でやったことも
分かんないお前が
悪いんだろ!
このおっちょこちょい娘! |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
怖いから
逆切れしとくー
押し切れー |
|
・・・ |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
ひどーい!
あたしは、
おっちょこちょい
じゃない!
・・・じゃない。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
言ってて
気付いたでしょ。 |
|
うっ・・・ |
 |
|
|
|
ふふんっ
のりきった。
波乗り
なぽちゃん。 |
 |
|
 |
おっちょこちょい
じゃないもん・・・。 |
|
|