Java 多重整数之和

Java 多重整数之和,java,Java,我是编程和Java的新手,我有一个计算输入总和的程序,这没问题,但我需要通过键入“=”结束这个循环,有什么建议吗 import java.util.Scanner; public class SumOfNum { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner (System.in);

我是编程和Java的新手,我有一个计算输入总和的程序,这没问题,但我需要通过键入“=”结束这个循环,有什么建议吗

import java.util.Scanner;

public class SumOfNum {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner (System.in);
        int input;
        int sum = 0;
        String s = "=";
        System.out.println("Enter Num");

        for (int i=0; i<100; i++) {
            input=sc.nextInt();
            sum+=input;
            if( ){break;}       
        }
        System.out.println(sum);

    }
}
import java.util.Scanner;
公共级SumOfNum{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
扫描仪sc=新的扫描仪(System.in);
int输入;
整数和=0;
字符串s=“=”;
System.out.println(“输入Num”);

对于(int i=0;i,您需要将令牌读取为
字符串
(s),以测试您的
输入
是否为
=
。类似

Scanner sc = new Scanner(System.in);
int sum = 0;
String input;
do {
    System.out.println("Enter Num");
    input = sc.next();
    if (input.matches("\\d+")) { // <-- sanity check for digits.
        try {
            sum += Integer.parseInt(input);
        } catch (Exception ignored) {
        }
    }
} while (!input.equals("="));
System.out.println(sum);
Scanner sc=新扫描仪(System.in);
整数和=0;
字符串输入;
做{
System.out.println(“输入Num”);
输入=sc.next();

如果(input.matches(“\\d+”){/,您可以尝试使用sc.nextLine()读取字符串,并使用string.matches方法确定输入是数字还是“=”。匹配数字的示例:


我认为你应该尝试以下内容。它应该与你正在尝试的结果相同:

Scanner sc= new Scanner (System.in);
int input;
int sum=0;
String inStr="";
System.out.println("Enter Numbers");
while(sc.hasNext())
{
    inStr=sc.next();
    if(!inStr.equals("="))
    {
        input=Integer.parseInt(inStr);
        System.out.println("input=="+input);
        sum+=input;
        System.out.println("sum ASON=="+sum);
    }
    else
        break;

}
System.out.println("sum==="+sum);

String.matches函数比较两个字符串,如果字符串相同,则返回true。您还可以检查它是否与示例中的正则表达式匹配。因此,在您的示例中,您可以检查输入是否为数字,如果是数字,则将其转换为整数,并将其添加到其他整数和中,如果是s.matches(“=”)然后你打破循环,我也会把for循环改成do-while循环
Scanner sc= new Scanner (System.in);
int input;
int sum=0;
String inStr="";
System.out.println("Enter Numbers");
while(sc.hasNext())
{
    inStr=sc.next();
    if(!inStr.equals("="))
    {
        input=Integer.parseInt(inStr);
        System.out.println("input=="+input);
        sum+=input;
        System.out.println("sum ASON=="+sum);
    }
    else
        break;

}
System.out.println("sum==="+sum);