我还是新手java和写/读代码,所以我不太清楚我的教授想要什么。我所需要的只是加强我应该做的事情。 作业如下:
指定并实现一个传递NumberList的方法(某些类X的方法),该方法返回一个包含NumberList值的数组。
(您的方法不会更改NumberList。您的方法不是NumberList的成员。您将无法通过运行来测试您的方法,因为我没有向您提供NumberList类。)
If you need it, here are the public methods. 我使用的一种方法是:
public int size() //returns number of items in this NumberList
所以,据我所知,我所做的就是使用NumberList并创建一个值数组。很容易。这是处理所要求的工作吗?
public double [] arrayNL(NumberList list){
//pre: NL is not empty
//post: array with NL values is returned
double [] arrayNL = new double [list.size()];
for(int x=0;x<list.size();x++){
arrayNL[x]=list.nextDouble;
}
return arrayNL;
}
只是不确定list.size()和list.nextDouble ......这就是说我理解问题是正确的。真的没有做足够的对象编码熟悉/自信,我 严重 依赖于测试,所以我在质疑一切。任何帮助都会很棒,我出于某种原因无法遵循教授的指示。
答案 0 :(得分:0)
不确定我理解这个问题。目标是编写将列表复制到数组的代码,还是根据前后条件实现NumberList类中的方法?
答案 1 :(得分:0)
我相信本练习的目标之一是教授如何阅读API (Application program interface)并通过阅读文档来实现其方法,而无需阅读其背后的实际代码。
这是一项重要的做法,因为作为未来的开发人员,您必须使用其他人的方法,而您却无法自己实施所有方法。
至于您的代码,我不确定您在nextDouble
方法的哪个位置,因为我在文档中没有看到它。除非是给你的,否则我建议你坚持使用NumberList()
和其他基本编码功能的文档。
您可以使用nextDouble
而不是public double get(int index)
,因此您的for
循环看起来像这样:
for(int i = 0; i < list.size() ;i++){
arrayNL[i]= list.get(i);
}
其余代码基本上没问题。
答案 2 :(得分:-1)
你的代码基本上都在那里,虽然在NumberList类中未定义下一个double,因此可能会给你带来麻烦。这是每个部分正在做的事情:
public double [] arrayNL(NumberList list){
// Initialize an array of doubles containing the same # of elements
// as the NumberList
double [] arrayNL = new double [list.size()];
// Iterate through the NumberList
for(int x=0;x<list.size();x+) {
// Copy the double from the NumberList object to the double array
// at the current index. Note "nextDouble" is undefined, but
// NumberList does have a method you can use instead.
arrayNL[x]=list.nextDouble;
}
// After iterating through the whole list, return the double array
return arrayNL;
}
抱歉任何格式问题。在我的手机上键入此内容