for循环无法从int转换为double []

时间:2016-11-12 22:24:00

标签: java

为了阅读很多行,我已经做了一个循环,开始从第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++); 

3 个答案:

答案 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];

然后你尝试将它的值设置为0p = 0;),这当然不会起作用,因为0有int作为一种类型(&# 39; s编译器通常为数字假设的内容,除非另有明确说明)。

就像被告知:创建一个可以容纳61166个双值的空列表。现在将列表的值设置为0 。你可能也会感到困惑。