【问题标题】:Java using an array from another class [closed]Java使用来自另一个类的数组[关闭]
【发布时间】:2023-04-10 18:10:02
【问题描述】:

我是 Java 新手,所以请温柔...

考虑以下ShoppingList Class

public class ShoppingList {
...
    public ItemPrices[] getSortedPrices(){
        //do sorting stuff here etc
        return ret.toArray(new ItemPrices[0]);
    }
}

现在我有另一个类叫做Hello

public class Hello {
...
    private Groceries createGroceries() {
    ...
         pricearray[] =  ShoppingList.ItemPrices[] //????
    ...
    }
}

我想将我创建的数组 pricearray 分配为等于方法中返回的 ItemPrices 数组。

但是我没有得到我想要的,这样做的正确方法是什么?

【问题讨论】:

  • ItemPrices[] 怎么可能是双精度数?你需要读一些书...
  • 我认为你不小心提出了你的问题。
  • 糟糕,复制错误代码抱歉。
  • 这是一个非常非常具体的编程问题,对其他人几乎没有价值。我只能推荐你买一本书,读一读类型、数组和构造函数……
  • 你是初学者,所以我不想看到粗鲁。但是这个问题有很多问题,我不知道从哪里开始。 double pricearray = ShoppingList.ItemPrices[] 永远不会起作用,因为= 两侧的两种类型都必须匹配。这可能会让你更接近:ItemPrices[] prices = new ShoppingList().getSortedPrices()。您可能应该阅读更多关于类型和基本 Java 的内容。

标签: java arrays class


【解决方案1】:

除非方法getSortedPrices是静态方法,否则你需要从ShoppingList类的实例中调用它,所以你应该如下创建一个实例

public class Hello {
...
    private Groceries createGroceries() {
    ...
        ShoppingList sList = new ShoppingList();
        PriceList [] pricearray =  sList.getSortedPrices() //you call a method by its name, not return type.
    ...
    }
}

还有,我不明白如何

(ItemPrices[] 是双精度)。

它应该是一个双精度数组,还是一个 ItemPrices 类的实例数组? 如果它应该是一个双精度数组,你需要这样做:

public class ShoppingList {
...
    public double[] getSortedPrices(){
        //do sorting stuff here etc
        return new double[n] // n is the length of the array
    }
}

和线

PriceList [] pricearray = sList.getSortedPrices()

应该是

double [] pricearray = sList.getSortedPrices()

【讨论】:

  • 谢谢,这是一个双打数组。 Eclipse 仍然给我一个错误,说它没有“看到” ShoppingList 类的位置,所以它不能调用ShoppingList()。这两个文件都在不同的 .java 文件中(ShoppingList.java 和 Hello.java)。感谢您容忍我的错误!
  • @meiryo 如果它们在不同的包中,请从该包中导入ShoppingList 类,并确保类名拼写正确且大小写正确。
【解决方案2】:

在不关注其他问题的情况下,您必须做类似的事情

ShoppingList sl = new ShoppingList();
ItemPrices[] pricearray =  sl.getSortedPrices();

但这需要您了解类型、构造函数、数组、如何调用方法以及许多其他事情!

【讨论】:

    猜你喜欢
    • 2015-06-25
    • 1970-01-01
    • 2013-07-24
    • 2021-12-16
    • 1970-01-01
    • 2013-12-28
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多