我想知道如何将string
转换为int
数组。
我创建了一个阅读器,可以从一个文本文件中读取,该文件由两行组成。
我应该将引号中的每个字符保存到char
数组中,然后由数字组成的第二行是每个char
的订单号,并且当打印出来时那个顺序,它会拼出一个短语。
我使用.hasNextLine
方法首先将两行保存为两个字符串变量。然后,我将第一行转换为char
数组,那部分没问题,但我不知道如何将第二部分转换为int
数组。
我调用了包含第二行“numbers”的变量,它包含字符串"6 25 11 32 6 11 44......"
如何将其转换为int
数组?
非常感谢
答案 0 :(得分:5)
你可以做一些非常简单的事情:
String[] strArray = input.split(" ");
int[] intArray = new int[strArray.length];
for(int i = 0; i < strArray.length; i++) {
intArray[i] = Integer.parseInt(strArray[i]);
}
此外,您还想使用NumberFormatException
块检查try..catch
。
答案 1 :(得分:3)
如果您的号码由您的帖子中描述的空格分隔,则可以使用String.split()
。
您可以创建如下所示的方法,将String
个整数转换为int[]
:
public static int[] stringArrayToIntArray(String intString) {
String[] intStringSplit = intString.split(" "); //Split by spaces
int[] result = new int[intStringSplit.length]; //Used to store our ints
for (int i = 0; i < intStringSplit.length; i++) {
//parse and store each value into int[] to be returned
result[i] = Integer.parseInt(intStringSplit[i]);
}
return result;
}
可以这样称呼:
public static void main(String[] args) {
String intString = "6 25 11 32 6 11 44"; //Original String
int[] intArray = stringArrayToIntArray(intString); //Call our method
}
如果您要遍历intArray
并使用以下内容打印每个值:
for (int i : intArray) {
System.out.println(i);
}
你得到的结果是:
运行:
6
25
11
32
6
11
44
建立成功(总时间:0秒)
干杯!