Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果在输入一个整数时输入一个整数很重要,那么最好的做法是什么';有可能吗?_Java - Fatal编程技术网

Java 如果在输入一个整数时输入一个整数很重要,那么最好的做法是什么';有可能吗?

Java 如果在输入一个整数时输入一个整数很重要,那么最好的做法是什么';有可能吗?,java,Java,我想输入一个数字,并尽可能使其成为int。当int不是浮点/双精度(5-->int,5.0-->double)时,如何将值输入int 我认为使用正则表达式解析输入不是一个好主意 我应该使用数字抽象类和instanceof运算符吗?我想您应该尝试找出输入是整数还是双精度 如果使用try catch块,可以检查输入的格式 Scanner s = new Scanner(System.in); String input = s.nextLine(); try { int i = Intege

我想输入一个数字,并尽可能使其成为
int
。当int不是浮点/双精度(5-->int,5.0-->double)时,如何将值输入int

我认为使用正则表达式解析输入不是一个好主意


我应该使用数字抽象类和instanceof运算符吗?

我想您应该尝试找出输入是整数还是双精度

如果使用
try catch
块,可以检查输入的格式

Scanner s = new Scanner(System.in);
String input = s.nextLine();

try {
    int i = Integer.parseInt(input);
    System.out.println("It is integer.");

} catch (NumberFormatException e) {
    try {

        Double d = Double.parseDouble(input);
        System.out.println("It is double.");
    } catch (NumberFormatException e1) {

        System.out.println(input + " is neither an integer or a double");
    }
}

你能给我们举个例子吗?你可以把它转换成一个整数。但是我可以把我的浮点部分去掉,这意味着什么“当它不是浮点/双精度的时候,我怎么能把值输入到int中呢?”比如如果输入int存储为int,如果输入float sote作为float?为什么不直接存储为float呢?这个问题很让人困惑,你是说要将变量存储为能够准确存储它的最小类型吗?这是什么原因?如果我们理解目的,我们可以提供更好的答案。在你的情况下,我认为这是一个很好的做法。因此,如果你觉得答案有帮助,请投票并接受,这样可以帮助其他可能有类似问题的人。