- - PR -
「'.'がありません。」というエラーについて
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2002-08-04 00:10
初めまして。数日前からJavaを勉強し始めたばかりの超初心者です。
使用環境は、WindowsXP、Java2SDK1.4.1です。 今、「JAVAプログラミングBlackBook 2ndEdition」を読みながら勉強をしているのですが、最初からつまずいていて困っています。やっていることというのは、自作クラスの使用についての練習で、 c:\java\classにprinter.javaを作成しコンパイル(java.classができる)。 c:\javaに上記printerクラスを使用するapp3.javaを作成し、コンパイルする。 ということです。app3.javaのコンパイル時に件名で書いた 「app3.java:1: '.'がありません。」 というエラーメッセージが出るのです。メッセージの出ている箇所は 「import printer;」(;の下に^がついています) です(ソースは下記参照)。また、コンパイル時に打ち込んだコマンドは C:\Java\Class>javac printer.java コンパイル正常終了 C:\Java>javac app3.java エラー です。 環境変数CLASSPATHには、「.;c:\java\class」を指定してあります。 以下に各ソースの内容を転記しておきます。 <printer.java> public class printer { public void print() { System.out.println("Hello from Java!"); } } <app3.java> import printer; public class app3 { public static void main(String[] args) { (new printer()).print(); } } printer.classをapp3.javaと同じフォルダにおいてもやってみましたが、結果は同じでした。ちなみに、java付属のクラスを使用したapp2.javaはコンパイルも問題なく終了し、実行もできました。 <app2.java> import java.util.*; public class app2 { public static void main(String[] args) { System.out.println("Today = " + new Date()); } } 長くなってしまいましたが、よろしくお願いいたします。 PS.プレビューで見ると、円サインが//と出てしまいます。また、行頭の半角スペースが削除されて見えます。問題ないのでしょうか?対処の仕方があれば、教えてください。 | ||||
|
投稿日時: 2002-08-04 00:20
以下のようにコンパイルしてみたらどうでしょう。
C:\>javac app3.java printer.java C:\>java app3 Hello from Java! 私の環境では実行できました。 | ||||
|
投稿日時: 2002-08-04 02:05
うーむ…
最初の最初からなにか違ってるような… クラス、パッケージ、import の意味(こことの関連)は説明できますか? もすこし簡単なのからやってみるのがいいかも。 簡単かどうかは知らないですけど、独習Javaで勉強したーってのはよく聞きますが。 | ||||
|
投稿日時: 2002-08-04 08:35
ぷるるさんへ
"文法"や"構文"をすっとばしてプログラムを書いて、 「動かない」からといってMLや掲示板で質問するのはやめましょう。 "そんなプログラム"は動かなくて当たり前。 import文を理解してます? import文は"パッケージ内のクラスの検索情報をJavaVMに渡す"ためのものです。 クラスパスに含まれるディレクトリに直接(パッケージ化せずに)CLASSファイルを置く のであれば、そのCLASS用のimport文はプログラム内に必要ありません。 しょむさんも指摘されていますが、まず"Javaの文法や構文"をきちんと勉強しましょう!
1.4.1ってまだBeta版ですよ。初心者がBeta版を使うのは...。 | ||||
|
投稿日時: 2002-08-04 21:48
レスを下さった皆様、ありがとうございます。
しょむさんやasipさんの言うとおり、ぜんぜん理解不足だったようです。まだ、コンパイルの仕方やCLASSPATHについての説明の第一章で、呼び出される側のクラスを作成する部分は書かれておらず、それを自分でやろうとしたのが間違っていました。 printerクラスを作成する部分が何か違っているか、抜けているかして(何がどうとはまだいえませんが追々分かっていくと思います)出ているエラーみたいでした。asipさんの言うように、import文を削除してコンパイルしたところ正常に終了し、実行もできました。 何もわかっていない私の質問に時間を割いて答えてくださって本当にありがとうございます。今後も恥をしのんで、いろいろと質問させていただきます(今回のようなのはなるべく控えるように努力します)ので、よろしくお願いします。ありがとうございました。 | ||||
|
投稿日時: 2002-08-05 18:09
import文やパッケージのことなら、まずはこの辺を読んでみましょう。
http://www.atmarkit.co.jp/fjava/onepoint/java/jv_pkg.html 会議室で質問する前に、最低限のことは自力で調べましょう。 | ||||
1
