Java 从一串数字中获取int数组
我有一长串数字Java 从一串数字中获取int数组,java,arrays,string,split,int,Java,Arrays,String,Split,Int,我有一长串数字 String strNumbers = "123456789"; 我需要从中获取一个int[] 我使用此方法获得它: public static int[] getIntArray(strNumbers) { String[] strValues = strNumbers.split(""); int[] iArr = new int[strValues.length]; for(int i = 0; i < strValues.length; i
String strNumbers = "123456789";
我需要从中获取一个int[]
我使用此方法获得它:
public static int[] getIntArray(strNumbers)
{
String[] strValues = strNumbers.split("");
int[] iArr = new int[strValues.length];
for(int i = 0; i < strValues.length; i++)
{
iArr[i] = Integer.parseInt(strValues[i]);
}
return iArr;
}
publicstaticint[]getIntArray(strNumbers)
{
字符串[]strValues=strNumbers.split(“”);
int[]iArr=新的int[strValues.length];
for(int i=0;i
我得到以下错误:java.lang.NumberFormatException:用于输入字符串:“”
我的猜测是,我不能用这种方式拆分字符串。我尝试了各种逃跑或正则表达式,但都没用
有人能帮忙吗?试试看
char[] chars = strNumbers.toCharArray();
然后遍历char
数组。试试看
char[] chars = strNumbers.toCharArray();
然后遍历
char
数组。您可以使用charAt()函数检索字符串中的每个字符,然后执行parseInt()您可以使用charAt()函数检索字符串中的每个字符,然后执行parseInt()您可以简单地使用for循环遍历字符串并调用string.charAt(int)
您可以简单地使用for循环遍历字符串并调用string.charAt(int)
尝试:
char[] chars = strNumbers.toCharArray();
int[] iArr = new int[chars.length];
for(int i = 0 ; i < chars.length ; ++i) {
iArr[i] = chars[i] - '0';
}
char[]chars=strNumbers.tocharray();
int[]iArr=新int[chars.length];
对于(int i=0;i
试试:
char[]chars=strNumbers.tocharray();
int[]iArr=新int[chars.length];
对于(int i=0;i
您可以使用循环语句来迭代字符串。然后使用子字符串方法将字符串切分为单个数字。使用substring()方法可以定义要转换为数字的子字符串的长度。可以使用循环语句来迭代字符串。然后使用子字符串方法将字符串切分为单个数字。使用substring()方法,您可以定义要转换为数字的子字符串的长度。您的问题是拆分正则表达式。请尝试以下方法:
String[] strValues = strNumbers.split("(?<=\\d)");
String[]strValues=strNumbers.split((?您的问题是split正则表达式。请尝试以下方法:
String[] strValues = strNumbers.split("(?<=\\d)");
String[]strValues=strNumbers.split(“(?这正是我要找的。非常感谢。我对regex有点陌生,但我正在到达那里。欢迎:)我可以推荐一个好的regex参考网站。这正是我要找的。非常感谢。我对regex有点陌生,但我正在到达那里。欢迎:)我可以推荐一个好的正则表达式参考网站。这是一个好主意,我觉得有点愚蠢,因为我没有想到这一点。这是一个好主意,我觉得有点愚蠢,因为我没有想到这一点。谢谢你的编辑。总有一天我会做对的。;)谢谢你的编辑。总有一天我会做对的