写出一个字符串中所有数字之和,如果有连续数字如12345,则对应的不是1+2+3而是123 如果数字前面有奇数个-代表负数,偶数个-为正数。

package com.ybl.test.String;

public class Str2 {
    //写出一个字符串中所有数字之和,如果有连续数字如12345,则对应的不是1+2+3+4+5而是12345
    //如果数字前面有奇数个-代表负数,偶数个-为正数。
    public static int qiuHe(String str){
          char [] strArray =str.toCharArray();
          int total =0 ;
          //先算出除了最后一个的结果
          for(int i=0 ;i<strArray.length-1 ;i++){
              if(strArray[i]-'0'>=0 && strArray[i] -'0'<=9){
                  if(strArray[i+1]-'0'>=0 && strArray[i+1] -'0'<=9 ){
                      total=total+(strArray[i]-'0')*10 ;
                  }else {
                      total=total+strArray[i] -'0';
                  }
                  System.out.println("啊"+total);
              }
          }
          //加上最后一个
          if(strArray[strArray.length-1]-'0'>=0 && strArray[strArray.length-1] -'0'<=9)
          {
              total=total+strArray[strArray.length-1]-'0';
          }
        return total;
    }

    public static void main(String[] args) {
        System.out.println(qiuHe("a12"));
    }
}

猜你喜欢

转载自blog.csdn.net/qq_39455116/article/details/80358444