Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用String.charAt(索引)从字符串返回整数值;_Java - Fatal编程技术网

Java 如何使用String.charAt(索引)从字符串返回整数值;

Java 如何使用String.charAt(索引)从字符串返回整数值;,java,Java,给定一个变量astringnumber=“1234567” 是否有一种更简单的方法可以将值2返回到整数,而无需自动装箱和取消装箱该值。 我尝试了intnum=number.charAt(1)没有返回2,而是返回Unicode索引“2”。 我唯一不漂亮的选择是 String number = "1234567"; int numA = Integer.valueOf(number.substring(1,2)); int numB = Integer.valueOf(String.valueOf(

给定一个变量a
stringnumber=“1234567”
是否有一种更简单的方法可以将值2返回到整数,而无需自动装箱和取消装箱该值。
我尝试了
intnum=number.charAt(1)
没有返回2,而是返回Unicode索引“2”。 我唯一不漂亮的选择是

String number = "1234567";
int numA = Integer.valueOf(number.substring(1,2));
int numB = Integer.valueOf(String.valueOf(number.charAt(1));

char
是一种整数类型。由于
0
1
,…,的字符值<代码>9
是连续的

int index = 1; // or any index you like
int num = number.charAt(index) - '0';
你也可以使用


应在此上下文中使用
Integer.parseInt()
,而不是
valueOf()
,因为您需要的是原语而不是装箱类。谁在乎呢?这是一个index@ribads:此中定义的
字符串中字符的索引不可编译。?@pczeus:我不知道您做了什么使其不可编译,但如果将其放置在类中,则此操作有效:
public static void main(String[]args){String number=“1234567”;int index=1;int num=number.charAt(index)-“0”;System.out.println(num);}
你是对的,我的错。我将代码包装在Groovy脚本中,该脚本抱怨它重载了
-
,期望使用
减号()
方法。执行普通Java代码时出现差异的罕见情况之一。但是,在编译失败之后,我应该在标准Java类中尝试它。我的错,这确实有效。也很有趣。很有趣的方法。这看起来是最干净的方法。好极了!!看起来很干净
String number = "1234567";     
char at       = number.charAt(1);
int num       = Character.digit(at, 10);