【发布时间】:2015-11-13 09:16:06
【问题描述】:
我正在尝试从一个数字中获取最后两位和前两位。我的lastTwo 函数的返回值得到了一个非常奇怪的结果。
public static int lastTwo(int digit){
String str = Integer.toString(digit);
String lastTwo = str.substring(str.length()-2);
int response = Integer.parseInt(lastTwo);
return response;
}
当输入digit是104时,这个输出就是4,但是当输入是114时,输出是14,这是正确的输出。为什么substring 上的104 没有在正确的位置返回0?
这是我的 bluej 控制台,只是为了提供额外的视觉效果:
twoDigit.main({ }) (104)
4
10
twoDigit.main({ }) (114)
14
10
【问题讨论】:
-
保持结果为
String(不要转换为int)。 -
返回
String,而不是int,以在开头使用0 -
因为
ints 是数字。数字 04 和 4 没有区别。