質問: 0){ System.out.println("商品が一つ入庫されました"); ++z; }else{ System.out.println("商品が一つ出庫されました"); --z; } } } ``` 先程までの質問では、インクリメント・デクリメント演算子の位置がエラー発生の原因だと思っていましたが違うみたいです。 どうしてもモヤモヤを改善したくエラーが発生していた構文を再現しよう試みたとしたのですが、できませんでした。発生していたエラーは「シンボルを見つけられませんでした。」というものです。 少し質問を変えて、多分このシンボルを見つけられませんでしたというエラーは、具体的なエラーの時の構文がないと具体的なエラーの要所部分を回答できないと思いますので、簡単でいいですのでこのエラー自体の簡単な概要をわかる範囲でお願いします。
回答: シンボルを見つけられませんでしたというエラーは 変数宣言をしていない場合とか、importしてないクラスを使うときにでます。 以下、意図的にint宣言を抜いたものです。 z や、 x を参照する際にエラーとなります。 そのさいにシンボルが明示されるので、そこがおかしいとわかります。 > > シンボル: 変数 z : シンボルを見つけられません > > シンボル: クラス Scanner: シンボルを見つけられません > > シンボル: 変数 x : シンボルを見つけられません > > > 当時のコードはわからないので推測しかできませんが、 nyusyutu(n)の値の判定をしようとしてるのに、xで判定していてxが未定義というものだったのじゃないでしょうか。 ``` public class test { public static void main(String[] args) { z = 0; // int が抜けている int n; Scanner key = new Scanner(System.in); // Scannerのimport忘れ System.out.println("0か1の値を入力してください:"); System.out.println("0...入庫"); System.out.println("1...出庫"); x = key.nextInt(); // int が抜けている if (x == 0) { System.out.println("商品が一つ入庫されました"); ++z; } else { System.out.println("商品が一つ出庫されました"); --z; } } } ``` ``` test.java:5: エラー: シンボルを見つけられません z = 0; //在庫数変数の宣言 ^ シンボル: 変数 z 場所: クラス test test.java:7: エラー: シンボルを見つけられません Scanner key = new Scanner(System.in); ^ シンボル: クラス Scanner 場所: クラス test test.java:7: エラー: シンボルを見つけられません Scanner key = new Scanner(System.in); ^ シンボル: クラス Scanner 場所: クラス test test.java:12: エラー: シンボルを見つけられません x = key.nextInt(); ^ シンボル: 変数 x 場所: クラス test test.java:14: エラー: シンボルを見つけられません if (x == 0) { ^ シンボル: 変数 x 場所: クラス test test.java:17: エラー: シンボルを見つけられません ++z; ^ シンボル: 変数 z 場所: クラス test test.java:20: エラー: シンボルを見つけられません --z; ^ シンボル: 変数 z 場所: クラス test エラー7個 ```