忽略字符

2019年10月3日 19点热度 0条评论

我现在正在开发一个可以划分,添加,删除等程序,但是我也可以为他人开发它,因此,问题通常也包含字母。我可以实现什么代码,以便我的程序忽略字符,而只关注数字?

编辑

导入静态java.lang.System.out;
导入java.util.Scanner;

公共类Trinomial {
公共静态void main(final String args []){

    final Scanner first = new Scanner(System.in);   
    out.print("Enter the first number: ");
    final int First = first.nextInt();

    final Scanner second = new Scanner(System.in);  
    out.print("Enter the second number: ");
    final int Second = second.nextInt();

    final Scanner third = new Scanner(System.in);   
    out.print("Enter the third number: ");
    final int Third = third.nextInt();

    numFactors(First);
}

}

解决方案如下:

首先,您将必须使用扫描仪中的next()方法,因为如果下一个标记包含非数字字符,则nextInt()将返回异常。这会将令牌读取为字符串。然后,可以通过以下方法摆脱非数字字符,例如,创建一个空的String(出于性能原因,StringBuilder可能会更好,但这会使它更复杂),遍历原始字符串并使用已经提到的isDigit()方法确定字符是否为数字。如果是这样,请将其添加到新字符串中。一旦拥有仅包含数字的字符串,请使用Integer.parseInt(string)方法获取整数值。

我不太确定,为什么每次都要初始化一个新的扫描仪,我认为您应该能够在整个程序中使用第一个扫描仪。