LoginSignup
0
0

More than 3 years have passed since last update.

初心者から始めるJavaーTeraPadで書いたコードがエラーで動かない

Posted at

はじめに

TeraPadで書いたコードを、コマンドプロンプトでコンパイルしたらエラーだらけになった。
他のテキストエディタで書いたらちゃんと動いたので、そのまま放置している。
備忘録としてここに残しておこうと思い、記事にする。

実行環境

Java11
 JDK(Java Development Kit)のみ、eclipseは導入していない
TeraPad
 有名な無料テキストエディタ。
 Windows10のメモ帳でも同様の現象が起きていた。
Windows10
 コマンドプロンプトでコードがちゃんと動くことを確認。

起きていた問題

 TeraPadで作ったjavaファイルをコンパイルするとき、エラーを吐いてclassファイルが生成されない。
 出力ファイル形式の指定ではUTF-8に設定していたはずだが、うまくいかない。

helloWorldのコンパイルから実行まで,Terapad版
C:Users>cd C:JavaSample
C:JavaSample>javac helloWorld.java

helloWorld.java:1: エラー: この文字(0xEF)エンコーディングwindows-31jにマップできません
?サソclass helloWorld
^
helloWorld.java:1: エラー: classinterfaceまたはenumがありません
?サソclass helloWorld
         ^
helloWorld.java:3: エラー: classinterfaceまたはenumがありません
        public static void main(String[] args)
                      ^
helloWorld.java:6: エラー: classinterfaceまたはenumがありません
        }
        ^
エラー4個

 ネットで検索をかけたところ、エンコード設定をUTF-8と記述すればコンパイルできるとあったが、結果は以下の通り。

helloWorldのコンパイルから実行まで,Terapad2回目

C:Users>cd C:JavaSample
C:JavaSample>javac -encoding UTF-8 helloWorld.java
helloWorld.java:1: エラー: '\ufeff'は不正な文字です
?class helloWorld
^
helloWorld.java:1: エラー: classinterfaceまたはenumがありません
?class helloWorld
       ^
helloWorld.java:3: エラー: classinterfaceまたはenumがありません
        public static void main(String[] args)
                      ^
helloWorld.java:6: エラー: classinterfaceまたはenumがありません
        }
        ^
エラー4個

現在(2020/2/25)

 テキストエディタをBracketsSublimeText3の両方入れて、それぞれでファイルを作ってみた。
結果、改善されて上手くコンパイルしてくれるようになった。
また、メモ帳で書いたコードでもちゃんと動くことを確認した。

helloWorldのコンパイルから実行まで,別テキストエディタの場合

C:Users>cd C:JavaSample
C:JavaSample>javac helloWorld.java
C:JavaSample>java helloWorld
Hello,World!

感想

 なぜTeraPadに限ってこのような現象が起きたか分からない。
 TeraPadの設定だが、PHPに関する書籍の指示に従って各種設定をして使っていた。
 「TeraPadのUTF-8化」のページで初期文字コード・保存文字コードをUTF-8Nに設定した。
 何度か読み返してみてもわからなかったし、ほかのテキストエディタなら問題がないので、現在は放置している。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0