比方说我有一个字符串即
"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)
任何帮助都会很棒
非常感谢您提供的任何帮助。
答案 0 :(得分:1)
一些建议:
你有一个字符串,所以你可以逐个转换为char
类型的数组或使用
来自String类的ready函数toCharArray()
。
显然,您需要定义一个自行缩小和扩展的动态数组。
由于char
类型可以转换为int
,您可以逐个转换每个元素并将它们添加到
清单。
因为这是一个功课,所以我的代码答案是:
在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];
希望它有所帮助。