[英]Input 4 number either positive or negative then add all the negative numbers using if else only
如何找到忽略正数的所有负数的总和?
import java.util.Scanner;
class Main {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
float ans;
float num = input.nextFloat();
float num2 = input.nextFloat();
float num3 = input.nextFloat();
float num4 = input.nextFloat();
if (num < 0 || num2 < 0 || num3 < 0 || num4 < 0){
ans = num + num2 + num3 + num4;
System.out.printf("%.2f", ans);
}
}
}
输入: -30.22、10.5、-2.2、-1.8
预期输出: -34.22
您正在使用多个条件 with or 操作。 在这种情况下,即使一个数字是负数,或者满足您的条件,也会将所有数字相加。
if (num < 0 || num2 < 0 || num3 < 0 || num4 < 0){ ... }
要仅添加负数,请一一检查每个数字并执行求和。
float ans = 0;
if (num < 0) {
ans = ans + num;
}
if (num2 < 0) {
ans = ans + num2;
}
...
System.out.println(ans);
解决方案:
import java.util.Scanner;
class Sum {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
float ans=0.0F;
float num = sc.nextFloat();
float num2 = sc.nextFloat();
float num3 = sc.nextFloat();
float num4 = sc.nextFloat();
if (num < 0 )
ans = ans+num;
if (num2 < 0 )
ans = ans+num2;
if (num3 < 0 )
ans = ans+num3;
if (num4 < 0 )
ans = ans+num4;
System.out.println("Sum of negative numbers = "+ans);
}
}
您可以使用 for 循环编写更简单的代码:
Scanner input = new Scanner(System.in);
float answer = 0;
for(int i = 0; i < 4; i++) {
float number = input.nextFloat();
if(number < 0) {
answer += number;
}
}
System.out.printf("%.2f", answer);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.