Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21081

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

$
0
0

はじめに

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

実行環境

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

起きていた問題

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

helloWorldのコンパイルから実行まで,Terapad版
C:Users>cdC:JavaSampleC:JavaSample>javachelloWorld.javahelloWorld.java:1:エラー:この文字(0xEF)は、エンコーディングwindows-31jにマップできません?サソclasshelloWorld^helloWorld.java:1:エラー:classinterfaceまたはenumがありません?サソclasshelloWorld^helloWorld.java:3:エラー:classinterfaceまたはenumがありませんpublicstaticvoidmain(String[]args)^helloWorld.java:6:エラー:classinterfaceまたはenumがありません}^エラー4

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

helloWorldのコンパイルから実行まで,Terapad2回目
C:Users>cdC:JavaSampleC:JavaSample>javac-encodingUTF-8helloWorld.javahelloWorld.java:1:エラー:'\ufeff'は不正な文字です?classhelloWorld^helloWorld.java:1:エラー:classinterfaceまたはenumがありません?classhelloWorld^helloWorld.java:3:エラー:classinterfaceまたはenumがありませんpublicstaticvoidmain(String[]args)^helloWorld.java:6:エラー:classinterfaceまたはenumがありません}^エラー4

現在(2020/2/25)

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

helloWorldのコンパイルから実行まで,別テキストエディタの場合
C:Users>cdC:JavaSampleC:JavaSample>javachelloWorld.javaC:JavaSample>javahelloWorldHello,World!

感想

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


Viewing all articles
Browse latest Browse all 21081

Trending Articles