【问题标题】:Taking user input + checking value接受用户输入+检查值
【发布时间】:2015-12-02 04:15:27
【问题描述】:

假设我通过

获得用户输入
input.nextDouble()

如果输入是 455 并且我将其存储为双精度值,java 会采用此值并将其转换为 455.00 吗?还是会抛出异常?

如果是这样,它会抛出 nextDouble 吗?还是通过双数据类型存储?

【问题讨论】:

  • 它不会“把它变成”任何东西。 455455.00 具有相同的内部表示,如果您使用的是 double
  • 酷,谢谢@DavidWallace 随时提交答案,我会尽可能接受。

标签: java int double java.util.scanner


【解决方案1】:

nextDouble() 很乐意接受 int 值并将其存储为double。但如果您将它与另一个 nextXXX() 方法一起调用,请小心:

 int i=0;
 double d = 0;
    while(scanner.hasNext()){

       if(scanner.hasNextDouble()){
         d= scanner.nextDouble();
     }else{
         i= scanner.nextInt();
     }    
  }

else 这里不会执行,因为hasNextDouble() 将为int 值返回true,nextDouble() 将接受它们并将它们保存在d 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 2015-01-08
    • 2018-09-26
    • 1970-01-01
    相关资源
    最近更新 更多