Java 之后,它应该显示计数和输入的数字的总和。出于某种原因,它将负数相加。0到结束

Java 之后,它应该显示计数和输入的数字的总和。出于某种原因,它将负数相加。0到结束,java,calculation,Java,Calculation,嗨,我对Java还是个新手。 我有一个计划要完成。但出于某种原因,它不会从总和中减去负数。这只会增加它们。 代码如下: import java.util.Scanner; public class DoubleInput { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double count = 0; double

嗨,我对Java还是个新手。 我有一个计划要完成。但出于某种原因,它不会从总和中减去负数。这只会增加它们。 代码如下:


import java.util.Scanner;

public class DoubleInput {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
       double count = 0;
       double sum = 0;
       while (true) {

           System.out.println("Give a number: ");
           int number = Integer.valueOf(scanner.nextLine());

           if (number == 0) {break;}
           if (number > 0) {count = count + 1;}
           if (number < 0) {count = count + 1;}
           if (number < 0) {sum = sum - number;}
           if (number > 0) {sum = sum + number;}
           if (number > 0 && number < 0) {continue;}




       }
        System.out.println("The total count is: " + count);
        System.out.println("The sum of the count is: " + sum);

问题是,如果你传递一个负数,比如-1,你会得到sum=sum--1,它变成sum=sum+1

您只需更改:

if (number < 0) {sum = sum - number;}
if (number < 0) {sum = sum + number;}
if (number == 0) {
    break;
} else {
    count++;
    sum += number;
}