我想知道我是否可以获取输入的最后一位,但是如果最后一位为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/

10-13 09:11