在求和程序中包括加号或减号

Include plus or minus in sum program

这是一个要求用户输入(数字)并打印求和语句的程序。在用户输入 END 之前一直有效。它工作正常,但是当输入负整数时,返回一个空的打印语句。非常感谢任何有关如何在总和中包含负整数的帮助或见解,感谢您的宝贵时间!

public static void main(String[] args){
Scanner scan = new Scanner(System.in);

    int sum = 0; 
    String val = "";
while (val.equals("")) 
{
    System.out.print("Enter a number: ");
    val = scan.nextLine();
if (val.equalsIgnoreCase("end")) {   
    break;      
}
else if (val.matches("\d+")) {   
    sum += Integer.parseInt(val);
    System.out.println("Sum is now: " + sum);   
}
else {
    System.err.println("");
}
val = "";  
}   
}
}

这是因为 \d+ 选择了一个或多个号码。而负数前的 - 不被视为数字,因此它与您的正则表达式不匹配。

尝试使用类似的东西:

-?\d+