記述方法を間違えたプログラムを実行するとデバッガプログラムがその部分を指摘してくれます

みー「僕も プログラムをうちこんでみるにゃ


以下 みーちゃんの打ち込んだプログラム

👇


/**

*

*/

package project1;


/**

* @author solarplexuss

*

*/

public class Sample001 {


/**

* @param args

*/

public static void main(String[] args) {

// TODO 自動生成されたメソッド・スタブ

System.out.println("Hello World!")

}


}


みー「プログラムをEclipseの▷ボタンを押して実行してみるにゃ」


ぽんぽん


プログラムの実行結果



Exception in thread "main" java.lang.Error: Unresolved compilation problem:

構文エラーがあります。";" を挿入して BlockStatements を完了してください


at project1/project1.Sample001.main(Sample001.java:17)



みー「な・・なんだと・・・」


ハー「あれっ


Hello World!


が表示されないね なんでかな~」


キャロット「みなさん


プログラムの実行結果に表示されるエラー文

👇

Exception in thread "main" java.lang.Error: Unresolved compilation problem:

構文エラーがあります。";" を挿入して BlockStatements を完了してください


at project1/project1.Sample001.main(Sample001.java:17)

👆

に御注目下さい


このエラー文のように


▷ボタンを押してプログラムを実行したとき


プログラムの記述に誤りがあると



         デバッガ(デバッガプログラム)



がそれを指摘してくれます


デバッガとはプログラムの記述の誤りを指摘してくれるプログラムなんです


この場合


構文エラーがあります。";" を挿入して BlockStatements を完了してください


がコンソール画面に表示されています


どこかに


;(セミコロン)


をつけ忘れている箇所があるというわけです


では どこにつけ忘れているかというと


at project1/project1.Sample001.main(Sample001.java:17)


の文章に御注目下さい


この文章はプログラムのどの行に間違いがあるかを指摘しており


(Sample001.java:17👇)は

        

プログラムの17行目の記述が間違っていることを指摘しています


つまり


プログラムの17行目のどこかで;(セミコロン)をつけ忘れているよ



デバッガは指摘しているんです



そこで


先程のプログラムをもう1度観察すると

👇

/**

*

*/

package project1;


/**

* @author solarplexuss

*

*/

public class Sample001 {


/**

* @param args

*/

public static void main(String[] args) {

// TODO 自動生成されたメソッド・スタブ

System.out.println("Hello World!")👈ここにセミコロンをつけ忘れています

}


}

👆


確かに


;(セミコロン)


をつけ忘れています


正しくは


System.out.println("Hello World!")


ではなく


System.out.println("Hello World!");


なのです


このように


;(セミコロン)


をつけ忘れただけでもプログラムは実行できなくなります


System.out.println("Hello World!");


はコンピュータにコンソール画面にHello World!を表示しなさいという


命令をあたえる命令文とよばれます


命令文は


文末に;(セミコロン)をつけることになります」


みー「;(セミコロン)をつけわすれたらだめなのかにゃ~んん


じゃあ もう一回やりなおしてみるにゃん」


ハー「そうだね😊」


みー「もう一回いきまーす」


/**

*

*/

package project1;


/**

* @author solarplexuss

*

*/

public class Sample001 {


/**

* @param args

*/

public static void main(String[] args) {

// TODO 自動生成されたメソッド・スタブ

System.out.println(Hello World!");

}


}


プログラム実行結果


Exception in thread "main" java.lang.Error: Unresolved compilation problems:

トークンに構文エラーがあります。構成の位置が間違っています

Hello を型に解決できません

トークン "!" に構文エラーがあります。正しくは ; です

文字列リテラルがダブル・クォートによって正しく閉じられていません


at project1/project1.Sample001.main(Sample001.java:17)


みー「にゃ? にゃ?」


ハー「プログラムが実行できていないね。 なんでかな?


(Sample001.java:17)


てことは


プログラムの17行目に間違いがあるってことかな?


プログラムの17行目には


System.out.println(Hello World!");


と記述してあるね


さっき実行できた正しい命令文は


System.out.println("Hello World!");


だった・・


あれ?


Hの左側の"が抜けてない?


まさか これだけでプログラムを実行できなくなっているの?」


キャロット「そうなんです


System.out.println("Hello World!");


の"はダブルクォーテーションとよばれています


System.out.println("ここ");


2つのダブルクォーテーション"で囲まれた


ここ


の部分に書き込まれた文字を


コンソール画面に表示する命令文なんです


そして


ダブルクォーテーション"で囲まれていない文字は


コンソール画面に表示できないのです


ですので



Hello World!



2つのダブルクォーテーション"で囲まれている必要があるというわけです



エラー文に


文字列リテラルが(ダブル・クォート)によって正しく閉じられていません


と表示されていますが


このダブル・クォートがダブルクォーテーションのことなんです


おまけですが


Exception in thread "main" java.lang.Error: Unresolved compilation problem:


に出てくる


compilation problemとはコンパイルエラーのことです


compile(コンパイルする)とはソースコードを機械語に翻訳するという意味ですが


compilationは


compile(コンパイルする)の名詞形でコンパイル(ソースコードを機械語に翻訳)という意味です


つまり


compilation problemとは


ソースコードを機械語に翻訳できないという問題というわけですね


ダブルクォーテーション"が抜けた


System.out.println(Hello World!");


は機械語に翻訳できないというわけです」


みー「ちょっ


ちょっとまって


エラー文は

👇


Exception in thread "main" java.lang.Error: Unresolved compilation problems:

トークンに構文エラーがあります。構成の位置が間違っています

Hello を型に解決できません

トークン "!" に構文エラーがあります。正しくは ; です

文字列リテラルがダブル・クォートによって正しく閉じられていません


at project1/project1.Sample001.main(Sample001.java:17)

👆


だったにゃ~ん


トークンに構文エラーがあります。構成の位置が間違っています

Hello を型に解決できません

トークン "!" に構文エラーがあります。正しくは ; です


は何で表示されているのかにゃ?」



キャロット「それは・・・


デバッガは


正確にプログラムの記述のどこが間違っているかを指摘することはできないんです


ですので


間違っている可能性のある個所をすべて指摘してきます😸」


  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る