从字符串S中提取每个位置的整数

时间:2016-04-28 18:47:09

标签: java string

我在java中接受了一个数字作为字符串S = 1234。现在我想得到s [0] s [1] s [2] s [3]的整数值。

for(int i=0;i<l;i++)// l is length of string s
    int x=s[i]-'0';// print this now

但这似乎不起作用。

4 个答案:

答案 0 :(得分:1)

您可以使用charAt()结合获取该字符的数值来获取整数。

// Assuming you already have the Integer object "S" declared and assigned
int[] s = new int[Integer.toString(S).length()]; // create the integer array

for(int i = 0; i < Integer.toString(S).length(); i++)
{
  int x = Character.getNumericValue(S.charAt(i));
  s[i] = x;
}

答案 1 :(得分:1)

Java字符串不仅仅是char数组,它们也是对象,因此您无法使用[]运算符。但是你确实有正确的想法,你只是以错误的方式访问角色。相反,您可以使用charAt方法:

for(int i = 0; i < l; i++) { // l is length of string s
    int x = s.charAt(i) - '0';
    // Do something interesting with x
}

答案 2 :(得分:0)

从另一个堆栈溢出响应中获取此信息:Java: parse int value from a char

int x = Character.getNumericValue(S.charAt(i));

答案 3 :(得分:0)

只需使用Character.getNumericalValue()方法即可转换数字字符串。以下是获得它的方法。

   String num = "1234";
    char[] a=num.toCharArray();
    ArrayList<Integer> p = new ArrayList<>();
    for(int i=0; i<a.length; i++){
        p.add(Character.getNumericValue(a[i]));
        System.out.println(p.get(i));
    }