Avatar billede A-G Nybegynder
06. december 2012 - 13:11 Der er 7 kommentarer

Hjælp til kodning

Hej

Jeg skal have lavet noget kode, som tilføjer en rente, til en eksisterende konto.
De to koder er 2 klasser for sig. Hvordan får jeg dem implementeret, således at jeg kan få renten til at blive tilføjet til de enkelte konti?

"RENTE KODEN":

public class Interestrate {

      public static void main( String args[] )
      {
          double amount; // Beløb på depositum ved udgang af hvert år
          double principal = 1000; // Beløb før renter
          double rate = 0.002; // Rentesats
       
          // Viser overskrifterne "Year" og "Amount on deposit" på skærmen
          System.out.printf( "%s%20s\n", "Year(s)", "Amount on deposit" );

          // Udregner beløbet på depositum over et x antal år, hvilket i dette tilfælde er 10.
          for ( int year = 1; year <= 10; year++)
          {
            // Udregner det nye beløb for hvert enkelt år.
            amount = principal * Math.pow(1 + rate, year);

            // Viser selve året og selve beløbet på skærmen
            System.out.printf( "%4d%,20.2f\n", year, amount );
          } // Afslutter "for" loop
           
      public double getInterestrate(String type) {
          switch (type)
          {

          case "Løn":
          Interestrate = 2;
          case "Opsparing":
          Interestrate = 4;
          case "Kassekredit":
          Interestrate = 4;
          case "Konto4":
          Interestrate = 5;
          case "Konto5":
          Interestrate = 1;
         
          } // Afslutter Switch
          return Interestrate;
          } // Afslutter method getInterestrate
      } // Afslutter main
    } // Afslutter klassen "Interestrate"


"BANKKONTI KODEN":

package ch13;

import java.util.ArrayList;

// BankDatabase.java
// Represents the bank account information database

public class BankDatabase
{
  //private Account accounts[]; // array of Accounts
    private ArrayList<Account> accountList; // array of Accounts   
     
  // no-argument BankDatabase constructor initializes accounts
  public BankDatabase()
  {
      accountList = new ArrayList<Account>();
      accountList.add(new Account( 12345, 54321, 1000.0, 1200.0 ));
      accountList.add(new Account( 98765, 56789, 200.0, 200.0 ));
      //accounts = new Account[ 2 ]; // just 2 accounts for testing
      //accounts[ 0 ] = new Account( 12345, 54321, 1000.0, 1200.0 );
      //accounts[ 1 ] = new Account( 98765, 56789, 200.0, 200.0 ); 
  } // end no-argument BankDatabase constructor
 
  // retrieve Account object containing specified account number
  private Account getAccount( int accountNumber )
  {
      // loop through accounts searching for matching account number
      for ( Account currentAccount : accountList )
      {
        // return current account if match found
        if ( currentAccount.getAccountNumber() == accountNumber )
            return currentAccount;
      } // end for

      return null; // if no matching account was found, return null
  } // end method getAccount

  // determine whether user-specified account number and PIN match
  // those of an account in the database
  public boolean authenticateUser( int userAccountNumber, int userPIN )
  {
      // attempt to retrieve the account with the account number
      Account userAccount = getAccount( userAccountNumber );

      // if account exists, return result of Account method validatePIN
      if ( userAccount != null )
        return userAccount.validatePIN( userPIN );
      else
        return false; // account number not found, so return false
  } // end method authenticateUser

  // return available balance of Account with specified account number
  public double getAvailableBalance( int userAccountNumber )
  {
      return getAccount( userAccountNumber ).getAvailableBalance();
  } // end method getAvailableBalance

  // return total balance of Account with specified account number
  public double getTotalBalance( int userAccountNumber )
  {
      return getAccount( userAccountNumber ).getTotalBalance();
  } // end method getTotalBalance

  // credit an amount to Account with specified account number
  public void credit( int userAccountNumber, double amount )
  {
      getAccount( userAccountNumber ).credit( amount );
  } // end method credit

  // debit an amount from Account with specified account number
  public void debit( int userAccountNumber, double amount )
  {
      getAccount( userAccountNumber ).debit( amount );
  } // end method debit
} // end class BankDatabase

Tak på forhånd!
Avatar billede arne_v Ekspert
07. december 2012 - 19:20 #1
En metode i BankDatabase som iterere over accountList og en kalder metode i Account?
Avatar billede A-G Nybegynder
07. december 2012 - 23:15 #2
Ja, hvordan skal det gøres? Jeg er elendig til java..
Avatar billede arne_v Ekspert
08. december 2012 - 01:46 #3
Proev og lav et forsoeg og spoerg naar du koerer fast.
Avatar billede A-G Nybegynder
08. december 2012 - 10:18 #4
Nu har jeg skrevet dette
Så vidt jeg har forstået skal dette indsættes i klassen, vhor mit program skal "kaldes" : Interestrate IR = new Interestrate();
IR.rateCalculation();

Her er den klasse som skal kaldes til "hovedprogrammet":

public double Interestrate( double principal ); // Beløb indsættes i parameter
        {
          double amount; // Beløb på depositum ved udgang af hvert år
          double rate = 0.002; // Rentesatsen
       
          // Viser overskrifterne "Year" og "Amount on deposit" på skærmen
          System.out.printf( "%s%20s\n", "Year(s)", "Amount on deposit" );

          // Udregner beløbet på depositum over et x antal år, hvilket i dette tilfælde er 10.    
          for ( int year = 1; year <= 10; year++)
          {
            // Udregner det nye beløb for hvert enkelt år.
            amount = IR.rateCalculation(100) * Math.pow(1 + rate, year);

            // Viser selve året og selve beløbet på skærmen
            System.out.printf( "%4d%,20.2f\n", year, amount );
                     
          } // Afslutter "for" loop
         
          return amount; //Result gets returned
         
      } // Afslutter main
} // Afslutter klassen "Interestrate"
Avatar billede arne_v Ekspert
11. december 2012 - 04:39 #5
Skal renten altid vaere 0.2%?

Skal periode altid vaere 10 aar?

Hvad returnerer metoden?

Og er det hvad du skal bruge?
Avatar billede A-G Nybegynder
11. december 2012 - 12:22 #6
Nej, det er ikke meningen. Det er blevet ændret en smule. Så når man opretter en ny bruger, så er renten fast til de enkelte konti. Det havde jeg tænkt mig at gøre vha. nogle switch cases, men det ved jeg ikke helt hvordan skal fungere?
Avatar billede A-G Nybegynder
11. december 2012 - 12:22 #7
Nej, det er ikke meningen. Det er blevet ændret en smule. Så når man opretter en ny bruger, så er renten fast til de enkelte konti. Det havde jeg tænkt mig at gøre vha. nogle switch cases, men det ved jeg ikke helt hvordan skal fungere?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester