用Java编写字符串转化为数组
时间: 2023-12-26 11:05:41 浏览: 49
Sure, 这是一个Java的实现:
```java
public static int[] strToIntArray(String str) {
str = str.substring(1, str.length()-1);//去掉头尾的中括号
String[] strArr = str.split(",");//分离逗号分隔的字符串
int[] intArr = new int[strArr.length];
for(int i=0;i<strArr.length;i++){
intArr[i] = Integer.parseInt(strArr[i].trim());//转换为整型数组
}
return intArr;
}
```
你可以通过调用这个方法将一个字符串转换为整型数组。您还有其他问题吗?
相关问题
使用java语言编写一个字符串排序程序,对一个字符串中的数值进行从小到大的排序,例如字符串为"20 7 8 9 -7 88 36 29",排序后的字符串为 "-7 9 20 2 9 36 78 88"。要求使用包装类对数值类型的字符串转换为整形进行排序。
在Java中,我们可以利用`StringTokenizer`将输入的字符串分割成数组,然后使用`Integer`的`parseInt()`方法将其转换为整数。接着,我们使用`Collections.sort()`方法配合自定义比较器,对整数数组进行排序。最后,再将排序后的整数转换回字符串并连接。
以下是一个简单的示例:
```java
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.StringTokenizer;
public class StringSort {
public static void main(String[] args) {
String input = "20 78 9 -7 88 36 29";
// 分割字符串为字符串数组
StringTokenizer tokenizer = new StringTokenizer(input);
String[] stringArray = new String[tokenizer.countTokens()];
for (int i = 0; i < stringArray.length; i++) {
stringArray[i] = tokenizer.nextToken();
}
// 将字符串转换为整型数组,并使用包装类Integer
Integer[] intArray = Arrays.stream(stringArray)
.mapToInt(Integer::parseInt)
.toArray();
// 对整型数组进行排序
Arrays.sort(intArray, Comparator.naturalOrder());
// 再次转换回字符串并连接
StringBuilder sortedStrBuilder = new StringBuilder();
for (Integer num : intArray) {
sortedStrBuilder.append(num).append(" ");
}
// 移除末尾多余的空格
sortedStrBuilder.setLength(sortedStrBuilder.length() - 1);
System.out.println("排序后的字符串:" + sortedStrBuilder.toString());
}
}
```
java编写一个字符串排序程序,对一个字符串中的数值进行从小到大的排序,如“20 79 9 -7 88 36 29”,排序后的字符串为“-7 9 20 29 36 79 88”
可以按照以下步骤来实现:
1. 将字符串转换为数组,以空格作为分隔符。
2. 将数组中的元素转换为整数类型。
3. 对整数数组进行排序。
4. 将排序后的整数数组转换为字符串,以空格作为分隔符。
下面是代码示例:
```java
public class StringSort {
public static void main(String[] args) {
String inputStr = "20 79 9 -7 88 36 29";
String[] numArr = inputStr.split(" ");
int[] intArr = new int[numArr.length];
for (int i = 0; i < numArr.length; i++) {
intArr[i] = Integer.parseInt(numArr[i]);
}
Arrays.sort(intArr);
StringBuilder outputStr = new StringBuilder();
for (int i = 0; i < intArr.length; i++) {
outputStr.append(intArr[i]).append(" ");
}
System.out.println(outputStr.toString().trim());
}
}
```
输出结果为:`-7 9 20 29 36 79 88`
阅读全文