【问题标题】:Setting Up An Array Method设置数组方法
【发布时间】:2017-03-17 01:33:25
【问题描述】:

我需要设置一个这样构造的方法

+addBook(aBook:book): boolean

我知道+ 表示它是public,它必须是名称为addBookboolean,但我不确定如何设置aBook:book 部分。

我知道它希望我设置一个数组作为方法的参数,但我不知道如何设置它。会是这样吗?

 public boolean addBook(aBook[] book)

【问题讨论】:

  • 可能只是我,但我读到它想要一种方法(称为addBook)来获取aBook 并称之为book,类似于public boolean addBook(aBook book)。至于你的“实际”问题,我建议只写一些代码,看看会发生什么
  • @MadProgrammer 不是右边的类型吗?
  • @MadProgrammer 我同意你的观点,有一个名为 addBook 的方法然后你传入一个书籍数组是没有意义的。
  • @shmosel 鉴于方法返回类型的布局,您可能是对的
  • @MadProgrammer 我假设格式是 UML。

标签: java arrays boolean


【解决方案1】:

我知道它要我设置一个数组作为参数 方法,但我不知道具体如何设置。

只需按照以下方式做一些事情:

aBook[] tempBooks = new aBook[2]; // you can change the length if you wish
aBook book1 = new aBook();
aBook book2 = new aBook();
tempBooks[0] = book1;
tempBooks[1] = book2;

方法实现:

public boolean addBook(aBook[] book){
   if(Some Condition){                // this is just an example but you know better than me of what your algorithm is.
       // perform some task
       return true;  // return true;
   }
   return false; // return false otherwise
}

调用方法:

addBook(tempBooks);

当然,在不知道您的 constructor 如何查找 aBook 类型的情况下,我只能建议我上面提供的示例。

更新

我认为您的方法定义状态是将book 传递给addBook(aBook book) 方法,然后将book 添加到aBook 的数组中,具体取决于是否添加了这本书返回相应的return 值。

示例:

假设这个数组在你的类中是全局的:

aBook[] tempBooks = new aBook[2]; // you can change the length if you wish

创建一些变量来保存当前索引,所以现在你的代码变成了这样:

aBook[] tempBooks = new aBook[2]; // you can change the length if you wish
int index = 0;

在您的addBook(aBook book) 方法中:

public boolean addBook(aBook book){
   if(book != null){                // this is just an example but you know better than me of what your algorithm is.
     if(index < tempBooks.length){
       tempBooks[index] = book;
       index++;
       return true;
     }
   }
   return false; // return false otherwise
}

【讨论】:

    【解决方案2】:

    我认为该格式是用UML 编写的。

    可能代表:

    public boolean addBook(Book aBook);public boolean addBook(Book[] aBook);

    【讨论】:

      【解决方案3】:

      如其所写:

      public boolean addBook(aBook[] book)
      

      您正在创建一个接受 aBook 对象数组作为参数并且必须返回 true 或 false 布尔值的方法。

      一个建议是使用正确的命名约定。 aBook 应该以大写字母开头,因为它是一个类。 IE。 A_Book。

      【讨论】:

      • 这是什么答案?
      • P.帮助的问题。
      • "您正在创建一个方法,该方法接受 aBook 对象数组作为参数,并且必须返回 true 或 false 布尔值。"那部分正是我应该做的。我有一个名为 MAX 的属性,如果数组中有最大数量的项目,则返回 true,如果没有,则返回 false,那么我所拥有的是否正确?
      • 是的,您只需要方法中的内部逻辑来评估数组的大小与 MAX 值。确保在数组上使用 .length() 来获取大小,如果按索引进行,则偏移量为零。
      猜你喜欢
      • 2016-10-10
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-26
      • 2013-11-18
      • 2012-01-25
      • 1970-01-01
      • 2016-01-10
      相关资源
      最近更新 更多