【问题标题】:AplhaNumeric String sum calculation in javajava中的AlphaNumeric字符串总和计算
【发布时间】:2017-03-20 06:37:13
【问题描述】:

INPUT=Sd98TR2asd100

输出=98+2+100=200

谁能告诉我任何代码或逻辑如何在不使用构建函数的情况下在 java 中解决这个问题

【问题讨论】:

  • 正则表达式 ??只需获取整数并添加它们
  • 我不需要单独的整数,但作为一个整体..你能告诉我它会有帮助的逻辑吗?
  • 老兄,你什么都试过了,只要把你试过的代码放上就行了。
  • @RahulSingh 请考虑下次写适当的帖子并分享您到目前为止所做的事情。

标签: java string eclipse logic alphanumeric


【解决方案1】:
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);
}

【讨论】:

    【解决方案2】:
     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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-26
      • 1970-01-01
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      相关资源
      最近更新 更多