Java 用for循环实现max的奇数问题
我花了最后一个小时对这个问题进行反复试验,但毫无结果。我们必须使用通用的编码准则(比如scan.nextDouble)而不是实际的数字,找到一定数量的双精度值的最大值。唯一的问题是我们只能在某一点添加代码。(在……所在的地方)Java 用for循环实现max的奇数问题,java,loops,max,Java,Loops,Max,我花了最后一个小时对这个问题进行反复试验,但毫无结果。我们必须使用通用的编码准则(比如scan.nextDouble)而不是实际的数字,找到一定数量的双精度值的最大值。唯一的问题是我们只能在某一点添加代码。(在……所在的地方) 其中-3.1是最大值,5是以下数字的计数。您的代码似乎是一个好的开始 要帮助解决您的问题,请考虑: 你为什么要加入额外的j++?你真的需要它吗?(提示:否;-)) 对于j>0(即,在第一次迭代之后),循环将做什么 这将很快为您提供一个有效的解决方案。您的代码似乎是一个
其中-3.1是最大值,5是以下数字的计数。您的代码似乎是一个好的开始 要帮助解决您的问题,请考虑:
- 你为什么要加入额外的
?你真的需要它吗?(提示:否;-))j++
- 对于
(即,在第一次迭代之后),循环将做什么j>0
这将很快为您提供一个有效的解决方案。您的代码似乎是一个良好的开端 要帮助解决您的问题,请考虑:
- 你为什么要加入额外的
?你真的需要它吗?(提示:否;-))j++
- 对于
(即,在第一次迭代之后),循环将做什么j>0
这将很快为您提供一个有效的解决方案。是否允许您在循环之前设置
valMax
?因为那样的话你就可以
valMax = Double.MIN_VALUE
通过做一个正常的比较来忘掉奇怪的事情value>valMax
如果你不是,你的方法是你应该怎么做,但有两件事:
- 您不应该关心用
递增,因为j++
循环本身会关心它for
- 使用
将使else{continue;}
的主体跳转到下一个迭代,而不关心continue之后的代码。你确定这就是你想做的吗for
我认为您可以在第一次迭代(
j==0
)时初始化为Double.MIN_VALUE
),然后再正常运行:您只需要在与值进行第一次比较之前初始化valMax
,不是在从stdin扫描之前。是否允许在循环之前设置valMax
?因为那样的话你就可以
valMax = Double.MIN_VALUE
通过做一个正常的比较来忘掉奇怪的事情value>valMax
如果你不是,你的方法是你应该怎么做,但有两件事:
- 您不应该关心用
递增,因为j++
循环本身会关心它for
- 使用
将使else{continue;}
的主体跳转到下一个迭代,而不关心continue之后的代码。你确定这就是你想做的吗for
我认为您可以在第一次迭代(
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