hasNextDouble方法使用与double

时间:2016-10-27 23:51:47

标签: java

首先,请参阅此代码:

package test;

import java.util.*;

public class hasnext {
  public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    System.out.println(s.hasNextDouble());
    s.nextInt();
  }
}

如果我输入整数,我将得到真实的ex:5
如果我输入实数,我将得到真实然后崩溃前1.5

该方法给出的是double类型或整数的数量是正确的以及为什么?

1 个答案:

答案 0 :(得分:1)

来自the javadoc for Scanner.hasNextDouble()

  

如果此扫描仪输入中的下一个标记可以,则返回true   使用nextDouble()方法将解释为double值。

整数可以解释为double。例如,在Java中,您可以将整数转换为double,而不会丢失信息。

显然,double不能解释为整数。最有可能的原因是,在大多数情况下,double会通过从double转换为整数来丢失信息。