Java 从charAt另存为int

Java 从charAt另存为int,java,Java,例如: 公共静态无效测试(){ int x=0; 字符串行=“A24 ASD 46”; 对于(int i=0;i

例如:

公共静态无效测试(){
int x=0;
字符串行=“A24 ASD 46”;
对于(int i=0;i

“x”是打印字符的ASCII值,而不是索引“i”处字符串的元素!如何打印字符串索引中的元素?

如果此处确实需要int值,则在这种情况下有:

public static void test() {
    int x = 0 ;
    String line = "A24 ASD 46" ;
    for ( int i = 0 ; i < line.length() ; i++) {
        if (Character.isDigit(line.charAt(i))) {
            int number = line.charAt(i) ;
            System.out.println(number);
        }
    }
}

但是,如果只想打印源字符串中的所有数字,则不必像前面提到的那样将
char
转换为
int
。只需执行
System.out.println(line.charAt(i))

如果此处确实需要int值,则在这种情况下:

public static void test() {
    int x = 0 ;
    String line = "A24 ASD 46" ;
    for ( int i = 0 ; i < line.length() ; i++) {
        if (Character.isDigit(line.charAt(i))) {
            int number = line.charAt(i) ;
            System.out.println(number);
        }
    }
}

但是,如果只想打印源字符串中的所有数字,则不必像前面提到的那样将
char
转换为
int
。只需执行
System.out.println(line.charAt(i))

如果要使用流查找数字:

int number = Character.getNumericValue(line.charAt(i))

将打印2446。

如果要使用流查找数字:

int number = Character.getNumericValue(line.charAt(i))

将打印2446。

您只打印数字字符(
if(Character.isDigit(…))
),并且您正在打印它们的ASCII值,而不是它们的实际值。您希望得到什么?直接打印
System.out.println(line.charAt(i))
不要将它们转换为
int
我想存储并打印该值!您只打印数字字符(
if(Character.isDigit(…)
),并且您打印的是它们的ASCII值,而不是它们的实际值。您希望得到什么?直接打印
System.out.println(line.charAt(i))
不要将它们转换为
int
我想存储并打印该值!