Java 如何修复整型值而不是引发异常?

Java 如何修复整型值而不是引发异常?,java,exception,int,floor,Java,Exception,Int,Floor,我需要使用floor函数修复用户输入的值,而不是让它抛出异常并停止。可能吗? 如果用户输入8.3;它应该变成8,并且不会抛出异常。你知道怎么做吗 我编写的部分代码如下所示: try{ int y=0; Scanner inputY = new Scanner(System.in); System.out.println("Enter an Integer between 1-9"); y = inputY.nextInt(); catch(InputMis

我需要使用floor函数修复用户输入的值,而不是让它抛出异常并停止。可能吗? 如果用户输入8.3;它应该变成8,并且不会抛出异常。你知道怎么做吗

我编写的部分代码如下所示:

try{
    int y=0;
    Scanner inputY = new Scanner(System.in);
    System.out.println("Enter an Integer between 1-9");
    y = inputY.nextInt();
    catch(InputMismatchException e){
    return 0;
    }
    finally{
        System.out.println("The input number was not an integer between 1-9");
        System.exit(0);
    }
不要使用
nextInt()
而是使用
nextDouble()
并从double转换为int

double y = inputY.nextDouble();
int x = (int) y;

Scanner
提供了一系列
hasXyz
方法,用于测试读取
nextXyz
是否将引发异常。您可以使用此方法确定
扫描仪查看的是
int
还是
double
,然后读取可用的数据。