在Java中将数组与toString方法一起使用

时间:2019-02-28 20:06:23

标签: java arrays tostring

这里是新功能,所以请放轻松!我搜索了有关该主题的其他文章,但找不到我要找的答案。希望有人能提供帮助。

两个单独的类,对象类和main方法。我需要使用toString打印对象的详细信息,但是我不知道如何打印浇头,这些浇头是从main方法作为数组传递的。该代码可以正常运行,但是当我从toString方法调用getToppings()时,它仅显示数组对象名称的ID,而不是数组本身的内容。

有人可以帮忙吗?

预先感谢, 马克

package toString;

/*
 * class to represent a pizza object. 
 */

public class Pizza
{

  private String name;

  private String [] toppings;

  private double price;

  public Pizza(String reqName, String [] reqToppings, double reqPrice)
  {
    name = reqName;
    toppings = reqToppings;
    price = reqPrice;
  }

  public String getName()
  {
    return name;
  }

  public String[] getToppings()
  {
    return toppings;
  }

  public double getPrice()
  {
    return price;
  }

  public String toString()
  {
    return "The pizza name is " + getName() + ", the toppings are " + getToppings() + " and the price is £" + getPrice();
  }

}

package toString;

public class TestPizza 

{
    public static void main(String[] args) 

    {

    String[] pepperoni = {"Pepperoni", "minced beef"};
    String[] diavalo = {"Pepperoni", "minced beef", "chillies"};
    String[] chicken = {"Chicken", "sweetcorn"};

    Pizza [] pizzaList = new Pizza[3];

    pizzaList[0] = new Pizza("Pepperoni", pepperoni, 6.95); 
    pizzaList[1] = new Pizza("Diavalo", diavalo, 7.95);
    pizzaList[2] = new Pizza("Chicken & Sweetcorn", chicken, 8.95);

    System.out.println(pizzaList[0].toString()); 
    System.out.println(pizzaList[1].toString());
    System.out.println(pizzaList[2].toString());

    }

}

1 个答案:

答案 0 :(得分:0)

您必须遍历数组并打印出每个项目:

 public String toString(){
    String s = "The pizza name is " + getName() + ", the toppings are: ";
    for(int i = 0; i<getToppings().size; i++){
        s += getToppings[i] + ", ";
    }
    s += "and the price is £" + getPrice();
    return s;
  }