Eclipse继续运行该类但不打印任何内容

时间:2017-03-25 00:23:23

标签: java

我正试图找到1080P 21:9(2560 * 1080)的所有比例分辨率。

例如:

  

3840 1620      ____ = ____
     2560 1080

     

交叉乘法:3840 * 1080 = 2560 * 1620

     

解决0 = 0

这意味着3840 * 1620与2560 * 1080成比例。

找到我写的所有内容:

public void vai(){
    double B1 = 2560;
    double B2 = 1080;
    double T1 = 2561;
    double T2 = 1081;
    double calD = 0;
    double calE = 0;
    double d = 0;

    for (int i = 2561; i < 3500; i++){
        for (int k=1081; k < 2200; k++) {
            calD = B1*T2;
            calE = B2*T1;
            d = calD - calE;                
            if (d == 0.00){                 
                System.out.println(T1+ " X "+ T2 + " Result: " + d);
                T2 = T2+1;                  
            }

            else {                  
                T2 = T2+1;
            }

        }
        T1 = T1+1;
    }
 }

但Eclipse继续运行并且什么都不打印。 BluJ也是。 CPU或内存使用情况没有变化。

发生了什么事?

1 个答案:

答案 0 :(得分:3)

试试这个:

public class HelloWorld{

     public static void main(String []args){
        double B1 = 2560;
        double B2 = 1080;
        double T1 = 2561;
        double T2 = 1081;
        double calD = 0;
        double calE = 0;
        double d = 0;
        while (T1 < 4000){
            T2 = 1081;
            while (T2 < 2200) {
                calD = B1*T2;
                calE = B2*T1;
                d = calD - calE;
                if (d == 0){                    
                    System.out.println(T1+ " X "+ T2 + " Result: " + d);
                    T2 = T2+1;                  
                }
                else {                  
                    T2 = T2+1;
                }
            }
            T1 += 1;
        }
    }
}

你的代码进入一个无限循环,因为当它从嵌套的while循环中失败时,它没有任何进一步的方向并被卡在外部while循环中。如果有任何问题,请告诉我。