编写一个程序,该程序将整数序列读入数组,并计算数组中所有元素的交替和。例如,如果程序使用输入数据执行
1 4 9 16 9 7 4 9 11然后进行计算
1-4 + 9-16 + 9-7 + 4-9 + 11 =-2
到目前为止,我有以下代码:
import java.util.Arrays;
/**
This class computes the alternating sum
of a set of data values.
*/
public class DataSet
{
private double[] data;
private int dataSize;
/**
Constructs an empty data set.
*/
public DataSet()
{
final int DATA_LENGTH = 100;
data = new double[DATA_LENGTH];
dataSize = 0;
}
/**
Adds a data value to the data set.
@param x a data value
*/
public void add(double x)
{
if (dataSize == data.length)
data = Arrays.copyOf(data, 2 * data.length);
data[dataSize] = x;
dataSize++;
}
/**
Gets the alternating sum of the added data.
@return sum the sum of the alternating data or 0 if no data has been added
*/
public double alternatingSum()
{
. . .
}
}
我必须使用以下类作为测试器类:
/**
This program calculates an alternating sum.
*/
public class AlternatingSumTester
{
public static void main(String[] args)
{
DataSet data = new DataSet();
data.add(1);
data.add(4);
data.add(9);
data.add(16);
data.add(9);
data.add(7);
data.add(4);
data.add(9);
data.add(11);
double sum = data.alternatingSum();
System.out.println("Alternating Sum: " + sum);
System.out.println("Expected: -2.0");
}
}
我为您实现了alternateSum方法:
public double alternatingSum() {
double alternatingSum = 0;
if(data != null || dataSize > 0) {
for(int i = 0; i < dataSize; i = i + 2) {
alternatingSum += data[i];
}
for(int i = 1; i < dataSize; i = i + 2) {
alternatingSum -= data[i];
}
}
return alternatingSum;
}
我想弄清楚如何获取这些行并打印出来
问题内容: 写一个方法 公共静态ArrayList merge(ArrayList a,ArrayList b) 合并两个数组列表,两个数组列表中的元素交替出现。如果一个数组列表短于另一个数组列表,则请尽可能长地交替,然后附加较长数组列表中的其余元素。例如,如果a是 1 4 9 16 b是 9 7 4 9 11 然后合并返回数组列表 1 9 4 7 9 4 16 9 11 我尝试做的是编写一个带i
问题内容: 我有一个整数数组,我想计算重复出现的元素。首先,我读取数组的大小,并使用从控制台读取的数字对其进行初始化。在数组中,我存储了重复的元素。该数组存储元素连续出现的次数。然后,我尝试搜索重复序列并以特定格式打印它们。但是,它不起作用。 我希望输出看起来像这样: 例如: 如何找到重复的元素及其计数?如何如上所示打印它们? 问题答案: 字典(Java中的HashMap)可以轻松解决此类问题。
与我之前的帖子相似,我试图开发一个纸牌游戏: a)打印出整副牌 接下来,私有静态int numPairs(ArrayList cards)是一个计算卡片中卡片对数量的方法。如果两张牌等级相同,则两张牌成对。牌中三张相同等级的牌计为1对。如果相同等级的四张牌都在牌中,则有2对牌。这里的问题是,我不确定如何用我编写的代码将3张等级相同的牌计数为1对,并且仍然会出现表示字段card.rank不可见的错误
问题内容: 我想了解 从另一个数组的所有元素过滤数组 的最佳方法。我尝试使用过滤器功能,但是如何给它提供要删除的值并没有解决。 就像是: 如果过滤器功能没有用,您将如何实现呢? 编辑:我检查了可能重复的问题,它可能对那些容易理解javascript的人有用。选中的答案很容易。 问题答案: 您可以使用函数的参数来避免将过滤器数组存储在全局变量中。
我想了解从另一个数组的所有元素中筛选一个数组的最佳方法。我尝试了筛选函数,但我不知道如何给它我想要删除的值。 类似内容: 如果过滤器功能不是有用的,你将如何实现它? 编辑:我检查了可能重复的问题,对于那些容易理解javascript的人来说,它可能很有用。如果答案被检查为好,事情就会变得简单。