我了解到要将字符序列转换为整数,我们可以使用此语句
String cs="123";
int number = Integer.parseInt(cs.toString());
如果
cs = "++-+--25";
该语句是否仍会运行并根据给出的字符串给出答案-25?
我了解到要将字符序列转换为整数,我们可以使用此语句
String cs="123";
int number = Integer.parseInt(cs.toString());
如果
cs = "++-+--25";
该语句是否仍会运行并根据给出的字符串给出答案-25?
你最终得到一个NumberFormatException
因为++-+--25
不是一个有效的整数。
将字符串参数解析为有符号十进制整数。字符串中的字符必须都是十进制数字,除了第一个字符可以是ASCII减号'-'('\u002D')表示负值或ASCII加号'+'('\u002B')表示正值。返回结果整数值,就像参数和基数 10 作为参数提供给 parseInt(java.lang.String, int) 方法一样。
所以你可以这样做
CharSequence cs = "-25"; //gives you -25
和
CharSequence cs = "+25"; //gives you 25
否则,采取必要的措施来面对Exception
:)
所以知道 char 序列是一个有效的字符串只需编写一个简单的方法来返回 true 或 false 然后继续
public static boolean {
try {
Integer.parseInt(s);
} catch(NumberFormatException e) {
return false; // no boss you entered a wrong format
}
return true; //valid integer
}
然后你的代码看起来像
if(isInteger(cs.toString())){
int number = Integer.parseInt(cs.toString());
// proceed remaining
}else{
// No, Operation cannot be completed.Give proper input.
}
对您的问题的回答是代码将运行并抛出异常,因为“++-+--25”不是有效的 int,
java.lang.NumberFormatException: For input string: "++-+--25"
你会得到
java.lang.NumberFormatException: For input string: "++-+--25"
测试示例:
CharSequence cs = "++-+--25";
System.out.println("" + Integer.parseInt(cs.toString()));