将char格式的字符串解析为arraylist java

时间:2014-10-27 17:25:26

标签: java arrays string arraylist char

比方说我有一个字符串即

"my dog did a Foo"

我想将每个字符传递到数组列表中,然后根据某些索引执行操作。

所以我需要在这种情况下将字符转换为十进制值: -

"my dog did a Foo" 

将转换为以下十进制表示: -

109 121 32 100 111 103 32 100 105 100 32 97 32 70 111 111

一旦完成,我需要将其发送到数组列表并使用第二个数字" 121"

编译一个字符串

最后一个号码" 111"另一个让我们说" 97"并将使用这些数字进行计算。

所以,如果这些被解析为arraylist,则在这种情况下第二个数字的索引" 121"是index1, " 111"的索引在这种情况下,索引将等于字符串长度。(最后一个字符),这意味着我们需要在之前确定此索引。 最后是97,这将是索引11。

如何编写将字符串转换为十进制Char值的语句,将每个char添加到数组列表中自己的索引,然后根据索引进行计算?它杀了我一个多月了!

以下代码非常错误,但希望说明我打算做什么

如果我们使用" i。"表示数组中的索引。

k = 0;
private String lengthofstring = k;
    while (k <= lengthofstring){
System.out.println(i.1+i.11 + "-" + i.lengthofstring);

k++
}

据说打印: -

218-111(or whichever is at the index equal to lengthofstring)

任何帮助都会很棒

非常感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:1)

一些建议

  1. 你有一个字符串,所以你可以逐个转换为char类型的数组或使用 来自String类的ready函数toCharArray()

  2. 显然,您需要定义一个自行缩小和扩展的动态数组。

  3. 由于char类型可以转换为int,您可以逐个转换每个元素并将它们添加到 清单。

  4. 因为这是一个功课,所以我的代码答案是

    Java 8

    <强>代码

       String s = "my dog did a Foo" ;
       List<String> listString = Arrays.asList(s.split(""));
       IntStream.range(0, listString.size())
               .map(i-> (int)listString.get(i).charAt(0))
               .forEach(i -> System.out.print(" " + i));
    

    <强>输出

     109 121 32 100 111 103 32 100 105 100 32 97 32 70 111 111
    

答案 1 :(得分:1)

有:

String inputString = "my dog did a Foo";

<强> 1。要将String转换为字符数组:

在您的情况下,可能ArrayList不是最佳选择。你可以简单地使用一个char数组:

char[] allStringChars;

String类已经为此提供了一种方法,或者您可以通过以下算法进行某些循环:

declare allStringChars with the inputString size
declare i as 0
for each char on inputString do
    copy the char at inputString[i] to the allStringChars[i]
    increment i
end

要从inputString获取特定字符,请使用inputString.chatAt(i)方法。

<强> 2。对值进行操作:

inputString转换为字符数组之后,您可以获取任何字符的整数值:

int firstValue = allStringChars[0];
int lastValue = allStringChars[allStringChars.length - 1];

希望它有所帮助。