Java 用for循环实现max的奇数问题

Java 用for循环实现max的奇数问题,java,loops,max,Java,Loops,Max,我花了最后一个小时对这个问题进行反复试验,但毫无结果。我们必须使用通用的编码准则(比如scan.nextDouble)而不是实际的数字,找到一定数量的双精度值的最大值。唯一的问题是我们只能在某一点添加代码。(在……所在的地方) 其中-3.1是最大值,5是以下数字的计数。您的代码似乎是一个好的开始 要帮助解决您的问题,请考虑: 你为什么要加入额外的j++?你真的需要它吗?(提示:否;-)) 对于j>0(即,在第一次迭代之后),循环将做什么 这将很快为您提供一个有效的解决方案。您的代码似乎是一个

我花了最后一个小时对这个问题进行反复试验,但毫无结果。我们必须使用通用的编码准则(比如scan.nextDouble)而不是实际的数字,找到一定数量的双精度值的最大值。唯一的问题是我们只能在某一点添加代码。(在……所在的地方)


其中-3.1是最大值,5是以下数字的计数。

您的代码似乎是一个好的开始

要帮助解决您的问题,请考虑:

  • 你为什么要加入额外的
    j++
    ?你真的需要它吗?(提示:否;-))
  • 对于
    j>0
    (即,在第一次迭代之后),循环将做什么

这将很快为您提供一个有效的解决方案。

您的代码似乎是一个良好的开端

要帮助解决您的问题,请考虑:

  • 你为什么要加入额外的
    j++
    ?你真的需要它吗?(提示:否;-))
  • 对于
    j>0
    (即,在第一次迭代之后),循环将做什么

这将很快为您提供一个有效的解决方案。

是否允许您在循环之前设置
valMax
?因为那样的话你就可以

valMax = Double.MIN_VALUE
通过做一个正常的比较来忘掉奇怪的事情
value>valMax

如果你不是,你的方法是你应该怎么做,但有两件事:

  • 您不应该关心用
    j++
    递增,因为
    for
    循环本身会关心它
  • 使用
    else{continue;}
    将使
    for
    的主体跳转到下一个迭代,而不关心continue之后的代码。你确定这就是你想做的吗

我认为您可以在第一次迭代(
j==0
)时初始化为
Double.MIN_VALUE
),然后再正常运行:您只需要在与值进行第一次比较之前初始化
valMax
,不是在从stdin扫描之前。

是否允许在循环之前设置
valMax
?因为那样的话你就可以

valMax = Double.MIN_VALUE
通过做一个正常的比较来忘掉奇怪的事情
value>valMax

如果你不是,你的方法是你应该怎么做,但有两件事:

  • 您不应该关心用
    j++
    递增,因为
    for
    循环本身会关心它
  • 使用
    else{continue;}
    将使
    for
    的主体跳转到下一个迭代,而不关心continue之后的代码。你确定这就是你想做的吗


我认为您可以在第一次迭代(
j==0
)时初始化为
Double.MIN_VALUE
),然后再正常运行:您只需要在与值进行第一次比较之前初始化
valMax
,不是在从stdin扫描之前。

我放了额外的j++因为我在第一次运行中使用了两个值。就像我说的,是我在做反复试验。(我认为这是一次尝试8)我只有在我的书、笔记、以前的知识和朋友失败的时候才求助于尝试和错误。我使用额外的j++是因为我在第一次运行时使用了两个值。就像我说的,是我在做反复试验。(我认为这是一次尝试8)我只在我的书、笔记、以前的知识和朋友失败时才求助于尝试和错误。不,我们不能退出任何现有代码,只能在。。。如果你没有把Valax设置成任何值,那么你可以考虑检查一下,那可能是什么?或者换句话说,valMax是否有一个值表明它没有被初始化?您是否可以测试它当前是否设置为该值,并因此需要初始化?[不要认为这是不可能的,这实际上是一个需要插入的简单的两行代码]我不知道。我不知道为什么他会分配这个,而不在课堂上谈论它。明天我可以试着去他的办公室。提示:
if(valMax==null){valMax=newdouble;valMax=0;}
(OK,这不是完美的,但这大概是我如何检查这个值是否被分配。实际上,你不需要<代码>双.Min值>代码>,在<代码> j=0 < /COD> >最大已知值是代码<值>代码中的当前编号。不,我们不能退出任何现有代码,只添加代码所在的位置。@valMax没有被设置为任何值,那么它可能是什么?或者换句话说,valMax是否有一个值表明它没有被初始化?您能否测试它当前是否被设置为该值,并因此需要初始化?[不要认为这是不可能的,这确实是一个需要插入的简单的两行代码]我不知道。我不知道为什么他会分配这个并且不在课堂上谈论它。我可能明天去他的办公时间。我被难住了。提示:
如果(valMax==null){valMax=new double;valMax=0;}
(好的,这并不完美,但我大致上就是这样检查是否分配了值。实际上,你不需要
Double.MIN\u value
,在
j==0
时,最大已知值是
value
中的当前数字。我必须说,这是一个非常奇怪的家庭作业问题。由于约束,你实际上无法使用
valMax
循环后的任何位置(即打印出来),因为它可能尚未初始化。问题并不是说它必须打印出来,只是它必须将最大值存储到valMax中。问题底部的注释说明“valMax如何初始化很重要。”+1用于使用家庭作业标记(:D)@德拉森斯特恩:事实上,@Roger Page ~
/facepalm
。谢谢你的帮助。我必须说,这是一个非常奇怪的家庭作业问题。因为有一些限制,你实际上不能在循环后的任何地方使用
valMax
,因为它是
5    -4.7  -9.2  -3.1  -8.6  -5.0
valMax = Double.MIN_VALUE