猿问

java中if else语句中的Jama矩阵和逻辑错误

我尝试实现一些代码块。我有四个数组。


    double[]timea={1.0,2.0,3.0,4.0,5.0,6.0};

    double[]speed={11.0,12.0,8.0,13.0,9.0,6.0};

    double[]timeb={1.5,2.5,4.0,5.5};

    double[]speedb={12.3,8.5,6.9,7.8};

第一个数组定义了一些时间,比如时间戳和每个时间块对应的一些相对速度。


比如1.0时代的速度是11.0,2.0时代的速度是12.0,3.0时代的速度是8.0……等等。


第三个数组定义时间戳 b 具有一些相应的速度。比如1.5时的速度是12.3,2.5时的速度是3.8,4.0时的速度是5.6……等等


我想写一个程序,将这些时间和速度相对于时间合并起来。


所以欲望输出将是


1.0 11.0

1.5 12.3

2.0 12.0

2.5 8.5

3.0 8.0

4.0 13.0

4.0  6.9

5.0  9.0

5.5  7.8

6.0  6.0

我为此写了一个代码


public class Check {

public static void main(String args[]){

    Matrix abc=new Matrix(10,2);

    double[]timea={1.0,2.0,3.0,4.0,5.0,6.0};

    double[]speed={11.0,12.0,8.0,13.0,9.0,6.0};

    double[]timeb={1.5,2.5,4.0,5.5};

    double[]speedb={12.3,8.5,6.9,7.8};

    int k=0,k1=0;

    while(k<timea.length){


            abc.set(k, 0, timea[k]);

            abc.set(k, 1, speed[k]);


        if(timea[k]<timeb[k1]){

            abc.set(k,0,timeb[k1]);

            abc.set(k,1,speedb[k1]);

            if(k1<timeb.length-1){

                k1++;

            }

        }

        else if(timea[k]>timeb[k1]){

            abc.set(k,0,timea[k]);

            abc.set(k,1,speed[k]);

        }

        k++;

    }

    abc.print(3,6);

}

}


程序输出:


1.500000 12.300000

2.500000 8.500000

4.000000 6.900000

5.500000 7.800000

5.500000 7.800000

6.000000 6.000000

0.000000 0.000000

0.000000 0.000000

0.000000 0.000000

0.000000 0.000000

所以请帮我找出逻辑错误。


慕标5832272
浏览 134回答 1
1回答
随时随地看视频慕课网APP

相关分类

Java
我要回答