【问题标题】:Find highest number using if statement in a for loop java在for循环java中使用if语句查找最大数字
【发布时间】:2014-11-08 12:18:10
【问题描述】:

好吧,我有点被我在网上找到的问题所困扰。我需要编写一个类来计算 watts,因为 resistor 增加了一个,即 resistor1 开始,每个为循环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.");
      }     
   }
 }

【问题讨论】:

    标签: java if-statement for-loop


    【解决方案1】:

    您应该声明一个max 变量并使用一些非常低的值对其进行初始化。例如Double.MIN_VALUE

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

    max = Math.max(max, valueYouWantToCompare);
    

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

    【讨论】:

    • 感谢一百万的帮助。我去java库看看。在过去的两天里,这一直让我头疼。
    【解决方案2】:

    您需要执行以下操作:

    • 假设最大功率为最小值到最小值,并创建另一个变量来保存 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");
           }
       }
      

    【讨论】:

    • "I am not asking for a direct answer to the problem".
    • 感谢您的帮助,但我还没有真正阅读它。如果我真的无法在第二天左右找到解决方案,我会确保我参考它并找出我哪里出错了。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-16
    • 2014-03-13
    • 1970-01-01
    • 2019-05-04
    • 2014-03-30
    相关资源
    最近更新 更多