簡體   English   中英

對象數組和Java中對象的創建

[英]array of objects and creation of objects in java

我需要創建一個具有一組客戶和bankID的對象(一個銀行)。 我的問題是我不知道如何在主要功能中創建銀行。

銀行類別:

public class Bank {
   Client[] client=new Client[20];
   String idBank;

   public Bank(Client[] client,String idBank) {
      this.client=client;
      this.idBank=idBank;
   }

   public Bank(Bank b) {
      b.client=client;
      b.idBank=idBank;
   }

客戶類別:

public class Client {
   String name;
   String address;
   BancAccount[] banc=new BancAccount[50];

   public Client(String name,String address,BancAccount[] banc) {
      this.name=name;
      this.address=address;
      this.banc=banc;
   }

   public Client(Client c) {
      c.address=address;
      c.name=name;
      c.banc=banc;
   }
}

主班:

public class Lab5 {
   public static void main(String[] args) {
      Bank[] b1=new Bank(client[3],"14332");
   }
}

這些是問題:

您必須創建一個程序來模擬銀行活動。 該系統包括以下模塊:銀行-客戶端(客戶端數組)-idBank(字符串)5 BancAccount-帳號(字符串)-金額(浮動)客戶端-名稱(字符串)-地址(字符串)-帳戶(BankAccount數組;一個客戶可以擁有至少一個帳戶,但不能超過五個帳戶)

讓我們看看您在做什么(沒有錯誤的[] ):

Bank b1 =new Bank(3,"14332"); //works, but BAD

現在,這不是很漂亮,是嗎? 讓我們談談您的Bank課程。 具體來說,這部分內容:

Client[] client=new Client[20];
public Bank(Client[] client,String idBank)
{
   this.client=client;
   this.idBank=idBank;
}

3Client數組相反,傳入3並沒有多大意義。 像這樣聲明Client數組也似乎很奇怪:

Client[] client=new Client[20];

但是,然后在調用Bank構造函數時,將數組強制重新分配給其他對象。 讓我們添加另一個構造函數:

public Bank(int numClients,String idBank)
{
   client = new Client[numClients];
   this.idBank=idBank;
}

可能還有一個addClient(Client c)方法(將強制執行最大客戶端大小),以及一個變量,用於跟蹤數組中的當前索引(本質上使其類似於ArrayList ):

private int index = 0;
public void addClient(Client c) {
   if(index == client.length)
      return; //or throw an Exception, your choice here.
   client[index] = c;
   index++;
}

現在,如果您想使所有類保持相同,那么您也可以在main()

Client[] clients = new Client[20]; //or whatever number of Clients is appropriate
//Code to instantiate Clients, whatever that may be
Bank = new Bank(new Client[]{}, "14332");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM