使用for循环java中的if语句查找最大数字

时间:2014-11-08 12:18:11

标签: java if-statement for-loop

好的,我对网上找到的问题感到有些困惑。当电阻上升一个时,我需要编写一个能够解决 watts 的类,即电阻1开始,每个for循环1 ohm都会添加到其中:1 ohm然后2 ohm然后3 ohm等等。

我已经完成了所有这些:总共有3个电阻,其中2个有预置欧姆。现在我需要循环9次。

我已经完成了所有计算,我得到了它的输出。这个问题为您提供了一些信息和打印输出。现在我需要让我的打印看起来一样。

我有for循环工作,但现在我需要使用if语句来找到最高瓦数,并说出电阻器的总数是多少欧姆。

我不是要求直接回答问题,而是在可能的情况下更多地指出正确的方向。

事先我要感谢帮助过我的人。

public class Question51 
 {
    public static void main(String[] args) 
   {
      double Vs = 12, V1, V2, V3, I1, I2, I3, R1 = 10, R2 = 15, R3 = 1, Rpar, PowerInR3;        

      for(R3 = 1; R3 <= 9; R3++)
      {
        Rpar = (R2 * R3)/(R2 + R3);
        I1 = Vs/(R1 + Rpar);
        V1 = I1 * R1;
        V2 = Vs - V1;
        I2 = V2 / R2;
        I3 = V2 / R3;
        PowerInR3 = V2 * I3;

        System.out.println("When r3 = "+R3+" Ohms, Power in R3 = "+PowerInR3+" watts.");
      }     
   }
 }

2 个答案:

答案 0 :(得分:1)

你应该声明一个max变量并用一些非常低的值初始化它。例如Double.MIN_VALUE

然后在循环的每次迭代中,您都可以像这样更新最大值:

max = Math.max(max, valueYouWantToCompare);

现在找到正确的Java语法:-)祝你好运!

答案 1 :(得分:0)

您需要执行以下操作:

  • 假设最大功率为最小值到最小值,并创建另一个变量来保持maxResistance。
  • 在for循环中,使用if检查maxPower的最后一个值是否大于当前阻力产生的功率。如果是这种情况会改变你的假设,说这可能是最大值并且循环下一个电阻值。

    public class Question51 
    {
        public static void main(String[] args) 
        {
             double Vs = 12, V1, V2, V3, I1, I2, I3, R1 = 10, R2 = 15, R3 = 1, Rpar, PowerInR3; 
             double maxResister = 0, maxPower = Double.MIN_VALUE;       
    
             for(R3 = 1; R3 <= 9; R3++)
             {
                 Rpar = (R2 * R3)/(R2 + R3);
                 I1 = Vs/(R1 + Rpar);
                 V1 = I1 * R1;
                 V2 = Vs - V1;
                 I2 = V2 / R2;
                 I3 = V2 / R3;
                 PowerInR3 = V2 * I3;
    
                 if (maxPower < PowerInR3) {
                     maxPower = PowerInR3;
                    maxResister = R3;
                 }
    
                 System.out.println("When r3 = "+R3+" Ohms, Power in R3 = "+PowerInR3+" watts.");
             }
             System.out.println("Max Power when Resistance is " + maxResister + " ohms is " + maxPower + " watts");
         }
     }