2014-02-19 1 views
0

Я новичок в программировании на Java, и я пытаюсь написать программу, которая будет считывать данные клиента для вымышленного банка, использовать полиморфизм для расчета процентов по типу учетной записи (бизнес, проверка , сбережения). Он правильно компилируется, и когда я его запускаю, он работает нормально для бизнес-счетов, но когда он добирается до контрольных и сберегательных счетов, я получаю NoClassDefFoundError.Java NoClassDefFoundError диагностика

Хорошо, вот соответствующий код:

Вот вызов конструктора класса для класса, который не работает (к определяется по для цикла):

client[j]=new savings_accounts(name, account_number, phone, ssn, balance, type); 

Инструкцией в основном для расчета закрытия баланса:

client[j].close_balance=client[j].closing(); 

А вот класс, который не работает:

class savings_accounts extends account 
{ 
    public savings_accounts(String name, int account_number, String phone_number, 
       String ssn, int open_balance, String acct_type){ 
    super(name, account_number, phone_number, ssn, open_balance, acct_type); 
    open=open_balance; 
    } 
    int open; 
    public float close_balance; 
    public float closing(){ 
    float close; 
    if(open<5000) close=(float)open*1.04; 
    else close=(float)open*1.05; 
    return close; 
    }} 

Спасибо за помощь!

+4

Нажмите «править», выберите свой код и нажмите кнопку '{}'. Публикуйте только соответствующие коды и трассировки стека. –

+0

ya ... ctrl + k .. – TheLostMind

+0

[Это может помочь вам] (http://stackoverflow.com/editing-help) – Max

ответ

0

Есть две общие причины для NoClassDefFoundError:.

  1. Версия класса, в котором вы (или один из используемых вами пакетов) скомпилирована, не является версией, с которой вы работаете. Это может быть связано просто с необходимостью перекомпилировать все ваши вещи или из-за неправильной версии стороннего JAR-файла в вашем пути к классам.
  2. У вас есть класс, который находится в x/y/z/MyClass.class и должен находиться в пакете x.y.z, но вы упустили (или неправильно закодировали) инструкцию package при компиляции.

Существует также множество «необычных» причин. NoClassDefFoundError - это исключение «мусора» для чего-то неправильного в загрузке классов.

+0

Мне пришлось перекомпилировать; класс не был скомпилирован должным образом из-за ошибки, которую я не понял, повлиял бы на программу (потенциал для ошибок вычисления из-за умножения десятичных знаков в float, мне пришлось изменить его на двойной). – user3326317

0
NoClassDefFoundError 

Это не то же самое, как ClassNotFoundException. Это обычно означает, что файл был найдено в ожидаемом месте, но он не содержит ожидаемый класс, то есть неправильное имя или неверный пакет. Чистая сборка, как правило, фиксирует его, в противном случае проверьте, что ваше имя класса совпадает с именем файла точно, и что имя пакета в точности совпадает с иерархией каталогов исходный файл находится в

 Смежные вопросы

  • Нет связанных вопросов^_^