2012-05-10 18 views
0

文字通りJavaプログラミングのイントロを取っているので、今度は2番目の割り当てを作成しようとしています。そうすることで、Eclipse内で新しいJavaクラスを作成しましたが、私が書いたコードを実行しようとすると、次のエラーが発生しています。Eclipseを実行しているときに、コードを実行した後でコンソールにエラーが表示される

私はこれを修正する方法について本当に確実ではありません。どんな支援も大歓迎です。

Exception in thread "main" java.lang.NoClassDefFoundError: math 
Caused by: java.lang.ClassNotFoundException: math 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
+0

小文字の_m_はちょっと疑わしいと思われます... – jahroy

+4

あなたが書いたコードとその起動方法を知らなくても、助けが難しいです。確かに、あなたは2つの原則を尊重していないということです。クラスを常にパッケージの中に入れ、Java命名規約を尊重します。クラスは大文字で始まります。 –

+0

パブリッククラスの丸め{ public static void main(string [] args){ \t System.outprintln( "Hello World"); –

答えて

1

ClassNotFoundException:数学 私はあなたが数学で大文字のMを持つクラスを作成したと思っていますが、どこかに呼び出すと大文字ではなく、適切に参照されます。あなたのコードでそれを再確認してみてください。 適切なJava標準については、FYIを参照してください。クラスが大文字になっていることを確認してください。あなたはあなたのコードは、次のされた

+0

どこでこれをやったのですか?多分それは修辞的な質問ですが、私はこれをやっていませんでした。これは、eclipseのパッケージエクスプローラーで新しいクラス –

+0

を作成して作成し、そのクラスが大文字Mの数学であることを再確認します。小文字の "Math"のクラスCTRL + Fを押してから、数学の単語を探し、スコープをすべてにして、大文字小文字を選択してください。これは、Mathクラスを使用する他のどのクラスでも見つけます。 – Frantumn

+0

複数のパッケージを扱っている場合、 Mathクラスが別のパッケージにある場合は、 'import packagename.Math; – Frantumn

0

現在のプロジェクトまたはスコープに存在しない "math"というクラスにアクセスしようとしているようです。あなたが使用するはずの特定のライブラリをインポートすることを忘れましたか?

+0

ええ、私はそれがどこから来ているのか分かりません? –

1

public class rounding { 
    public static void main (string[] args){ 
     System.outprintln("Hello World"); 

表示されたエラーメッセージからは、あなたが最も可能性が高いmath.javaという名前のファイルにこのコードを持っています。 Javaでは、クラス名をファイル名と同じにする必要があります。たとえば、YourClass.javaは、public class YourClass {と宣言します。

だから、クラス名をmathに変更するか、ファイル名をrounding.javaにするか、小文字でクラス名を始めるのは普通ではありません。

しかし、これらのエラーに加えて、タイプstringが存在しないというエラーが表示されます。タイプstring[]からString[]にリネームする必要がある場合、JVMはmainメソッドを識別できません。

outprintlnは、Systemクラスのメソッドではないというエラーも表示されます。印刷するにはSystem.outprintln("Your message")ではなくSystem.out.println("Your message")を使用してください。

public class Rounding { 
    public static void main (String[] args){ 
     System.out.println("Hello World"); 
    } 
} 

通常のJavaとEclipseでスタートすべての人によって行われているいくつかのマイナーなバグ:

+0

ファイルはデフォルトでテストディレクトリに保存されていますが、コンソール内の最初のエラー以外のファイルや "math"が見つかりません –

+0

コードのソースファイルの名前は何ですか?宣言されたクラス名は何ですか?これらは等しい必要があります。 – Vulcan

+0

helloworldはソースファイルです - helloworldは宣言されたクラス名です –

0

これは正しいコードです。エラーの説明は既にVulcanによって与えられています。

関連する問題