2014-11-08 98 views
1

好吧我有点卡住了我在网上找到的问题。我需要写一个类,它的工作原理了瓦特作为电阻 for循环1 ohm上升一个即电阻开始在1和每一个被添加到它:1 ohm然后​​2242827然后3 ohm等等等等在for循环中使用if语句查找最大数字java

我已经完成了所有这些工作:共有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."); 
     }  
    } 
} 

回答

1

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

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

max = Math.max(max, valueYouWantToCompare); 

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

+0

非常感谢帮助队友。前往java库来看看。这在过去的两天里一直在破坏我的头脑。 – Killerspec 2014-11-08 12:38:30

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"); 
        } 
    } 
    
+1

''我不是要求直接回答这个问题''。 – Jonas 2014-11-08 12:25:23

+0

感谢帮助队友,但我还没有真正读过它。如果我真的不能在第二天解决问题,那么我会确保我参考它并找出我出错的地方。再次感谢。 – Killerspec 2014-11-08 12:41:14