2010-04-09 5 views
0

вот код:Почему я получил эту ошибку?

class Acount 
{ int sum ; String owner ; //these seem to make sense 
    //a constructor or two 
    public Acount() 
    { this.sum = 0 ; this.owner = "John Doe" ; } 

    public Acount (String name) 
    {this.sum = 0 ; this.owner = name ; } 

    public Acount (String name, int sum) 
    {this.sum = sum ; this.owner = name ; } 

    //prints an acount in the format "owner" "sum" 
    public static void printAcount (Acount Acount) 
    {System.out.print (Acount.owner) ; System.out.print (" ") ; System.out.println (Acount.sum) ; } 

    public static void main (String[]arg) 
    { 
     Acount Acount1 = new Acount ("david", 100) ; 
     System.out.println ("heres the first acount as it was created:") ; 
     printAcount (Acount1) ; 
     System.out.println ("now i changed one of its instance varaibles with a static method") ; 
     upOne (Acount1) ; 
     printAcount (Acount1) ; 
    } 

    public static Acount upOne (Acount Acount) 
    { 
     Acount.sum = Acount.sum + 1 ; 
     return Acount ; 
    } 
} 

вот ошибка:

Exception in thread "main" java.lang.NoClassDefFoundError: Acount/java 

Что пошло не так и почему?

+0

Почему голос? – David

+0

Несвязанные, но имена экземпляров класса не должны начинаться с заглавной буквы. Соглашение об именах Java: «За исключением переменных, все константы экземпляра, класса и класса в смешанном случае с строчной буквой». –

+0

все равно будет работать, правда? – David

ответ

4

Как запустить программу Java в командной строке, это как это?

java Account.java 

Если да, то удалите .java, потому что команда java принимает имя класса, а не файл. Правильная команда:

java Account 

Кроме того, убедитесь, что вы собрали файл должным образом.

2

Это связано с тем, как вы вызываете свой класс из командной строки. Вы не должны ставить .java после имени вашего класса. Попробуйте:

java -classpath . Account 
+0

Что вы имеете в виду? как я могу назвать это из командной строки? – David

+0

О, я вижу, как всегда. твое право. – David

1

Эта ошибка представляет собой ошибку в командной строке. Попробуйте

java Acount 

Не ява Acount.java