Пример #1
0
  static void createAccount(String command) {
    if (command.split(" ").length < 2) {
      System.out.print("\tError! Not enough arguments for command.\n");
      return;
    }

    String issuerSym = command.split(" ")[1].toUpperCase();
    String accountNum;
    double maxCredit;

    CreditAccount account;
    CreditAccount[] oldRecords;
    CreditAccount[] newRecords;

    if (issuerSym.equals("AE")) accountNum = "3";
    else if (issuerSym.equals("V")) accountNum = "4";
    else if (issuerSym.equals("MC")) accountNum = "5";
    else if (issuerSym.equals("DIS")) accountNum = "6";
    else if (issuerSym.equals("DINE")) accountNum = "7";
    else {
      System.out.print("\tError! Issuer symbol [" + issuerSym + "] is not valid.\n");
      return;
    }

    for (int i = 0; i < 15; i++) accountNum += Integer.toString((int) (Math.random() * 10));

    maxCredit = Integer.parseInt(accountNum.substring(15)) >= 4 ? 1000.0f : 500.0f;

    account = new CreditAccount(accountNum, maxCredit);
    account.setIssuerSymbol(issuerSym.toUpperCase());
    account.setValid(true);

    oldRecords = loadData();
    newRecords = new CreditAccount[oldRecords.length + 1];

    for (int i = 0; i < oldRecords.length; i++) newRecords[i] = oldRecords[i];

    newRecords[oldRecords.length] = account;

    saveData(newRecords);

    System.out.print(
        "\tCreated new credit card account ["
            + issuerSym.toUpperCase()
            + "]:\tAccount Number "
            + accountNum
            + ", Credit Limit : "
            + account.getMaxLimit()
            + "\n");
  }