gpt4 book ai didi

java - 程序没有输出(预计 408 行),没有编译或运行时错误

转载 作者:行者123 更新时间:2023-11-30 07:48:23 28 4
gpt4 key购买 nike

我想使用 DynamicTimeWarping (DTW) 的输出进行分类。事实证明,动态时间扭曲算法的输出仍然需要进行后处理。作为时间对齐过程的一部分,数据 A 的一些单个数据点将被映射到数据 B 上的多个数据点。我计划取数据 A 上这几个数据点的平均值,其中它们被映射到数据的单个数据点B. 最终输出将是已针对相似性进行优化的数据之间的一对一映射数据点。然后我将使用这个最终输出进行分类。

输入将是一个文件:(索引数据 A、索引数据 B、内容数据 A)如下所示:

0,0,0.36
1,0,0.23
2,0,0.14
3,1,0.41
4,1,0.44
5,2,0.16
6,2,0.03
7,2,0.09

以下是我当前的代码:

import java.util.*;

public class dtw_post {


public static void main(String[] args) throws Exception {
Scanner scan = new Scanner(System.in);
int N = 655;
int x = 408;
while(scan.hasNextLine()){
String line =scan.nextLine();
String[] lineVector = line.split(",");

int a[] = new int[N];
int b[] = new int[N];
double c[] = new double[x];


for(int i = 0; i<N; i++)
{
a[i]=Integer.parseInt(lineVector[0]);
b[i]=Integer.parseInt(lineVector[1]);
}

for(int i = 0; i<x; i++){
c[i]=Double.parseDouble(lineVector[2]);
}

System.out.println(dtw_post.lookup(a,b,c));}
}

static String[] lookup (int[] a, int[] b, double[] c){

String[] final_result = new String[c.length];
for(int i=0; i<a.length; i++){

if (a[i+1] > a[i] && b[i] == b[i+1]) {
double[] d = {c[a[i]],c[a[i+1]]};
double e = average(d);
final_result[i] = Double.toString(e);
}

else {
final_result[i] = Double.toString(c[a[i]]);
}}
return final_result;
}

static double average(double[] data) {
double sum = 0;
int number = 0;
for (double val : data) {
++number;
sum += val;
}
return sum / number;
}

}

程序没有输出(预计 408 行),没有编译或运行时错误。命令行中的光标只是闪烁。感谢您花时间帮助我。

最佳答案

您的程序正在等待来自命令行的输入,因为您已经为 System.in 流创建了 Scanner。您需要从中读取文件。

File file = new File("fileName");

Scanner scannerFile = new Scanner(file);

while(scannerFile.hasNextLine()){
String line = scannerFile.nextLine();
String[] lineVector = line.split(",");

}

关于java - 程序没有输出(预计 408 行),没有编译或运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33602568/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com