プログラミング入門(金曜1・2限)講義資料(2008年後期)

意味のわかりにくいエラー

Javaプログラミングで出会うエラーで,意味が分かりにくいものです.

メッセージ意味
\12288 は不正な文字です全角の空白文字が入っている
シンボルを解釈処理できません コンパイラがそのシンボル(変数名等)を理解できなかった. 作られていない変数を使おうとした場合が多い.

そのシンボルがクラス名の場合 → import 文を忘れている可能性がある.

シンボル: 変数 Keyboard の場合 → Keyboard.class がそのディレクトリにない.
java.lang.NoClassDefFoundError: XXX java XXX として実行したときに,XXX.class が存在しない.
コンパイルし忘れているか,クラス名のスペルミス.
'class' または
'interface' がありません
おそらく閉じかっこ } が多すぎる.
互換性のない型
検出値: int
期待値: boolean
    if (a = b) {
ifやwhileの条件式の所で,比較を == ではなく = で書いている.
精度が落ちている可能性
検出値: double
期待値: int
    a = b;
なんらかの値を,精度が低い変数に代入しようとした.(double型をint型に代入した等)
変数 XXX は初期化されていない可能性があります。変数XXXが代入される前に使用される可能性がある.
  int a;
  if (...) {
    a = 10;
  }
  System.out.println(a);
上のようなプログラムで,if文の条件が偽だった場合, aに代入されることなくSystem.out.printlnが実行されてしまうということに対する警告.