Java 带字母到整数转换的字符串数组
我得到了这个字符串数组Java 带字母到整数转换的字符串数组,java,arrays,Java,Arrays,我得到了这个字符串数组 String s1[] = {"H","E","L","L","O"}; 以及将其转换为int的方法 public static int[] String2Int(String[] k){ int[] arrayBuffer = new int[k.length]; for (int i=0; i < k.length; i++) { //arrayBuffer[i] = Integer.parseInt(k[i]
String s1[] = {"H","E","L","L","O"};
以及将其转换为int的方法
public static int[] String2Int(String[] k){
int[] arrayBuffer = new int[k.length];
for (int i=0; i < k.length; i++)
{
//arrayBuffer[i] = Integer.parseInt(k[i]);
arrayBuffer[i] = Integer.parseInt(k[i]);
}
return arrayBuffer;
publicstaticint[]String2Int(String[]k){
int[]arrayBuffer=新int[k.length];
for(int i=0;i
我想要字符的十进制值,但运气不好。
谷歌只在字符串是数字时才提供帮助。你不应该将其转换为整数。它应该是
arrayBuffer[i] =k[i].charAt(0);
这样,您就可以得到char的ASCII值,并将其分配给int
编辑:
您还可以使用注释中指出的arrayBuffer[i]=Character.codePointAt(输入,0);
。尝试以下方法:
解释
char
和int
在Java中几乎是一样的。您不需要解析它,只需将它赋给int[]
,就可以隐式地强制转换它。此外,您不应该将String[]
作为参数,这毫无意义。字符串几乎已经是char[]
。因此,要么使用字符串
,要么使用字符[]
。在我的示例中,我使用了字符串
,因为这样调用更方便。使用Java 8流API:
public static int[] convert(String[] strings)
{
Objects.requireNonNull(strings);
return Arrays.stream(strings)
.mapToInt(str -> Character.getNumericValue(str.charAt(0)))
.toArray();
}
我假设您不需要检查输入字符串是否只包含一个字符。您指的是字符的十进制值是什么?您指的是字符的ascii值或类似于“43”=43?或“A”=65的解析?是的,A=65。很抱歉没有将其写入。why not
character.codepoint(输入,0)可能重复
@Tschallacka两者都很好。不是吗?它还处理边缘情况,在这些情况下,它并不总是简单的代码点是什么,它处理代理项对,因此您将获得一致的输出。arrayBuffer[i]=k[i]。charAt(0);完成了破坏程序的技巧。谢谢!@Tschallacka足够公平。更新了我的答案。
[72, 69, 76, 76, 79]
public static int[] convert(String[] strings)
{
Objects.requireNonNull(strings);
return Arrays.stream(strings)
.mapToInt(str -> Character.getNumericValue(str.charAt(0)))
.toArray();
}