我想知道我是否可以获取输入的最后一位,但是如果最后一位为0,我希望它忽略它并接受之前的一位...就像bob120一样,最后一位为20而不是0,以使其成为输入人的水平
这是我的代码,我尝试了2天才知道如何操作,但我仍然遇到这个问题。
而且我尝试了%10,但仍然是同样的问题。
number = number.substring(5,6);
level = Integer.parseInt(number);
我正在使用扫描仪套件
先感谢您
最佳答案
如果输入是字符串,并且您喜欢使用子字符串,则代码为
int pos= number.lenght();
String lastChar = number.substring(pos-1,pos);
注意:number是一个字符串:)...
然后您就在
Integer.parseInt()
上,如果错误不是数字(请尝试,抓住),请注意...然后,您需要一个if语句...更改pos并重试。
要执行此任务,最好在循环中使用
String.toCharArray()
向后循环...因此,如果您有时间研究此内容。像这样:
public int getLastNumDifThenZero(String text){
char[] ca = text.toCharArray();
for (int i = ca.length-1; i >= 0; i--) {
char a = ca[i];
try {
int n = Integer.parseInt(String.valueOf(a));
if (n!=0){
return n;
}
} catch (NumberFormatException e) {
//Not a number
}
}
return -1;
}
关于java - 从名称中获取最后一位数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32923558/