题目:
思路:
这个题就是需要直接遍历整个字符串,然后对不同的字符进行处理,特别注意对负号的处理
代码:
import java.io.*; import java.util.*; public class zcy1 { public static void main(String[]args){ Scanner sc=new Scanner(System.in); String a=sc.nextLine(); if(a==null){ System.out.println("null"); } else{ char[]a1=a.toCharArray(); int num=0; int res=0; boolean flag=true; int cur=0; for(int i=0;i<a1.length;i++){ //把字符转化为整数 cur=a1[i]-'0'; if(cur<0||cur>9){ res=res+num; num=0; if(a1[i]=='-'){ if(i-1>-1&&a1[i-1]=='-'){ flag=!flag; } else{ flag=false; } } } else{ num=num*10+(flag?cur:-cur); } } //防止出现最后的字符累加不上 res=res+num; System.out.println(res); } } }