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

番外編 自分で作ってみよう その6
初心者がよくする間違い つづき
  文字の打ち間違いや見間違い

それから、
文字の打ち間違いや見間違い。

メイン関数の中に
その間違いが2箇所あるね。


エラーメッセージは
・「シンボルを見つけられません」
・「¥12288は不正な文字です」
だね。

どう直せばいいか分かる?
うーん・・・
エラーになってるのは
分かるけど。

どう見ても合ってる様に
見えるんだけどなあ。
 
えーと・・・

「シンボルを
見つけられません」
って、前に見たね。
 
デバッグ:エラー原因(文字の打ち間違いや見間違い)1
エディタウィンドウ
 
デバッグ:エラー原因(文字の打ち間違い)2
エディタウィンドウ


これらのエラーの原因は
・文字の打ち間違い
・全角の空白文字の使用

コードのスペースには
半角しか使えない
からね。
「不正な文字」って
いうのは
全角空白文字の
ことだったの。

分かりづらいけどね。
本当だ!
カーソルが動く。

なんか
文字が入ってる!
えー!
全角の空白が
入ってたんだ!


そんなの
見えないよー。
 

文字の打ち間違いや見間違い
ことのコード(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  
           printSeparateMark();
全角の空白が入っている
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  
           printSeparateMark();
046      
047           }    
048       }
・・・    
黄色の部分が改変部分です。赤色の部分が削除部分です。

修正後、エラーが解消されたのを確認して下さい。


こんな感じで、似たような
文字を打ち間違えたり
見間違えたりして、エラーの
原因になることがある。

紛らわしい文字に
注意しよう。
はいっ。

はあ~・・・あたし、
よく間違えそうだから
特に気をつけなきゃ。
 
しっかり
確認しないと。
 

紛らわしい文字の例
j i
小文字のジェイ 小文字のアイ
l I
小文字のエル 大文字のアイ
n m
小文字のエヌ 小文字のエム
u v
小文字のユー 小文字のブイ
0 O
数字のゼロ アルファベットのオー
: ;
コロン セミコロン
. ,
ドット カンマ
 


それから、
全角文字と半角文字
にも注意
しよう。

前にも言ったけど
コーディングに使うのは
基本的に半角文字。


全角文字を使うのは
コメントとか
日本語メッセージの表示
の時だけにしておこう。
全角スペースと
半角スペースは
特に注意しないと。
エラーの原因に
なるからね。
これも注意ね!


いろいろ
混乱するからね。

書き方を
統一しよう。
初心者は、
変数名や関数名をつける時
ついつい命名規則を
守らないで宣言してしまう

ことが多い。

これらは文字に関係した
エラーの元になるからね。

命名規則を守って
読みやすいコードを書こう。
 
自分でつけて、それが元で
間違えちゃうんだ。

読みやすいコードが
エラーを減らすんだね。
  これも、
あたし
やりそう・・・。
 
 

文字の間違いの元になる例
(変数の場合の例)
 
    命名規則を守っていない。    
//全部小文字(複数単語は、2つ目以降の先頭を大文字)
int
seikaibangou= 0;

//全部大文字(変数なのに定数に見えるので紛らわしい)
int KAITOUBANGOU = 0;

//Javaでは基本的に変数に日本語名は付けない
int 正解合計 = 0;
         
    命名規則が統一されていない。    
  //日本語ローマ字名と英語名が混在
int
seikaiBangou= 0;
int correctNum = 0;
   
    ※セッションでは一部、意図的に混在させています。    
 
混乱の元になるので命名規則に従う事


文字の間違いは
こんな感じかな。


最初のうちは
特に気をつけてね。
 
いっぱい
注意しなきゃ!
はいっ、
分かりました。

     

インプットを
ランプットとかって
読んじゃったのかな?
でも、あたしどうかしてるね。

大文字のアイと
小文字のエルを
打ち間違えるなんて。

こんなの打った覚え
無いんだけどなあ・・・。
 
そりゃ、
覚えがあるわけ無いね。

俺がこっそり
書き換えたんだから。
  ニヒヒ
あるわけないー
 


ちょっと
いじわるな例
ってことで!
あ~・・・
  へろへろ~ん
あほでえー。

この娘、
あほあほ
ガールうー
ピキピキ  
なんつった?


そうか!
今までの間違いは
ぜーんぶ、なぽちゃんが
やったんだな!


そうでしょ、そうでしょ!
ごめんなさい
しろー!
これ1つだけ
ですううー。
全部
俺のせいにしたー!?


な訳あるかー!!


うるさーいっ!

自分でやったことも
分かんないお前が
悪いんだろ!

このおっちょこちょい娘!
怖いから
逆切れしとくー

押し切れー
・・・
ひどーい!

あたしは、
おっちょこちょい
じゃない!


・・・じゃない。


おっちょこちょい

・・・だろお~?
言ってて
気付いたでしょ。
うっ・・・
・・・。

精一杯
抵抗してみました。。。


ふふんっ
のりきった。

波乗り
なぽちゃん。
おっちょこちょい
じゃないもん・・・。

 
 

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