日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

字符串之数字子串求和

發布時間:2025/4/16 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字符串之数字子串求和 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:
給定一個字符串str,求其中全部數字串所代表的數字之和。

要求
1.忽略小數點
2.考慮‘-’,如果有連續奇數個,則為負,如果有連續偶數個,就為正數。
舉例:
str=“A-1B–2C–D6E” return 7

思路:

  • 判斷是不是0-9
  • 不是數字,判斷是不是-
  • 如果是- 是不是第一個-,第一個符號設置為負,如果不是,則翻轉符號
  • 不是-,那么符號設置為正,保證沒有-時候數字是正的
  • 最后 sum+一下,以防最后是數字,沒有遇到非數字沒有加上
  • public class Trr {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println(numSum("11-2-3"));}public static int numSum(String s1) {if(s1==null) {return 0;}char[] chas=s1.toCharArray();int sum=0;int num=0;int cur;boolean symbol=true;for(int i=0;i<s1.length();i++) {cur=chas[i]-'0';if(cur<0||cur>9) {sum+=num;num=0;if(chas[i]=='-') {if((i-1)>-1 && chas[i-1]=='-') //首先判斷是不是第一個-{symbol=!symbol;}else{symbol=false;//第一個要直接取-;防止-12-1這種情況-12 取負了這時候-1直接翻轉就變成正了}}else {symbol=true;//這個是如-12a3,如果a處沒有變正,則3計算時候是按負。}}else {num=num*10+(symbol?cur:-cur);//這里不用sum 為了計算連續的數字}}sum+=num;//防止后的是數字沒有加上return sum;} }

    總結

    以上是生活随笔為你收集整理的字符串之数字子串求和的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。