我已经知道要将charsequence转换为整数,我们可以使用这个语句
String cs="123";
int number = Integer.parseInt(cs.toString());
如果
cs = "++-+--25";
此语句是否仍然运行并根据给定的字符串给出答案-25
答案 0 :(得分:2)
由于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.
}
答案 1 :(得分:1)
回答你的问题是代码会运行并抛出异常,因为“++ - + - 25”不是有效的int,
java.lang.NumberFormatException: For input string: "++-+--25"
答案 2 :(得分:0)
你会得到
java.lang.NumberFormatException: For input string: "++-+--25"
经过测试的示例:
CharSequence cs = "++-+--25";
System.out.println("" + Integer.parseInt(cs.toString()));