**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
上个月关门了。
改进这个问题
所以问题是,当我点击run时,它运行得很好,但是当我把5个正数加起来时,它应该把它们加起来,但是总和总是0。我不知道为什么,如果你把一个负值,只有正值将被添加,将忽略负值。
我在c++上做的,很管用。但我似乎无法让它在java上工作。
例子:
输入:1,1,1,-1,1
输出:4(忽略负值)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner n = new Scanner(System.in);
int[] num = new int[5];
int z;
System.out.println("Enter only 5 positive numbers");
for(z = 0; z < 5; z++)
{
num[z] = n.nextInt();
}
int sum = 0;
for(z = 0; z < 5; z++)
{
if(num[z] <= 0)
{
sum += num[z];
}
}
System.out.println(sum);
}
}
6条答案
按热度按时间nimxete21#
更改
if(num[z] <= 0)
至if(num[z] >= 0)
所以它把所有大于0的数字相加。否则,像所有正数都大于0一样,不会添加正数。}
0lvr5msh2#
您正在代码中添加负数
if(num[z] <= 0)
这意味着如果条件只在num[z]
小于或等于0
. 改变if(num[z] <= 0)
为了这个if(num[z] >= 0)
mw3dktmi3#
在你的代码里
if(num[z] <= 0)
条件是忽略正数而只添加负数。相反,这个条件应该更新为
if(num[z] >= 0)
使它按预期工作。xvw2m8pv4#
问题是你的if条件
if(num[z] >= 0)
.gkn4icbw5#
在代码中,问题在于
if
用于相加的条件。if(num[z]<=0)
将此条件更改为if(num[z]>=0
.sczxawaw6#
使用
if(num[z] >= 0)
相反if(num[z] <= 0)
如果你想把正数加起来。你提到的例子应该给你-1和当前逻辑。