質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

344閲覧

Javaの変数多重定義と、シンボル不明のエラーを改善したいです。

tnkw

総合スコア1

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2021/12/01 08:39

前提・実現したいこと

プログラミング初学者です。データ型の区別を学んでいますが、
コンパイル時に変数の多重定義と、シンボル不明とのエラーが出ており、原因が分かりません。
ご教授ください。

発生している問題・エラーメッセージ

PS C:\Users\tnkw-> javac Greeting.java
Greeting.java:4: エラー: 変数 var01はすでにメソッド main(String[])で定義されています
short var01 = 12345;
^
Greeting.java:9: エラー: シンボルを見つけられません
System.out.println(var02);
^
シンボル: 変数 var02
場所: クラス Greeting
エラー2個

該当のソースコード

java

class Greeting {
public static void main(String[] args){
byte var01 = 1;
short var02 = 12345;
int var03 = 1234567890;
long var04 = 1234567890000L;

System.out.println(var01); System.out.println(var02); System.out.println(var03); System.out.println(var04); }

}

試したこと

もともとbyteとshortの変数名を同じvar01にしており、System.out.printlnの部分ではvar01とver02に分けていたため
エラーに意味も分かったのですが、変更、保存後に再コンパイルしても同様のエラーが出るため、困っています。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YT0014

2021/12/01 09:37

実際にコンパイルされているファイルが、「変更、保存後」のファイルなのか、ご確認ください。変更前のファイルをコンパイルしている可能性が濃厚です。
tnkw

2021/12/01 14:39

変更、保存後のファイルでコンパイルを試みています。
javahack

2021/12/01 15:25

保存したファイルとコンパイルしたファイルが同じか確認してください。 意地悪く思うかもしれませんが、teratailのような質問掲示板を長いあいだ見ていると「絶対間違いない」と言いながら間違っているケースが結構あります。 エラーメッセージから推測すると System.out.println(var02); こちらは修正が保存されていますが short var02 = 12345; こちらの修正が保存されていないファイルをコンパイルしているようです。
tnkw

2021/12/01 16:24

ありがとうございます。 ご指摘の通り変更されたファイルを開いていませんでした。 同じ名前のファイルが異なる場所に二つ作られおり、未変更のファイルでコンパイルしようとしていたようです。 丁寧に教えていただき、ありがとうございました。
guest

回答1

0

自己解決

同じ名前のファイルが二つ生成されており、未変更のファイルでコンパイルをしていました。
ファイルのパスをたどって、プログラムを確認して解決しました。

投稿2021/12/01 16:59

編集2021/12/01 17:00
tnkw

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問