我在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
但是看起来这样并不起作用。
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;
}
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
}
从另一个堆栈溢出响应中获取了这些信息:Java:从char解析int值
int x = Character.getNumericValue(S.charAt(i));
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));
}
int x=s.charAt(i)-'0';
的意思是什么? - Sergey KalinichenkoInteger.valueOf()
吗? - OneCricketeerCharacter.getNumericValue()
... 翻译为:获取数字值()函数。 - Alexis C.