-4

INPUT=Sd98TR2asd100

OUTPUT=98+2+100=200

Can any one show me any codes or logic how to solve this in java without using in build functions

2 Answers2

0
public static void main(String[] args) {
    String input = "Sd98TR2asd100";
    char[] chars = input.toCharArray();

    ArrayList<String> numbersAsString = new ArrayList<>();
    String toAdd = "";
    for(int i=0;i<chars.length;i++){
        if(chars[i]>='0' && chars[i]<='9'){
            toAdd += chars[i];
        }
        else{
            if(!toAdd.equals("")){
                numbersAsString.add(toAdd);
                toAdd = new String();
            }
        }
    }
    if(!toAdd.equals("")){
        numbersAsString.add(toAdd);
        toAdd = new String();
    }
    int sum = 0;
    String output = "";
    for(String string : numbersAsString){
        int num = Integer.parseInt(string);
        output += num +"+";
        sum +=num;
    }
    output = output.substring(0,output.length()-2);
    output += "="+ sum;
    System.out.println(output);
}
Markus
  • 1,141
  • 1
  • 9
  • 25
0
 String myString ="Sd98TR2asd100";
 Pattern p = Pattern.compile("[0-9]+");
 Matcher m = p.matcher(myString);
 List list  = new ArrayList();
 while (m.find())
 {
   int n = Integer.parseInt(m.group());
    list.add(n);
   // append n to list
 }
 Integer sum = 0 ;
 Iterator itr = list.iterator();
 while(itr.hasNext())
 {
     sum += (Integer)itr.next();
 }
 System.out.println(sum);
santosh gore
  • 319
  • 2
  • 21