嗨,我需要帮助找到最低的收入。这是代码检查的链接http://www.codecheck.it/files/18030103413ucpa6f7ev1gbmexv0tlv2av3我写的代码在底部。我不知道为什么它的输出没有显示。先感谢您。公司会在每个季度报告净收入。亚马逊的某些季度每股净收益为正数,而有些季度为负数。(这总是很小的,因为亚马逊将任何利润再投资到了业务中。)编写一个名为AmazonNetIncome的应用程序(具有主要方法的程序)以读取整数集合,每个整数代表100股亚马逊股票在该季度的正,负或0净收入。当用户输入非整数时,输入将终止。使用以下提示:System.out.print(“输入净收入或Q退出:”);注意:实际上,您将退出无法转换为int的任何字符串。请执行下列操作:find and print the number of profitable years (net income greater than 0.)find and print the lowest net incomefind and print the average net income如果输入至少1个整数,则仅打印数字。否则打印“未输入值”您将一次读取一次输入,并随即进行所有处理。没有数组输出应在单独的行上并按此顺序number of profitable yearslowest net incomeaverage net income请勿将最小值初始化为0或某个负数。声明时可以将其临时设置为0,然后初始化为第一个输入。您可以使用布尔变量作为标记,如视频中所述。
2 回答
![?](http://img1.sycdn.imooc.com/54585094000184e602200220-100-100.jpg)
哔哔one
TA贡献1854条经验 获得超8个赞
问题是您初始化了一些值,这些值在检查最小数字时在第一次迭代过程中导致错误。
我添加了以下条件,它将最小的数字设置为当前数字,但仅在第一次迭代期间。
if (count2 == 1 || num < smalled ) {
smalled = num;
}
![?](http://img1.sycdn.imooc.com/545863b500014e4602200220-100-100.jpg)
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
smalled
从零开始。您可以设置smalled
等于输入号码num
时num < smalled
。但是,如果您的所有输入都是正数,num
则绝对不能小于 smalled
。因此,smalled
仅保持为零,并错误地指示最小输入为零。
最简单的解决方案:初始化smalled
为Integer.MAX_VALUE
,最大可能的int
值:
int smalled = Integer.MAX_VALUE;
这样,num < smalled
几乎可以肯定会在某个时候变为真,从而smalled
将输入值设置为1。如果num < smalled
永远都不是,那只能是因为所有输入都等于Integer.MAX_VALUE
,因此最小值实际上是Integer.MAX_VALUE
。
添加回答
举报
0/150
提交
取消