繁体   English   中英

将一串多位数字转换为字符数组

[英]Convert a string of multi digit numbers into an array of characters

我有一个字符串,它是一个数学表达式。 示例:“((14 + 53)+ 62)”,我想将字符串转换为字符数组。 示例 ['(', '(', '14', '+', '53', '+', '62', ')']

当我在字符串上使用 .toCharArray 方法时,它会将其转换为字符数组,但对于大于 9(多位)的数字,它将将该数字拆分为单个数字。 示例:['(', '(', '1', '4', '5', '3', '+' '6', '2', ')']

如何将包含多个数字的字符串转换为字符数组?

public class Testing {

    public static void main(String[] args) {
        String stringNumbers = "24 23 84 12 41 52 54";

        char[] charNumArray = stringNumbers.toCharArray();
        System.out.println(Arrays.toString(charNumArray));
    }
}

假设您需要处理两个运算符 (+,-);

//Case one (+)
String stringNumbers = "24 23 84 12 41 52 54";

1.按空格吐。 2.for循环对Array求和。 3.打印它。

//Case two (+,-)
String stringNumbers = "-24+23+84+12-41-52-54";

1.创建第二个空字符串。 2.replaceAll stringNumbers by ("\+ , ",") 3.循环遍历原始字符串以定位减号运算符,如果 (charAt(i)=='-') 添加到第二个字符串 ",-"。4.2 .split stringNumbers by ","。 5.从案例一重复步骤 2,3。

String s = "-12-5+15-20";
        String t = "";
        s = s.replaceAll("\\+",",");
        for (int i = 0; i < s.length(); i++) {
            if(s.charAt(i)=='-' && i!=0){
                t+=",-";
                continue;
            }
            t+=s.charAt(i);
        }
        String[] st = t.split(",");
        int sum = 0;
        for (int i = 0; i < st.length ; i++) {
            sum+=Integer.valueOf(st[i]);
        }
        System.out.println(sum);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM