Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中查找平均表单ArrayList_Java_Arraylist - Fatal编程技术网

如何在java中查找平均表单ArrayList

如何在java中查找平均表单ArrayList,java,arraylist,Java,Arraylist,我有一个ArrayList,我在存储时间、出价、出价。我无法找到内环中元素1-5,2-6,3-7的平均值 以下是代码(rs是一个DB结果迭代器): List graphData=new ArrayList(); while(rs.next()){ i++; 如果(i>6){ graphData.add(rs.getString(“TIME”)); graphData.add(df.format(rs.getFloat(“BID”)); graphData.add(df.format(rs.get

我有一个
ArrayList
,我在存储时间、出价、出价。我无法找到内环中元素1-5,2-6,3-7的平均值

以下是代码(rs是一个DB结果迭代器):

List graphData=new ArrayList();
while(rs.next()){
i++;
如果(i>6){
graphData.add(rs.getString(“TIME”));
graphData.add(df.format(rs.getFloat(“BID”));
graphData.add(df.format(rs.getFloat(“ASK”));

对于(int arr=i-5;arr而言,第一个问题是只有在
i>6
时才将值添加到列表中。如果
,则列表的修改应在
之外

然后,
arr
计数器有一个问题:它增加了3,因为您只想添加ASK元素,但是循环在到达
i
时停止。它应该是
i*3
。此外,如果
i
0开始,您可以从
i==5
开始,而不是从
7
开始(在代码中看不到)

List graphData=new ArrayList();
int i=0;
while(rs.next()){
i++;
graphData.add(rs.getString(“TIME”));
graphData.add(df.format(rs.getFloat(“BID”));
graphData.add(df.format(rs.getFloat(“ASK”));
如果(i>=5){
双和,平均值=0;

对于(int arr=i*3-13;arr为什么不使用DBMS来计算平均值?(也许SQLite不会被称为DBMS,但肯定有avg()函数。我必须使用SQLite做许多其他事情,但同时我必须找到avrage。这就是我使用列表的原因。您可能会发现另一种更容易阅读的可能性是:
for(int arr=i-5;arr
List<String> graphData=new ArrayList<String>();
while(rs.next()){
  i++;
  if(i>6){
    graphData.add(rs.getString("TIME"));
    graphData.add(df.format(rs.getFloat("BID")));
    graphData.add(df.format(rs.getFloat("ASK")));

    for (int arr=i-5; arr<i; arr+=3) {
      sum = sum+graphData.get(arr+3));
    }
    avg = sum/5;
    System.out.println(avg );
  }
}
List<String> graphData=new ArrayList<String>();
int i = 0;
while(rs.next()){
  i++;
  graphData.add(rs.getString("TIME"));
  graphData.add(df.format(rs.getFloat("BID")));
  graphData.add(df.format(rs.getFloat("ASK")));

  if(i>=5){
    double sum, avg = 0;
    for (int arr=i*3-13; arr<i*3-1; arr+=3) {
      sum = sum+graphData.get(arr));
    }
    avg = sum/5;
    System.out.println(avg );
  }
}