• ベストアンサー

javacコマンドの後のエラーの意味は何?

ソースファイルを作成した(作成に成功した!)後javac コマンドによりコンパイル を行い、バイトコードを作成しようとして、 ソースファイルの位置の下に C:\--\java\1>javac MyProgram.java を入力し、 C:\--\java\1> と出力されるので、再度dir と入力しバイトコードファイルが作成されたか確認したら 次のように出ました。 MyProgram.java:4 \65371 は不正な文字です。 class MyProgram {         ({の下にヤマ括弧) MyProgram.java: 5: \65371 は不正な文字です。 public static void main(String[] args){ //<---メソッド ({の下にヤマ括弧) MyProgram.java: 6: \12288 は不正な文字です。 System.out.println("Hello!"); //<---Helloと表示 (↑ココにヤマ括弧) 以下7箇所にヤマ括弧つきで、「不正な文字です」とでてきた。 みな({)のすぐ下近くです 最後に MyProgram.java:8 <identifier>がありません。 }  (}の下にもココにもヤマ括弧) と出てきました。identifierとは何ですか ヤマ括弧の支持は{(全括弧)と {(中括弧)の違いを言っているのでしょうか。  私には何故あちらこちらにヤマ括弧が出現したのかわわかりません。 エラーは合計11出現しました P.S. dos画面上の文字をコピーする方法はないでしょうか(いちいち打ち込むのが面倒です)。今後もこの手の質問をいれることになる予感がしますので。

  • Java
  • 回答数3
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • CueCue
  • ベストアンサー率40% (86/214)
回答No.3

dir 結果を出して頂いてますが、肝心のコンパイルはOKだったんですかね。 う~ん 漢字変換できなくなりましたか?? #2 の方へのお礼に、「[半角.全角]をクリックしてもひらがなになりません」とありますが、それってどこのことでしょうか。 メモ帳からコピーした、ということは、コマンドプロンプト上で日本語入力できない、ということですか。他のアプリケーションではOKなんですかね。 私のところでは、[Alt]+[半角/全角]キーで変換モードに入るんですが。

paniniXX
質問者

お礼

コンパイルは成功しました [半角+全角] + [Alt]で、dosひらがなになりました ありがとうございます

その他の回答 (2)

  • mojimojio
  • ベストアンサー率51% (14/27)
回答No.2

\65371は'{'(全角中カッコ)、\12288は' '(全角スペース)のUnicode文字コードです。 '{'(全角中カッコ)は'{'(半角中カッコ)の間違い、また' '(全角スペース)は誤って混入したものと思われますので、削除してください。 厳密には全角文字だから「不正な文字」なわけではなく、これら2つはたまたまプログラム本文中に使えない文字なのでした。 identifierは「識別子」と訳されるものです。こちらのエラーも、原因は全角文字と同じはずです。

paniniXX
質問者

お礼

C:\Documents and Settings\NEC-PCuser\java\1>javac MyProgram.java C:\Documents and Settings\NEC-PCuser\java\1>dir ドライブ C のボリューム ラベルは WINDOWS1 です ボリューム シリアル番号は 3576-180C です C:\Documents and Settings\NEC-PCuser\java\1 のディレクトリ 2002/10/17 01:34 <DIR> . 2002/10/17 01:34 <DIR> .. 2002/10/19 00:00 180 MyProgram.java 2002/10/19 00:01 418 MyProgram.class 2 個のファイル 598 バイト 2 個のディレクトリ 1,176,608,768 バイトの空き領域 ありがとうございます. tokorode command prompt wo copy shitara hiraganaga utenakunarimashita. ueno [arigatou]nokotobaha,'memocho'nikakikondamonowo copyshimashita. [hankaku.zenkaku] wo clickshitemo,hiragananinarimasen.

  • CueCue
  • ベストアンサー率40% (86/214)
回答No.1

そのような不正な文字が検出されるのは、全角文字が混ざっている場合だと思うんですが・・・カッコや"System"等が全角でないか確認してみてください。 半角でなければいけません。 dos画面のコピーですがMS-DOSプロンプトをお使いですか。 参考URLをご覧ください。 範囲選択ボタンを押してからコピーします。

参考URL:
http://pc-information.com/document/0253.html
paniniXX
質問者

お礼

C:\Documents and Settings\NEC-PCuser\java\1>javac MyProgram.java C:\Documents and Settings\NEC-PCuser\java\1>dir ドライブ C のボリューム ラベルは WINDOWS1 です ボリューム シリアル番号は 3576-180C です C:\Documents and Settings\NEC-PCuser\java\1 のディレクトリ 2002/10/17 01:34 <DIR> . 2002/10/17 01:34 <DIR> .. 2002/10/19 00:00 180 MyProgram.java 2002/10/19 00:01 418 MyProgram.class 2 個のファイル 598 バイト 2 個のディレクトリ 1,176,608,768 バイトの空き領域 arigatougozaimasu.gamenha,[komandprompt javayou]desuga,purutabukara hannishityeishite kopiishitara,uenoyounidekimashita. sonogo [hankauzenkaku]wo'click'shitemo romajikarahiraganani,henkansaremasen,sorede romajinomamakaitemasu.

関連するQ&A

  • javacコマンドのコンパイルができません!初心者です!

    java初心者なのですが、コンパイルする際に、コマンドで javac Hello.java と入力すると、 javac: ファイルが見つかりません: Hello.java 使い方: javac <options> <source files> 使用可能なオプションのリストについては、-help を使用します と出てきてできません!javaに詳しい方、是非返答お願いします!!

  • javacコマンドが動きません。(JDK使用)

    JDKを使って、javaを勉強し始めました。 インストールは何とかできたのですが、 試しにjavacコマンドで文字を表示するソースを読み込ませたところ 結果もエラーも返してくれません。 http://okwave.jp/kotaeru.php3?q=1600710 上記の質問も参照させて頂いたのですが "'javac'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。" のエラーが表示されないところから、 PATHがおかしいわけではなさそうです。 (ソースはMy Documentsの「java」というフォルダに保存しています) C:\Document・・ Settings\ユーザー\MyDocuments\java>javac Sample1.java と読み込ませると、しばらくの間をおいて C:\Docu・・・Settings\ユーザー名\My Documents\java> と、戻ってしまいます。 また、javacでファイルを読み込む度にclassファイルが出来たり ソースファイルを修正しようとして開くと、 もともとインストールしていたVisualStudio.NETが起動してしまいます これは気にしなくて良いのでしょうか? ユーザー環境はwindows xp JDKのバージョンは1.5.0_05です (他にも必要な情報がございましたら、ご連絡ください) ご回答よろしくお願いします

    • ベストアンサー
    • Java
  • Javacが認識されません。

    環境変数はユーザー環境変数に新規で変数名Path 変数値 C:\j2sdk1.4.2_18\bin システム環境変数にPathがあったので、 %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\pcdNavi\bin;C:\Program Files\Fujitsu\sa\dll;C:\j2sdk1.4.2_18\binとしました。 (C:)直下にj2sdk.1.4.2_18フォルダーとJavaフォルダーがあります。 j2sdk.1.4.2_18フォルダー内のbinフォルダー内にjavac.exeコマンドがあります。 Javaフォルダー内にソースファイルのHello.javaがあります。 コマンドプロンプトにjava -versionでバージョンが表示されます。 cd \javaで C:\java>になり、javac Hello.javaと入力すると Error occurred during initialization of VM java/lang/NoClassDefFoundError:java/lang/Objectでエラー表示になります。 先に進めないので宜しく御願いします。

    • ベストアンサー
    • Java
  • javaのエラー(java超初心者)

    D:\Sample>javac Sample2.java Sample2.java:7: \12288 は不正な文字です   } ^ Sample2.java:7: \12288 は不正な文字です   } ^ Sample2.java:7: ';' がありません。   } ^ というエラーがでたのですが原因はなんでしょうか

    • ベストアンサー
    • Java
  • java import文のエラー

    javaのソースで、パッケージをimportして使用するための簡単なサンプルを作成しました。 import文でクラス名まで指定すれば問題ないのですが、*を利用するとコンパイルエラーとなってしまいます。 コンパイル時にクラスパスを指定するのかと思って試してみましたが、やはりエラーでした。 回避方法をご存知の方いらっしゃいましたら、教えていただけますでしょうか。 なお、java/javacは、1.5.0_14を使用しています。 ■ソースコード(1) <C:\Work\Test\PackTest.java> package Test; public class PackTest{   public static void methodA(){     System.out.println("パッケージ成功");   } } ■ソースコード(2) <C:\Work\UsePack.java> import Test.*;     //import Test.PackTest; なら成功 class UsePack{   public static void main(String args[]){     PackTest.methodA();   } } ■エラー例(1) >javac -d . PackTest.java (これは成功) >javac UsePack.java   UsePack.java:5: PackTest にアクセスできません。   クラスファイル .\PackTest.java は不正です。   ファイルにクラス PackTest が含まれていません。   削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。     PackTest.methodA(); ■エラー例(2) >javac -d . PackTest.java (これは成功) >javac -classpath C:\Work\Test UsePack.java   UsePack.java:1: パッケージ Test は存在しません。   import Test.*;   ^   UsePack.java:5: PackTest にアクセスできません。   クラスファイル C:\Work\Test\PackTest.class は不正です。   クラスファイル Test.PackTest に不正なクラスがあります。   削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。      PackTest.methodA();      ^

  • jdk-1_5_0_07でのコンパイルエラー

    初めて質問させていただきます。 WindowsXP HOME SP2 でJavaを勉強している初心者です。エディターはEmEditorを使っています。jdk1.5.0を使って勉強していたのですが、PCのリカバリのため、新しくjdkー1_5_0_07-windows-i586-pをDLしてセッティングしたのですが、以下のような簡単な文でエラーメッセージが出ます。意味が分からないのでどうしたらいいのか分からず困っています。よろしくお願いします。 class Hello { public static void main(String args[]) { System.out.println("Hello, world!"); } } エラーメッセージ F:\java>javac Hello.java Hello.java:0: 警告:この文字は、エンコーディングMS932にマップ出来ません ?サソ/*Name it "Hello.java" ^ Hello.java:1:\65533は不正な文字です。 ?サソ/*Name it "Hello.java" ^ エラー1個 警告1個

    • ベストアンサー
    • Java
  • コマンドプロンプトのエラー

    Windows10です コマンドプロンプトで、Java のサンプルプログラムをコンパイルしようとすると、以下のようになります。何が原因でしょうか? C:\Program Files\Java\jdk-15.0.1\src →ここにHello.java のサンプルプログラム(テキスト)は存在します。 C:\Program Files\Java\jdk-15.0.1\bin\→ここにjava.exeは存在します --------------------------------- (以下、コマンドプロンプトの画面) C:\Program Files\Java\jdk-15.0.1\src>C:\Program Files\Java\jdk-15.0.1\bin\javac Hello.java 'C:\Program' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

  • コマンドプロンプト、JDKについて

    この度JAVA言語を勉強しようと思いまして、 JAVA言語の参考書を購入し、勉強、練習しているのですが、JDKをインストールし、コマンドプロンプト内にてディレクトリの移動まではできるのですが、ソースファイルを作成し、javacでコンパイルしようとするとコマンドプロンプト内にて「’javac’は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と表示されコンパイルできないのですが、その原因が全くわかりません。対処法を教えてください。 OSはXPです。

  • javacコマンドの<-d>オプションについて

    現在ojc-p(旧sjc-p)の資格取得に向けて勉強をしています。 javacコマンドの<-d>オプションに関して、以下のような問題があり、回答に納得がいかないため、ご教授頂きたいと思います。 -----------以下、問題----------- カレントディレクトリをprojectとしたときに、Fooクラスを以下のコマンドでコンパイルした。この時の説明として正しいものを選びなさい。 【ディレクトリ階層】 project  └src    └Foo.java 【実行コマンド】 javac -d build src/Foo.java 【ソースコード】 1. package x.y.z; 2. 3. public class Foo{ 4.   // more code here 5. } 【選択肢】 A) buildディレクトリが存在していないため、コンパイルエラーになる B) projectディレクトリいかにbuild/Foo.classファイルが作成される C) projectディレクトリ以下にbuild/x/y/zFoo.classファイルが作成される D) srcディレクトリいかにbuild/Foo.classファイルが作成される E) srcディレクトリ以下にbuild/x/y/z/Foo.classファイルが作成される -----------ここまで----------- 自分の考えでは、-dに指定されたbuildディレクトリが存在していないためコンパイルが通らない、つまり、回答はAであると考えていたのですが、実際の回答は「C」でした。 同問題の解説を見ると、「-dオプションで引数に指定したディレクトリが存在しない場合には、自動的にそのディレクトリを作成します」とあります。 自分の環境では、-dオプションの引数に存在しないディレクトリ名を指定すると、いくらやっても「ディレクトリがありません」と表示されてしまいます。 -dオプションで存在しないディレクトリが作成されるには、何かしらの条件が必要なのでしょうか。

    • ベストアンサー
    • Java
  • java プログラミング 文法 エラー

    このjavaプログラムはエラーが出るんですが、何が間違ってるんでしょうか? プログラムは一行のみです。 「cpp: error trying to exec 'cc1plus': execvp: No such file or directory」 エラーは以下の通りです。 [javac] /usr/local/sen/src/java/net/java/sen/util/DoubleArrayTrie.java:1: class または interface がありません。 [javac] cpp: error trying to exec 'cc1plus': execvp: No such file or directory [javac] ^ [javac] /usr/local/sen/src/java/net/java/sen/util/DoubleArrayTrie.java:1: 文字リテラルが閉じられていません。 [javac] cpp: error trying to exec 'cc1plus': execvp: No such file or directory [javac] ^ [javac] /usr/local/sen/src/java/net/java/sen/util/DoubleArrayTrie.java:1: 文字リテラルが閉じられていません。 [javac] cpp: error trying to exec 'cc1plus': execvp: No such file or directory [javac] ^ [javac] エラー 3 個 [javac] 警告 3 個 アドバイスよろしくお願いします。

    • ベストアンサー
    • Java