Kadeidra W Ответов: 1

Кто-нибудь может помочь мне код моей программы Java?


Вот мое задание: Начните с класса SavingsAccount из программы №1. Во-первых, обновите сам класс следующим образом. Конструктор должен принять три аргумента: номер счета, начальный баланс и процентную ставку. Используйте эти три значения для инициализации трех переменных экземпляра.

Теперь остальные обновления будут происходить в основном методе (в MainClass). Конечно, вам нужно будет создать экземпляр объекта по-другому, передав три значения, требуемые конструктором. Введите любой номер счета, который вы хотите. Для баланса пройдите в $ 4000.00, а для ставки пройдите в 0.4% (четыре десятых процента, что представляет собой ежемесячную процентную ставку.)

Когда программа запускается, предположите, что клиент только что вошел в учреждение, чтобы заняться каким-то делом. Поприветствуйте клиента, как и раньше, спрашивая его имя, и используйте его в остальной части диалога. Затем отобразите клиенту текущее состояние учетной записи, то есть все, что было инициализировано. Затем разрешите клиенту внести один депозит и / или один вывод средств. Вы должны разрешить им делать депозит, вывод средств или и то, и другое, но ни то, ни другое не требуется. Другими словами, спросите, хотят ли они внести депозит, и если они это сделают, то примите деньги. Затем спросите, хотят ли они уйти, и если да, то сделайте это. Во время одного посещения будет разрешена только одна транзакция каждого типа, но они должны быть полностью независимыми друг от друга.

Примечание: эти транзакции должны быть запрограммированы как часть вашего приложения, то есть внутри основного метода и, возможно, статических методов в MainClass, не включенных в класс SavingsAccount. Другими словами, интерфейс с клиентом - это не то, что вы обычно записываете в класс, управляющий учетной записью, потому что он может довольно часто меняться по мере добавления или изменения функций. Интерфейс может со временем стать частью отдельного «интерфейсного класса», но не включаться в класс, который поддерживает саму учетную запись. Класс представляет сберегательный счет, а объект сберегательного счета обычно не может поддерживать разговор с клиентом.

После этих двух потенциальных транзакций, депозита и вывода средств, отображается конечное состояние счета. Затем отобразите 12-месячную сводку счета, которая показывает влияние текущей процентной ставки на рост баланса. Предположим, что проценты применяются как простые проценты один раз в месяц. (Алгоритм ежемесячной сводки может быть разработан в самом основном методе, или в статическом методе в MainClass, или даже в новом методе в классе SavingsAccount. Выбор это до вас, чтобы решить.)

Например, предположим, что после действий клиента по вводу/выводу средств начальный баланс составил $4350,00. Стол бы начать, глядя, что-то вроде этого:

Месяц Начала Интерес Заканчивается
# Баланс Заработанный Баланс
1 4350.00 17.40 4367.40
2 4367.40 17.47 4384.87
3 … … …

Просто пронумеруйте месяцы 1-12. Начальный баланс за первый месяц должен быть окончательным значением после того, как клиент либо добавил, либо снял средства (или и то, и другое). Используйте методы объекта как можно больше. (Подсказка: не храните "конечный баланс" на фактическом счете, если вы не хотите, чтобы банк обанкротился! Вычислите его с помощью математики в вашем основном классе.) Примечание: это должно быть само собой разумеется, но просто чтобы убедиться, вот что: эта 12-месячная таблица должна использовать циклическую структуру для получения своих результатов. Серия из 12 независимых заданий/выходов не будет принята!

Убедитесь, что все долларовые цифры отображаются в стандартном деловом формате, то есть с двумя десятичными знаками. Отныне это будет необходимо!

Что я уже пробовал:

Это моя программа 1, Программа 2 является ее продолжением.

основной класс:
публичный класс MainClass {

публичный статический пустота главный(строка[] аргументы)
{
// настройка ввода данных клиента
Вход сканера = новый сканер(System.in);

// настройка пути к классу сберегательного счета
публичный основной класс(double d) {
SavingsAccount myAccount = новый SavingsAccount("Z1234A", 2000.0, .013);

// установить некоторые переменные
Строковое имя пользователя;
двойной депозит;
двойной вывод;
Строка accountNumber;
двойном размере;


// Приветствие и получить имя клиента
Системы.из.код println();
Системы.из.код println("Добро пожаловать в акулы сбережения");
System. out. println("можем ли мы узнать ваше имя, пожалуйста");
userName=input. nextLine (); / / получить имя клиента
Системы.из.println("Привет" +имя пользователя );

Системы.из.код println();
Системы.из.код println();

// получить и установить номер счета
Системы.из.код println("введите номер вашего счета ");
accountNumber=input. nextLine (); / / номер счета ввода клиента
в моих настройках.setAccountNumber(accountNumber);//устанавливаем номер счета В класса SavingsAccount

Системы.из.код println();
Системы.из.код println();

// внести начальный депозит и установить баланс
Системы.из.код println("имя клиента: "+имяпользователя);
Системы.из.код println("номер счета: "+accountNumber);
System. out. println ("введите сумму для начала счета:");

amount = input. nextDouble (); / / клиент вводит сумму в долларах
депозит = сумма; / / определить сумму депозита
в моих настройках.addToAccount(сумма);//отправить сумму SavingsAccount.java через addToAccount

Системы.из.код println();
Системы.из.код println();

// процесс вывода и обновления баланса
Системы.из.код println("имя клиента: "+имяпользователя);
Системы.из.код println("номер счета: "+accountNumber);
System. out. println ("введите сумму, которую вы хотите вывести:");

amount = input. nextDouble (); / / вывести сумму в долларах
вывод = сумма;//определение суммы
myAccount. subtractFromAccount(сумма); / / применить к балансу в классе SavingsAccount и Обновить баланс через subtractFromAccount

Системы.из.код println();
Системы.из.код println();

//начисленные проценты
в моих настройках.addInterest();


// закрыть сеанс клиента и выложить активность счета
Системы.из.код println();
System. out. println ("спасибо" +имя пользователя);
Системы.из.код println("номер счета:" +учетной записи.getAccountNumber());
System. out. println("вы внесли депозит: $" +депозит);
Системы.из.код println("вы вывели: $"+вывести);
Системы.из.код println("интересно заработано: $"+учетной записи.getRate()*в моих настройках.метода getbalance());
Системы.из.код println("баланс счета: $"+учетной записи.метода getbalance());//остаток от класса SavingsAccount

Системы.из.код println();
Системы.из.код println();

Системы.из.код println("до свидания!");

ввода.рядом();
}


} / / END MainClass

Класс SavingsAccount:

открытый класс SavingsAccount
{

частная строка accountNumber;
частный двойной баланс;
частная двойном размере;


public SavingsAccount(String acctNo, double startingBalance, double startingRate)
{
баланс = startingBalance;
ставка= startingRate;
accountNumber = acctNo;
}

публичный двойной getBalance()
{
вернуть баланс;
}



публичная строка getAccountNumber()
{
вернуться accountNumber;
}

public void setAccountNumber(String accountNumber)
{
this. accountNumber = номер счета;
}

public void addToAccount(двойная сумма)
{
баланс = баланс + сумма;
}

public void subtractFromAccount(двойная сумма)
{
if (сумма <= баланс)
{
баланс = баланс-сумма;
}
ещё
{
Системы.ошибаться.код println("денег не хватает, Джек!");
}
}

общественного недействительными addInterest()
{
Баланс = Баланс + Баланс*getRate();
}

публичный двойной getRate()
{
скорость возврата ;
}

public void setRate (двойная ставка) {
this. rate = ставка;
}



} / / END class SavingsAccount

OriginalGriff

И что же?
Где ты застрял?
Какая помощь вам нужна?

Kadeidra W

Например: эта строка в моем коде: userName=input. nextLine (); / / get customer name
У меня есть ошибка, которая говорит: "ввод не может быть разрешен", и у меня есть это для каждого ввода в моем коде? Есть ли какой-нибудь способ исправить ошибку?

Patrice T

А у вас есть проблема или вопрос ?

Kadeidra W

Например: эта строка в моем коде: userName=input. nextLine (); / / get customer name
У меня есть ошибка, которая говорит: "ввод не может быть разрешен", и у меня есть это для каждого ввода в моем коде? Есть ли какой-нибудь способ исправить ошибку?

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

Kadeidra W

В принципе, честно говоря, мне действительно нужно, чтобы кто-то провел меня через кодирование этой программы Шаг за шагом, потому что я так смущен и расстроен, и я честно знаю, что я вообще делаю в этот момент.

Richard MacCutchan

Вы не можете ожидать, что кто-то на форуме быстрых ответов научит вас программированию шаг за шагом. Если вы действительно не понимаете задание, то вам следует пойти и обсудить его со своим учителем.

Kadeidra W

Если бы мой профессор был настолько полезен, меня бы здесь даже не было, но его здесь нет. Извините за неудобства.

Richard MacCutchan

Этот форум предназначен для быстрых ответов, мы не можем научить вас программированию. Если вам нужно учебное пособие, то перейдите по ссылке Учебные Пособия По Java™ [^].

1 Ответов

Рейтинг:
5

OriginalGriff

Да: посмотрите точно, что вы делаете и где вы это делаете: ваш код внутри конструктора MainClass, но это внутри основного метода, который содержит
input Сканер. Я думаю, то, что вы хотели сделать, это положить эту партию в main метод вместо конструктора. Когда вы определяете input внутри метода, в котором вы его используете, он будет работать намного лучше...