Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[JAVA] Arrays met reference variables

Pagina: 1
Acties:

  • Snuffert
  • Registratie: April 2004
  • Laatst online: 15:45
Geachte medeforumgebruikers,

Ben voor school net begonnen met java. Ik loop nu tegen een probleem aan waarvan niks over geschreven staat in onze documentatie. Ik heb me rot gezocht op google met zoekopdrachten als: Java reference variables array. Dit mocht niet baten. Kan zijn dat ik er gewoon overheen kijk of verkeerd zoek maar heb even een opzetje nodig om dit op te lossen. Waarschijnlijk voor de meeste hier een newbie vraagje.
Het gaat over de volgende opdracht:
Write an account administration using two classes.
1. Write a class Account with storage for a name of the account holder, a balance and a rate, and
methods to initialize using console input, update with interest, and show the information in the
accounts. Be careful about where the scanner should be placed.
2. Write a class Bank that contains reference variables for two accounts. Write a method manage that
uses the methods from Account to manipulate the accounts.
3. Change Bank to not use separate variables as references to accounts but to have an array of 10
account variables. Be careful about the fact that the array is a list of indexed reference variables: the
objects still have to be created. Create three accounts. Also provide a method to show the information
in these accounts. Adapt the method manage. item Write a method addAccount that adds a new
account to the array. Fill and use the account.
In deelopdracht 3 vragen ze me dus om de accounts in een array te zetten.

Wat weet ik:
Basis kennis van arrays, zoals vullen, declareren etc.

Wat heb ik geprobeert:
Een string array gedeclareerd waarin ik de accounts aanmaak en daarna de int en de double variable omzet naar de juiste datatype. Daarnaast gewoon beetje zitten aankloten om te kijken wat er gebeurd.

Ik kom er echt ff niet uit, een simpel opzetje met een idee om dit op te lossen is waarschijnlijk genoeg voor mij om dit op te lossen. Ik wil hier ook echt van leren dus dit zou ik zelf ook het fijnst vinden.

Hieronder mijn code zoals ik hem had na opdracht 2, omdat al mijn oplossingen niet correct waren heb ik hem hier zo neergezet. Er zitten een paar functies niet in omdat ik snel door de opdrachten heen wil werken. Het gaat mij om het snappen van de stof en niet om het loos typen van methodes die voor zich spreken.
Alle op en aan merkingen op de code zijn welkom omdat het vak nogal rommelig georganiseerd is en wij als leerlingen nergens op terug kunnen vallen.

Java: Accounts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import java.util.*;

class Account {
   Scanner sc = new Scanner(System.in);
   String name;
   int rate;
   double balance;
   double interest;  
   Account(String n, double b, int r) {
      name = n;
      balance = b;
      rate = r;
   }
   
   void fill() { \\Nog niet in gebruik, is voor een account aanmaken
      System.out.println("Name of accountholder");
      name = sc.next();
      System.out.println("the current balance");
      balance = sc.nextDouble();
      System.out.println("The interest rate");
      rate = sc.nextInt();
   }
   void updateInterest() {
      int years;
      System.out.println("Balance over how many years?");
      years = sc.nextInt();
      for (int i=0; i < years ; i++){
      balance = (balance/100)*rate + balance;
      }
      System.out.println("Balance is " + balance);
   }
   void showAccount()   {
      System.out.println(name+" has "+ balance + " on his account, with an interest rate of "+rate);
   }
}
class Bank {
   Scanner sc = new Scanner(System.in);
   
   Account Accounts1;
   Account Accounts2;   
   Account Accounts3;
   
   void initialize() {
      Accounts1 = new Account("Piet", 1000, 5);
      Accounts2 = new Account("Hoer", 500, 10);
      Accounts3 = new Account("JeMoeder", 10000, 5);
   }
   void manage() {
      initialize();
      String choise;
      System.out.println("Type 1 for account info. Type 2 for interest update");
      choise = sc.next();
      if (choise.equals("1")) {
         Accounts1.showAccount();
      }
      else if (choise.equals("2")) {
         Accounts1.updateInterest();
         
      }
   }
    public static void main(String[] args) {
      new Bank().manage();
    }   
}

hmz...


Verwijderd

Bedoel je zoiets?
Java:
1
2
3
4
5
6
7
class Bank{
    Account account[] = new Account[10];

    void initialize(){
        account[0] = new Account("First account",1000,5);
        account[1] = new Account("Second account",10,10);
...
Wat heb ik geprobeert:
Een string array gedeclareerd waarin ik de accounts aanmaak en daarna de int en de double variable omzet naar de juiste datatype. Daarnaast gewoon beetje zitten aankloten om te kijken wat er gebeurd.
??? Ik zie geen string array in je code? En accounts aanmaken in een string array :?

Ik zou je trouwens eens wat meer inlezen in java, tutorials genoeg te vinden op internet. Elke variable dat je maakt is namelijk een reference, een array (eigenlijk een lijst van variabelen) is daarbij geen uitzonderen. (En dan doel ik op variabelen van niet-standaard types als int, boolean, double, etc., maar op variabelen die naar een object verwijzen).

edit:
Java te lang niet meer gebruikt. Even een new toegevoeg naar aanleiding van BalusC

[ Voor 5% gewijzigd door Verwijderd op 07-01-2008 22:11 ]


  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

In deelopdracht 3 vragen ze me dus om de accounts in een array te zetten.
Zoiets dus?
Java:
1
2
3
4
Account[] accounts = new Account[3];
accounts[0] = account1;
accounts[1] = account2;
accounts[2] = account3;
of
Java:
1
Account[] accounts = new Account[] {account1, account2, account3};
voor een array van 3 Account objecten.

Voor verzamelingen van Objecten kun je trouwens beter kijken naar de Collection framework. Deze bieden meer gemak en meer methoden om elementen te toevoegen danwel verwijderen. Zoiets dus
Java:
1
2
3
4
List<Account> accounts = new ArrayList<Account>();
accounts.add(account1);
accounts.add(account2);
accounts.add(account3);


Zie verder ook http://balusc.blogspot.co...atoren.html#ArrayOperator

  • Snuffert
  • Registratie: April 2004
  • Laatst online: 15:45
Zoiets dus?
Java:
1
2
3
4
Account[] accounts = new Account[3];
accounts[0] = account1;
accounts[1] = account2;
accounts[2] = account3;
of
Java:
1
Account[] accounts = new Account[] {account1, account2, account3};
voor een array van 3 Account objecten.

Voor verzamelingen van Objecten kun je trouwens beter kijken naar de Collection framework. Deze bieden meer gemak en meer methoden om elementen te toevoegen danwel verwijderen. Zoiets dus
Java:
1
2
3
4
List<Account> accounts = new ArrayList<Account>();
accounts.add(account1);
accounts.add(account2);
accounts.add(account3);


Zie verder ook http://balusc.blogspot.co...atoren.html#ArrayOperator
Ja dit is het dus. Ik wist dat het zoiets simpels was, maar mijn google skills zullen wel niet zo hoog zijn dan :). Bedankt voor de hulp! zat echt ff vast

hmz...