为了阅读很多行,我已经做了一个循环,开始从第0行开始阅读
一直到第61166行。但是如果我尝试编译这个文件,我得到的是我无法从int
转换为double[]
,即使变量不是整数。我做错了什么? TBH我是一个非常初学者,如果它是关于java。这是为了学校运动
int m = 61166;
int[] l = new int[m];
double[] p = new double[m] ;
double[] q = new double[m];
for (p = 0; p < m ; p++);
答案 0 :(得分:1)
问题是您正在尝试使用数组作为循环索引/增量。从理论上讲,你可以这样做:
int m = 61166;
int[] l = new int[m];
double[] p = new double[m] ;
double[] q = new double[m];
for (p[0] = 0; p[0] < m ; p[0]++);
但我认为这不会让你的程序以你想要的方式运行。我想你可能想做这样的事情:
int m = 61166;
int[] l = new int[m];
double[] p = new double[m] ;
double[] q = new double[m];
for (int index = 0; index < m ; index++){
//perform operations on your loop
p[index] = //something
q[index] = //etc...
}
答案 1 :(得分:0)
在您的代码中,您使用的p
类似于int
值,而类型为double[]
。
请改用以下代码:
for (int pp = 0; pp < m; pp++)
答案 2 :(得分:0)
很简单,您将p
声明为double
:
double[] p = new double[m];
然后你尝试将它的值设置为0
(p = 0;
),这当然不会起作用,因为0有int
作为一种类型(&# 39; s编译器通常为数字假设的内容,除非另有明确说明)。
就像被告知:创建一个可以容纳61166个双值的空列表。现在将列表的值设置为0 。你可能也会感到困惑。