在程序中加入加或减

问题描述 投票:0回答:1

这是一个要求用户输入(数字)并打印一个总和语句的程序。这个程序一直工作到用户输入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 = "";  
}   
}
}
java sum addition subtraction
1个回答
0
投票

这是因为 \\d+ 捡到一个或多个数字。而 - 负数前的数字不被视为数字,因此它不符合您的regex。

试着使用类似这样的方法。

-?\\d+

© www.soinside.com 2019 - 2024. All rights reserved.