import java.util.StringTokenizer;
import org.junit.Test;
public class MyTest {
String str = "A4b54e85a96sd5sddd113";
@Test
public void tstDigit(){
StringBuilder sb = new StringBuilder(str);
int len = sb.length();
for(int i=0;i<len;i++){
char ch = str.charAt(i);
if(!Character.isDigit(ch)){
sb.replace(i, i+1, "|");
}
}
System.out.println(str);
System.out.println(sb.toString());
String[] digits = sb.toString().split("\\|");
int total = 0;
for(String s : digits){
if(s != null && !"".equals(s)){
System.out.println(s);
total = total + Integer.parseInt(s);
}
}
System.out.println(total);
}
@Test
public void tstDigit2(){
final String delim = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
StringTokenizer st = new StringTokenizer(str,delim);
int count = 0;
while(st.hasMoreTokens()){
count += Integer.parseInt(st.nextToken());
}
System.out.println(count);
}
}
分享到:
相关推荐
1. **`char2num`函数**:此函数接收一个字符串形式的数字字符,并返回其对应的整数值。 2. **`str2int`函数**:此函数接收一个字符串形式的整数,并返回其对应的整数值。 3. **`intLen`函数**:计算整数的位数。 4. ...
multiply函数用于实现字符串的乘法运算,即将一个字符串与一个数字相乘,并返回结果字符串。该函数使用了循环来实现乘法运算,并使用flag变量来记录进位。 multiply函数的实现 multiply函数的实现可以分为三个步骤...
在这个例子中,原本期望`borderWidth`的值从`1px`增加到`11px`,但由于`borderWidth`实际上是一个带有单位的字符串(如`'1px'`),JavaScript将执行字符串连接操作而非数值相加,结果是`'1px' + 10`,即`'1px10'`。...
需要注意的是,当一个数字与字符串相加时,数字会被自动转换为字符串形式。 **2.3 字符串不可变性** 字符串在 JavaScript 中是不可变的,这意味着一旦创建了一个字符串,就不能改变它的内容。例如: ```...
`fun`函数接收一个字符串指针`s`,并创建两个新的字符串`t1`和`t2`分别存储非数字字符和数字字符。通过遍历输入字符串,检查每个字符是否为数字,如果是,则添加到`t2`;否则,添加到`t1`。最后,将`t2`中的数字字符...
然而,有时候我们需要自定义复数类来满足特定的需求,比如在这个例子中,我们可能想要创建一个复数类,只包含基本的加减法操作。下面我们将深入探讨如何实现这样的复数类以及相关知识点。 首先,我们要创建一个名为...
6. 字符串操作:第六题的`fun`函数实现了从源字符串`a`中删除指定下标位置的字符,并将结果存入目标字符串`b`。函数遍历原字符串,跳过指定下标位置的字符,将其他字符复制到新字符串中。 这些题目涵盖了基本的数组...
2. **解析输入**:对输入的多项式字符串进行解析,将每个项分离出来,并创建对应的`Term`对象。 3. **加法**:两个多项式相加,需要重载`+`操作符,将两个多项式的所有项合并并进行相应的系数相加。 4. **减法**:...
实验中定义了一个名为`Complex`的抽象数据类型,它包含两个浮点型成员变量,分别表示复数的实部和虚部。实验设计了以下基本操作: 1. 输入复数:通过字符串形式接收复数,然后通过数组方法分离实部和虚部。 2. 四则...
- 字符串处理:遍历字符串中的每一个字符。 10. **杨辉三角(Pascal's Triangle)** - **描述**:题目要求打印出杨辉三角的前10行。 - **知识点**: - 二维数组:使用二维数组存储每一行的数据。 - 循环结构:...
在本文中,我们将深入探讨如何使用Microsoft Visual C++ 6.0(简称VC6.0)来实现一个能处理多个数连加的计算器程序。这个程序的源代码是基于C++语言编写的,旨在帮助初学者理解控制台应用程序的基本结构以及如何处理...
此外,这个例子也强调了C++中对运算符优先级的理解,如加号(+)作为字符串连接和数值相加的双重用途。 ### 3. 函数定义与调用 第1.7题和第1.9题都涉及到函数的定义和调用。第1.7题中的函数`f`接收三个整数参数,...
1. **循环移位**:由于DX寄存器存储的是一个字长的数据,即包含8位十六进制数,为了逐位显示,需采用循环移位(ROL)指令,每次移动四位,从而分离出每一位十六进制数。 ```assembly rol bx, 4 ``` 2. **十六...
1. 分离每一位:将给定的34/36进制数从右向左拆分成各个位,每个位代表一个34/36进制的数值。 2. 计算值:对每个位上的数字乘以其位置的34/36的幂次,位置从0开始,最右边的位是0次幂,然后依次递增。 3. 求和:将...
- 第八个和第九个程序接收一个三位数,然后通过取余和除法操作将数字的每一位分离,再重新组合成逆序的数字。 9. **买鸡问题**: - 第十个程序涉及到条件判断和算术运算,模拟了购买鸡、鸭、鹅的问题。这里的逻辑...