我制作了一个需要int[]
,Conflict(int[] tab)
的函数,众所周知,我们以JTextField
(s)的形式从String
中提取信息,然后我转换成一个整数:
int input=Integer.parseInt(s);
现在,我找到了这样做的方法:
int input= 1234;
String input= String.valueOf(input);
Vector<int> tab = new Vector<int>();
for (int cpt = 0; cpt <input.length(); cpt++)
{
tab.add(Integer.valueOf(input.substring(cpt, cpt+1)).intValue());
}
但我正在寻找一种没有向量的简单方法,所以问题是如何将输入(int)转换为int[]
的表,以便我可以在冲突函数中使用它?
以下是我的问题的答案,对于那些希望使用带有非常聪明的简单技巧的字符串将int
变为int[]
的所有人
tcst = ""+inputc;
int tcn = tcst.length();
int[] tctab = new int[tcn];
for(int h=0; h<tcn; h++){
tctab[h] = (int) Integer.parseInt("" + tcst.charAt(h));
}
答案 0 :(得分:1)
如果您有一个像“12345”这样的数字字符串,最好的方法是使用字符串的toCharArray()方法将其转换为char数组。一旦获得了char数组,这些char就可以在程序中用作整数。当你从char数组中获取一个元素并使用字符的getNumericValue()方法将其转换为int时
答案 1 :(得分:-1)
如果您的输入是字符串(来自JTextField
),那么我不明白为什么要将其转换为整数,只是为了再次将其转换为String
。
从String
转到int[]
,这是一种方法。
char[] chars = inputString.toCharArray();
int[] result = new int[chars.length];
for(int i=0; i<chars.length; i++){
result[i] = Character.getNumericValue(chars[i]);
}