繁体   English   中英

将字符串转换为int数组

[英]Convert a string into an int array

我想知道如何将string转换为int数组。

我创建了一个读取器来读取文本文件,该文件由两行组成。

  1. 第一行是随机引号,例如“狗是红色的”
  2. 第二行是数字。

我应该将引号中的每个字符保存到一个char数组中,然后由数字组成的第二行是每个char的顺序号,并且按该顺序打印时,它将拼出一个短语。

我使用.hasNextLine方法首先将两行保存为两个字符串变量。 然后,我将第一行转换为char数组,该部分还可以,但是我不知道如何将第二部分转换为int数组。

我将包含第二行的变量称为“数字”,其中包含字符串"6 25 11 32 6 11 44......"

我如何将其转换为int数组?

非常感谢

您可以像这样简单地做一些事情:

String[] strArray = input.split(" ");
int[] intArray = new int[strArray.length]; 

for(int i = 0; i < strArray.length; i++) {
    intArray[i] = Integer.parseInt(strArray[i]);
}

另外,您还想使用try..catch块检查NumberFormatException

如果您的数字由帖子中描述的空格分隔,则可以使用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并使用以下intArray打印每个值:

    for (int i : intArray) {
        System.out.println(i);
    }

您将得到以下结果:

跑:
6
25
11
32
6
11
44
建立成功(总时间:0秒)

干杯!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM