转换为分数

尝试将小数转换为分数并提供倒数

这是针对Java的。我尝试了多种方法并执行Math.pow,当我已经有十进制形式的答案时,只想将其转换并让程序给出倒数即可,这有点复杂

public class ParallelSeriesCircuit {
    public static final int SERIES = 1;
    public static final int PARALLEL = 2;

    public int circuitType;
    public double[] resistance;
    public double Rtotal;
    public int Rseries;

    public int getNumberOfResistors() {
        return resistance.length;
    }

    public double getTotalResistance() {
        if (circuitType == SERIES) {

            return getSeriesResistance();
        } else {
            return getParallelResistance();
        }
    }

    public double getParallelResistance() {
        int i = 0;
        for (i = 0; i < resistance.length; i++) {
            Rtotal += 1 / resistance[i];


        }

        return Rtotal;
    }

    private double getSeriesResistance() {
        for (int i = 0; i < resistance.length; i++) {
            Rtotal += resistance[i];

        }
        return Rtotal;
    }

}

问题出在方法getParallelResistance上,因为我似乎无法找出转换为分数的方法。这是基于用户输入的,因此使其更加复杂

limian6666 回答:转换为分数

串联电阻的公式为R = R1 + R2 + R3 + ...,并由getSeriesResistance()正确计算。

并联电阻的公式为1 / R = 1 / R1 + 1 / R2 + 1 / R3 +...,但这不是getParallelResistance()所计算的。

更改为 return 1 / Rtotal;


此外,您需要将Rtotal设置为局部变量:

public double getParallelResistance() {
    double sum;
    for (double r : resistance) {
        sum += 1 / r;
    }
    return 1 / sum;
}

private double getSeriesResistance() {
    double sum;
    for (double r : resistance) {
        sum += r;
    }
    return sum;
}
本文链接:https://www.f2er.com/3143102.html

大家都在问