如何将int的String转换为表int []

时间:2013-04-30 11:24:29

标签: java integer int

我制作了一个需要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));
}

2 个答案:

答案 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]);
}