繁体   English   中英

Java-如何剥离字符串中的单个字符并将其存储在一维数组中?

[英]Java-How can I peel off a single char in a String and store them in a 1D array?

我有一个字符串"301918574X" ,我想将每个字母存储到一个数组中,第一个插槽中有3 ,第二个插槽中有0个,第三个插槽中有1个, "301918574X"

我将如何去做呢?

编辑:

现在,我已将每个字符分配给适当的阵列插槽。 但是数组中只有一个字母,即为"X" (实际上是ISBN)。 当存在X ,其值应为10但显然不能在字符数组中使用。

char[] theArrayYouWant = str.toCharArray();

您正在搜索String.toCharArray() 文档所述,“它返回一个新分配的字符数组,其长度为字符串的长度,其内容初始化为包含该字符串表示的字符序列。”

当怀疑类是否直接支持特定操作时,平台的API文档应该是第一个参考资源。

String testString="301918574X";
char[] resultArray = new char[12];

for (int i=0;i<testString.length();i++)
{
  resultArray[i] = testString.charAt(i);
}

如果只需要索引访问,则可以使用String.charAt() 如果您确实需要数组,请使用String.toCharArray()

要对字符“进行数学运算”,请不要将它们存储为char ,而是存储为int

这是一个例子:

int[] digits = new int[str.length()];
for(int i : 0; i < str.length -1; i++) {
    digits[i] = Character.digit(str.charAt(i), 10);
}
char last = str.charAt(str.length()-1);
if(last == 'X')
   digit[digits.length-1] = 10;
else
   digit[digits.length-1] = Character.digit(last, 10);

(在ISBN中,只有最后一位可以是X。)

暂无
暂无

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

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