编写程序剔除一个字符串中的全部非数字字符,例如:将形如“A1BC2you3”中的非数字字符全部剔除,得到字符串“123”,并将“123”转换为int型并输出,如果输入字符串中不含数字,则输出“无数字”。java不用正则表达式
时间: 2024-12-12 10:18:21 浏览: 8
在Java中,你可以编写一个简单的程序,使用循环和字符判断的方式剔除字符串中的非数字字符,并将剩余的数字字符转换成整数。以下是步骤和代码示例:
```java
public class Main {
public static void main(String[] args) {
String input = "A1BC2you3";
int result = removeNonDigitsAndConvert(input);
if (result == Integer.MIN_VALUE) {
System.out.println("无数字");
} else {
System.out.println(result);
}
}
public static int removeNonDigitsAndConvert(String str) {
int sum = 0;
for (char c : str.toCharArray()) {
if (Character.isDigit(c)) { // 判断字符是否为数字
sum = sum * 10 + (c - '0'); // 如果是数字,添加到总和中
}
}
// 如果sum仍为初始值0,说明原字符串没有数字
return sum == 0 ? Integer.MIN_VALUE : sum;
}
}
```
这个程序首先将字符串转为字符数组,然后遍历每个字符。如果是数字字符,就将其转换为对应的数值(比如'A'变为0,'1'变为1),累加到`sum`上。如果没有找到任何数字,返回`Integer.MIN_VALUE`作为标记。最后检查结果,如果没有数字,则输出"无数字",否则输出转换后的整数。
阅读全文