我可以在Java中使用charAt的产品吗?

我可以在Java中使用charAt的产品吗?,java,string,char,Java,String,Char,可能重复: 当我编译时: String s = "25999993654"; System.out.println(s.charAt(0)+s.charAt(1)); 我收到了100英镑 JAVA文档: the character at the specified index of this string. The first character is at index 0. 我认为我必须将字符串编译成int,但我认为这是一项不必要的工作。有什么解决方案或想法吗?您需要将其解析为int I

可能重复:

当我编译时:

String s = "25999993654";
System.out.println(s.charAt(0)+s.charAt(1));
我收到了100英镑

JAVA文档:

the character at the specified index of this string. The first character is at index 0.

我认为我必须将字符串编译成int,但我认为这是一项不必要的工作。有什么解决方案或想法吗?

您需要将其解析为int

Integer.parseInt(String.valueOf(s.charAt(0))) + Integer.parseInt(String.valueOf(s.charAt(1)))

它将字符的ascii值相加

你可以通过减去48得到整数等价物

System.out.println((s.charAt(0)-48)+(s.charAt(1)-48)); 

或者创建一个函数将ascii转换为数字

字符的值不是整数而是ascii值


假设您希望结果为2+5=7:

System.out.println(Character.digit(s.charAt(0), 10) + Character.digit(s.charAt(1), 10));
这是必要的,因为charAt返回一个字符,基本上是一个Unicode ID号

试试这个

String s = "25999993654"; 
System.out.println(Character.getNumericValue(s.charAt(0)) 
         + Character.getNumericValue(s.charAt(1)));

你是否每20分钟就发布一个相同的问题?为什么你会问两次相同的问题。。你必须复习103而不是100。它把我弄糊涂了。这不是太重了吗?字符串->字符->字符串->整数因为您不确定它是否只包含整数,所以需要采取适当的异常care@MichaelBorgwadt的解决方案正确地使用了character中提供的parse character to digit方法。谢谢,这对我很有帮助。我做了我想做的事D