【发布时间】:2017-07-15 04:00:15
【问题描述】:
我正在研究线性回归,我想实现它。我想在“data.txt”文本文件中获取有关线性回归数据的信息。我使用Scanner 类读取文件。我也想把它们放在类变量中。当我使用'for循环'将它们放入变量时,我遇到了错误。
这里是错误信息
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at linearregression.LinearRegression.initFile(LinearRegression.java:35)
35 line is `y[i]=scan.nextInt();`
代码是
private final double LEARNING_RATE=0.0001;
private int num_TrainingSet;
private int num_Features;
private int[][] x;
private int[] y;
private double[] theta;
private Scanner scan;
public LinearRegression()
{
x = new int[num_TrainingSet][num_Features];
y = new int[num_TrainingSet];
theta = new double[num_Features+1];
}
public void initFile() throws FileNotFoundException
{
File file = new File("src/linearregression/data.txt");
scan = new Scanner(file);
num_TrainingSet = scan.nextInt();
num_Features = scan.nextInt();
for(int i=0;i<num_TrainingSet;i++)
{
y[i]=scan.nextInt();
}
}
当我也将此代码 y[i]=scan.nextInt() 更改为 y[i]=0; ,也会遇到错误。
【问题讨论】:
-
当一个应用要求你输入训练集的多条记录时,你是否插入了0?
-
你的标题没用。请对其进行编辑以反映问题。
标签: java