我正在尝试查找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或内存使用率没有变化。

到底是怎么回事???

最佳答案

尝试这个:

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循环中。让我知道是否有任何问题。

09-05 16:19