其他分享
首页 > 其他分享> > 输入字符串s输出s中包含所有整数的最小和,

输入字符串s输出s中包含所有整数的最小和,

作者:互联网

package 德科;

import java.util.Scanner;

public class Main96_1 {
    /*
    1.输入字符串s输出s中包含所有整数的最小和,
    说明:1字符串s只包含a~z,A~Z,+,-,
    2.合法的整数包括正整数,一个或者多个0-9组成,如:0,2,3,002,102
    3.负整数,负号开头,数字部分由一个或者多个0-9组成,如-2,-012,-23,-00023
    输入描述:包含数字的字符串
    输出描述:所有整数的最小和
    示例:
      输入:
        bb1234aa    d-00023sdfd34+d-15ew
     输出
        10
     输入:
        bb12-34aa
     输出:
        -31
    说明:1+2-(34)=-31

    输入: d-00023sdfd34+d-15ew
    输出:-31
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        sc.close();
        solution(s);
    }

    private static void solution(String str) {
        int sum = 0;
        char[] chars = str.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            char aChar = chars[i];

            if (Character.isDigit(aChar)) {
                sum += Character.digit(aChar, 10);
            }
            if (aChar == '-') {
                i++;
                int startIndex = i;
                while (i < str.length() && Character.isDigit(chars[i])) {
                    i++;
                }
                String substring = str.substring(startIndex, i);
                if (substring.length() > 0) {
                    sum -= Integer.parseInt(substring);
                }
                i = i - 1;
            }
        }
        System.out.println(sum);
    }
}

 

标签:String,chars,最小,整数,substring,str,字符串,aChar,sum
来源: https://www.cnblogs.com/wangpeng1201/p/16357669.html