有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java编程分配:方法应该是什么数据类型来返回数组和方法中的错误?

我有以下代码:

public class Bank
{
   private BankAccount[] bank;
   private int pointer = 0;
   public Bank()
   {
      bank = new BankAccount[10];
   }


   public void addAccount(BankAccount bankAccount)
   {
      for(int pointer = 0; pointer <= 10; pointer ++)
      {
         bank[pointer] = bankAccount;
      }
   }


   public type getAccount(int i)
   {
      return BankAccount[i];
   }

getAccount方法的返回给我带来了问题

该方法的要求如下:

  • 方法getAccount将返回一个给定整数索引值作为参数的BankAccount对象

BankAccount对象位于另一个类中,工作正常。我的错误是在银行账户中找不到带有胡萝卜的符号。我不知道这是为什么

所以我的问题是:为什么它找不到BankAccount对象,它应该返回什么类型


共 (2) 个答案

  1. # 1 楼答案

    你的getAccount方法应该返回一个BankAccount类型(使用bank对象)

       public BankAccount getAccount(int i)
       {
          return bank[i];
       }
    
  2. # 2 楼答案

    Why isn't it finding the BankAccount object...

    因为没有BankAccount对象。有一个BankAccount,但它的实例(对象)保存在bank中。这就是你想从那里得到它们的地方

    ...and what type should it return?

    这个方法的目的是获取帐户,所以代码中有一种类型适合于此。(是的,我故意含糊其辞,因为如果我帮助你到达那里,而不仅仅是告诉你,对你来说会更有价值。)

    请注意,要发出获取帐户时出错的信号,通常不会返回某物*,而是抛出一个错误(“异常”)


    旁注:永远不要这样做:

    bank = new BankAccount[10];
    

    后来

    for(int pointer = 0; pointer <= 10; pointer ++)
    

    首先,您的循环走得太远(该数组中没有bank[10]条目)。第二,如果你改变了bank的长度,现在你必须在两个地方做。使用< bank.length代替<= 10

    for(int pointer = 0; pointer < bank.length; pointer ++)
    

    *(他说的话非常笼统,并且考虑到每个规则都有例外)