Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2011, 22:09   #1
ISV-777
Пользователь
 
Регистрация: 01.11.2010
Сообщений: 40
Восклицание Ошибка в классе

package CreditCard;

/**
*
* @author Stas
*/
public class CreditCard {
Vector accounts = new Vector();//В этом месте ошибка. Не могу понять как исправить. Помогите ,пожалуйста.
public CreditCard() {
}

public void newAccount(int type, double initBalance){
switch(type){
case 1: {CheckingAccount ch = new CheckingAccount(initBalance);
CreditCardAccount.setRate(10.0);
accounts.add(ch); break;
}
case 2: {SavingAccount sv = new SavingAccount(initBalance);
CreditCardAccount.setRate(11.0);
accounts.add(sv);
}
}
}

public void procent(CreditCardAccount b){
b.Monthly();
System.out.println(b.AccountNo() + " " + b.getBalance());
}

public void CreditCardBalance(){
for(int i = 0; i < accounts.size(); i++){
procent((CreditCardAccount)accounts .elementAt(i));

}
}
public static void main(String[] args) {
CreditCard CreditCard1 = new CreditCard();
CreditCard1.newAccount(1, 400);
CreditCard1.newAccount(1,200000);
CreditCard1.newAccount(2,30000);
CreditCard1.CreditCardBalance();

}

}
ISV-777 вне форума Ответить с цитированием
Старый 01.12.2011, 11:12   #2
it-webwork
Пользователь
 
Регистрация: 02.11.2011
Сообщений: 29
По умолчанию

Код:
Vector accounts = new Vector() // Вообще так делать нельзя. Это устаревший вариант.
Тебе необходимо указать тип коллекции. Например:

Код:
Vector<String> accounts = new Vector<String>();
или:

Код:
Vector<SavingAccount> accounts = new Vector<SavingAccount>();
Так как у тебя в коллекцию добавляются экземпляры разных классов, то можно сделать так.
Код:
Vector<Object> accounts = new Vector<Object>();
А при чтение из коллекции проверять с помощью instanceof

Последний раз редактировалось it-webwork; 01.12.2011 в 11:14.
it-webwork вне форума Ответить с цитированием
Старый 20.12.2011, 09:41   #3
sashonk
Форумчанин
 
Регистрация: 26.10.2009
Сообщений: 170
По умолчанию

Цитата:
Vector accounts = new Vector() // Вообще так делать нельзя. Это устаревший вариант.
использование нетипизированных генериков в java не запрещается. А вот то, что у человека не импортирован пакет java.util.Vector - это ошибка
sashonk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка выделения памяти в классе строк, прошу помочь. Alessus Общие вопросы C/C++ 8 22.10.2011 13:45
ошибка в классе Progsenya C# (си шарп) 6 02.04.2011 18:43
Ошибка в классе С++ evoz23 Помощь студентам 3 21.09.2010 10:56
Ошибка в классе Superlotles Общие вопросы C/C++ 2 09.07.2010 00:05