Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите написать на JAVA

Николай Ученик (91), на голосовании 9 месяцев назад
Необходимо создать банковскую систему, которая позволяет клиентам иметь различные типы счетов, такие как сберегательные счета и счета кредитных карт. Каждый тип счета должен наследовать от общего класса "Учетная запись", а также иметь определенные функции и поведение.
Требования:
Создать родительский класс Account со следующими атрибутами: номер счета, баланс ,владелец счета
Реализовать методы для каждого родительского класса для: пополнения счета на указанную сумму, снятие указанной суммы со счета, запроса баланса
Создать дочерние классы с различными типами счетов: Сберегательный счет, Счет кредитной карты
Реализовать следующее специфичное поведение для каждого типа счета. Сберегательный счет:
- Нельзя снимать деньги со счета, если баланс меньше или равен 0.
- За каждую успешную транзакцию должны начисляться проценты (например, 0.5% в год).
Счет кредитной карты:
- Максимальный баланс на счете составляет 100% от кредитного лимита.
- Можно использовать деньги с кредитного лимита, но сумма не должна превышать доступный лимит.
Создать несколько объектов каждого типа счетов и продемонстрировать работу методов транзакций для каждого счета.
Дополнен 10 месяцев назад
public class Account {
private int accountNumber;
private double balance;
private String owner;

public Account(int accountNumber, double balance, String owner) {
this.accountNumber = accountNumber;
this.balance = balance;
this.owner = owner;
}

public void deposit(double amount) {
balance += amount;
}

public void withdraw(double amount) {
balance -= amount;
}

public double getBalance() {
return balance;
}
}
Дополнен 10 месяцев назад
public class SavingAccount extends Account {
private double annualInterestRate;

public SavingAccount(int accountNumber, double balance, String owner, double annualInterestRate) {
super(accountNumber, balance, owner);
this.annualInterestRate = annualInterestRate;
}

@Override
public void withdraw(double amount) {
if (getBalance() - amount >= 0) {
super.withdraw(amount);
} else {
System.out.println("Недостаточно средств на счете");
}
}

public void addInterest() {
double interest = getBalance() * (annualInterestRate / 100);
deposit(interest);
System.out.println("Начислены проценты: " + interest);
}
}
Дополнен 10 месяцев назад
public class CreditCardAccount extends Account {
private double creditLimit;

public CreditCardAccount(int accountNumber, double balance, String owner, double creditLimit) {
super(accountNumber, balance, owner);
this.creditLimit = creditLimit;
}

@Override
public void withdraw(double amount) {
if (amount <= getBalance() + creditLimit) {
super.withdraw(amount);
} else {
System.out.println("Превышение доступного кредитного лимита");
}
}
}

public class Main {
public static void main(String[] args) {
SavingAccount savingAccount = new SavingAccount(1234, 5000, "Иванов", 0.5);
CreditCardAccount creditCardAccount = new CreditCardAccount(5678, -2000, "Петров", 3000);

savingAccount.withdraw(1000);
savingAccount.addInterest();
System.out.println("Баланс сберегательного счета: " + savingAccount.getBalance());

creditCardAccount.withdraw(2500);
System.out.println("Баланс кредитной карты: " + creditCardAccount.getBalance());
}
}
Голосование за лучший ответ
Svat Farady Мастер (1938) 10 месяцев назад
Когда наняли рабочих по объявлению:
НиколайУченик (91) 10 месяцев назад
Не могу победить
Александр Искусственный Интеллект (301582) 10 месяцев назад
в чём вопрос
НиколайУченик (91) 10 месяцев назад
Не могу помять почему не работает
Похожие вопросы