6-1 java数字字符串转化为整型数组 分数 10 作者 陈海宁 单位 成都信息工程大学 完成Transform方法,把一个由数字组成的字符串(String类型)转化为整型的数组。如果其中有其他字符,则整型对应的位置用“0”填充。
时间: 2024-09-19 16:16:26 浏览: 59
Runable实现多线程并且用两个线程打印0-10
在Java中,可以创建一个名为`Transform`的方法,该方法接收一个`String`类型的输入,然后将其转换为包含整数的数组。我们可以使用`Character.isDigit()`方法检查每个字符是否为数字,并使用`Integer.parseInt()`将连续的数字字符组合成整数。对于非数字字符,我们将插入"0"到结果数组对应位置。下面是一个简单的示例:
```java
public class Main {
public static void main(String[] args) {
String input = "12abc345";
int[] result = Transform(input);
for (int i : result) {
System.out.print(i + " ");
}
}
public static int[] Transform(String str) {
int[] array = new int[str.length()];
int count = 0;
StringBuilder sb = new StringBuilder();
// 遍历字符串中的每一个字符
for (char c : str.toCharArray()) {
if (Character.isDigit(c)) { // 如果字符是数字
sb.append(c); // 添加到StringBuilder中
if (count == array.length - 1 || !Character.isDigit(str.charAt(count + 1))) { // 当遇到下一个非数字字符或到达数组长度边界
array[count] = Integer.parseInt(sb.toString()); // 将StringBuilder内容转为整数并添加到数组
sb.setLength(0); // 清空StringBuilder
count++;
}
} else {
array[count++] = 0; // 非数字字符,用0填充对应位置
}
}
if (sb.length() > 0) { // 如果字符串最后还有未处理的数字
array[count] = Integer.parseInt(sb.toString());
}
return array;
}
}
```
阅读全文