Я собираюсь создать программу, которая отслеживает остаток на банковском счете. Программа должна использовать цикл, который продолжается до тех пор, пока пользователь не выйдет с ответом no на вопрос Вы хотите продолжить?.Как отслеживать остаток на банковском счете?
В цикле пользователю предлагается ввести сумму (положительную для депозита и отрицательную для вывода). Сумма должна быть добавлена / вычтена из переменной баланса счета. Все депозиты/выписки сохраняются как история, чтобы мы могли ее распечатать позже. Когда пользователь хочет выйти из цикла, должен быть напечатан текущий баланс учетной записи вместе с историей учетной записи (из массива/ArrayList).
Теперь я хочу использовать массив с десятью слотами для функции истории.
Мой вопрос, как я могу следить за весь депозит, снять и сальдо счетов текущих операций (с использованием массива с десятью слотами для функции истории), так что я могу распечатать его, когда пользователь выходит из программа?
Мой код:
BankApp класс:
package bankapp;
import java.util.Scanner;
public class BankApp {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
askingUser au = new askingUser();
System.out.println("WELCOME TO OUR BANK!\nYou have 100 SEK by default in your account.");
while (true) {
au.userInput();
System.out.println("Do you want to continue? Answer by Yes or No.");
String yesOrNo = input.next();
if (yesOrNo.equalsIgnoreCase("yes")) {
au.userInput();
} else if (yesOrNo.equalsIgnoreCase("no")) {
System.out.println("History: ");
//print out the transaction history
System.exit(0);
} else {
System.out.println("Invalid character input.");
}
}
}
}
класс askingUser:
package bankapp;
import java.util.Scanner;
public class askingUser {
Scanner input = new Scanner(System.in);
double initialBal = 100;
public void userInput() {
System.out.println("Enter your amount: (+ve for deposit & -ve for withdraw)");
double inputAmount = input.nextDouble();
if (inputAmount >= 0) {
double newPosAm = initialBal + inputAmount;
System.out.println("Your current balance is: " + newPosAm + " SEK");
} else {
double newNegAm = initialBal + inputAmount;
System.out.println("Your current balace is: " + newNegAm + " SEK");
}
}
}
Массив будет плохой идеей, так как вам нужно «запомнить», какой индекс является самым новым, и затем нужно проанализировать этот массив в обратном порядке. Возможно, лучше использовать 'ArrayList' и вставить самые новые записи в индекс' 0'. Затем вы можете удалить записи с номерами индексов> 10. – Tom
Хорошая идея, вот что я думал. ArrayList может быть лучше. – Simon