【问题标题】:Java Object Array - Create a method with empty parameter, returns object array of class Book?Java Object Array - 创建一个带空参数的方法,返回类 Book 的对象数组?
【发布时间】:2021-02-09 16:25:59
【问题描述】:

我尝试了多种方法来格式化它,但每次我都错了。显示此代码的正确方法是什么?

使用空参数创建一个名为 setupMarket 的方法,但它需要返回一个 Book 类的对象数组。

此方法将创建一个大小为 4 的 Book 类的对象数组。 初始化 4 个对象中的每一个,其中 第一个对象是名为“计算机科学”的书,id 0,价格 $50 第二个对象是名为“数学”的书,id 1,价格 $40 第三件物品是名为“Biology”的书,id 2,价格 $70 第四个对象是书名“计算机科学”,id 3,价格 $60。

提前致谢。

【问题讨论】:

  • 您尝试“格式化此”并想知道“显示此代码的正确方式”是什么意思?你在说什么代码?这是关于您如何正确格式化 Stackoverflow 问题的问题,还是您没有任何代码,而是希望我们将其提供给您(顺便说一句,这不会发生)?
  • 请展示 Book 类。
  • 请添加一些有关您尝试的信息。例如您已经编写的代码。
  • 您是否已经创建了Book 类?你知道如何实例化一个 Array 吗?你知道如何实例化 Book 吗?请展示您尝试过的内容
  • Book[] setupMarket() {...}。要格式化问题中的代码,请粘贴代码,选择行并单击图标{}

标签: java arrays methods


【解决方案1】:

乍一看,我想这几乎就是您所需要的(未测试)

public class Book {
    private int id;
    private String name;
    private int price;
 
    public Book(int id, String name, int price) {
        this.id = id;
        this.name = name;
        this.price = price;
    }
    
    // getters setters
}

你的方法将是

    public Book[] setupMarket() {
        Book[] books = new Book[4];
        books[0] = new Book(0,  “Computer Science”, 50);
        books[1] = new Book(1, “Maths”, 40);
        books[2] = new Book(2, “Biology”, 70);
        books[3] = new Book(3, “Computer Science”, 60);
        return books; 
        
    }

在 cmets 中告诉我更多信息。

【讨论】:

    【解决方案2】:

    如果您没有 Book 课程,请使用上述答案。创建您的课程并添加数据。 填充数据取决于要求。您还可以检查下面给出的结果。 这里我是基于String数组填充数据,方便你以后添加更多数据。

    案例:当您没有任何 Book 类时。

    step :1 => 创建 Book 类。

    class Book{
        String name;
        int id;
        int price;
        public Book(String name, int id, int price) {
            this.name = name;
            this.id = id;
            this.price = price;
        }
    }
    

    Step :2 => 使用数据设置对象并以数组形式返回。

    public Book[] setUpMarket() {
            Book[] books = new Book[4];
            /*This is used to default data, used to initialized into object.
             * here java =  [book name], 1 [id], 15 [price]
             *list Info is used to hold the data for individual object
             * separated by ','
             */ 
            String listInfo[] = {"java,1,15","php,2,25"};
            //Loop throw the data and fill the object and add into the array.
            for(int i = 0 ; i < listInfo.length; i++) {
                books[i] = new Book(listInfo[i].split(",")[0],
                        Integer.parseInt(listInfo[i].split(",")[1]),
                        Integer.parseInt(listInfo[i].split(",")[2]););
            }
            //return array
            return books;
        }
    

    案例:当你有 Book 类时,只使用上面的方法。

    【讨论】:

      【解决方案3】:

      图书课

      public enum Book {
          ID0("Computer Science", "$50"),
          ID1("Maths", "$40"),
          ID3("Biology", "$70"),
          ID4("Computer Science", "$80");
          
          private final String desc;
          private final String price;
          
          Book(String desc, String price){
              this.desc = desc;
              this.price = price;
          }
          public String setMarketDesc() {
              return desc;
          }
          public String setMarketPrice() {
              return price;
          }
      }
      

      主类

      public class BookMain{
          public static void main(String[] args) {
              for(Book people: Book.values()) {
                  System.out.printf("%s\t%s\t%s\t\n", people, people.setMarketDesc(), people.setMarketPrice());
              }
          }
      }   
      

      测试和打印

      
          ID0 Computer Science    $50 
          ID1 Maths   $40 
          ID3 Biology $70 
          ID4 Computer Science    $80
      
      

      【讨论】:

        猜你喜欢
        • 2013-06-04
        • 2015-09-02
        • 2023-04-01
        • 2016-03-04
        • 2016-02-09
        • 2016-04-05
        • 2021-10-13
        • 1970-01-01
        • 2013-02-16
        相关资源
        最近更新 更多