【问题标题】:how to convert a String of int into a table int[]如何将 int 字符串转换为表格 int[]
【发布时间】:2013-04-24 07:18:20
【问题描述】:

我创建了一个需要int[]Conflict(int[] tab) 的函数,众所周知,我们以String (s) 的形式从JTextField 中提取信息,然后我将其转换为整数:

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));
}

【问题讨论】:

    标签: java integer int


    【解决方案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]);
    }
    

    【讨论】:

      【解决方案2】:

      如果您有一个像“12345”这样的数字字符串,最好的方法是使用字符串的 toCharArray() 方法将其转换为 char 数组。一旦你得到一个数字的 char 数组,这些 char 就可以在你的程序中用作整数。只是当你从 char 数组中获取一个元素并使用字符的 getNumericValue() 方法将其转换为 int 时

      【讨论】:

      • -1 明显不正确。将 char 转换为 int 返回到 unicode 位置,而不是数值。这显然不是 OP 所要求的。
      • 你可以使用char的getNumericValue()方法
      • 你也可以做类似 char vlaue - 48 这样你就可以得到实际值
      猜你喜欢
      • 1970-01-01
      • 2015-11-12
      • 2018-05-08
      • 1970-01-01
      • 1970-01-01
      • 2022-06-27
      • 2016-12-25
      • 2017-06-30
      相关资源
      最近更新 更多