将字符串转换为Java中的int数组

问题描述:

我想知道如何将字符串等字符转换为数组中的数值。例如,A是0,B是1.我知道我需要像这样使用for循环: for(int i = 0; i < 26; i ++),但我不确定实际的代码片段用来做转换为一个int数组?帮帮我?将字符串转换为Java中的int数组

+0

您需要张贴代码显示你已经尝试了什么。 – 2013-03-18 00:34:50

+0

你的意思是你想要根据它的索引来转换每个字母吗? – 2013-03-18 00:36:10

+0

@Ali Alamiri,其目的是将该字母转换为其数值。所以不是,不是索引,而是如果给定像“CAGHS”这样的字符串,它将代表int数组:3 0 6 7 18 – 2013-03-18 01:14:36

你可以通过yourString.charAt(i)得到每个Char,然后用(int)强制转换它,这会给你相应的ASCII,然后从'A'的ASCII中减去。你将有你想要什么

结果=(INT)yourString.charAt(I) - (int)的 'A'

+0

所以如果我有一个像“ESBDGACF”这样的字符串,它会打印出“4 18 1 3 6 0 2 5“是什么时候打印的? – 2013-03-18 00:51:15

+0

它应该这样做,但是您应该在打印每个Char时考虑空格,并注意此解决方案区分大小写。如果您使用小写垃圾,您将得到另一个结果@SydneyWarrenburg – 2013-03-18 00:59:30

+0

非常感谢@Abd El-Rahman El-Tamawy。我已经实现了将我的字符串转换为大写的代码。非常感谢您的帮助! – 2013-03-18 01:12:23

将一个字母(char)转换为表示它在字母表中的位置的整数比有些人意识到的容易;所有你需要做的是:

(int)(c - 'A') // the "distance" between c and 'A' = place of c in alphabet 

遍历您的字符串的字符和每个执行此操作,存储在一个新的int数组的结果。