nextDouble();扫描整数值?

how does nextDouble(); scan integer values?

提问人:DewzD 提问时间:9/13/2022 最后编辑:DewzD 更新时间:9/13/2022 访问量:272

问:

我是编码新手,我使用 nextDouble(); 编写了此代码,它读取双精度值和整数值。这是对的吗?这是怎么回事呢?这是我的代码,

    import java.util.*;
class Example{
   public static void main(String args[]){
      Scanner input=new Scanner(System.in);
      double gram;
      double ounce;
      System.out.println("Input ounce:");
      ounce=input.nextDouble();
      System.out.println("ounce in gram:");
      gram=ounce*28.3495;
      System.out.println(gram);
   }
}
整数 双精度 java.util.scanner

评论

0赞 Iłya Bursov 9/13/2022
什么是双面扫描仪?
0赞 DewzD 9/13/2022
@I łyaBursov 对不起,这是一个错误
0赞 Iłya Bursov 9/13/2022
仍然不确定问题是什么,但是 - scanner 正在读取字符串并且只读取字符串,但是您可以使用 NextInt/NextDouble 方法将字符串转换为适当的类型
0赞 Luca Scarcia 9/13/2022
@DewzD 和 Integer 是没有小数的浮点。这就是为什么包含整数的字符串可以看作是 Integer 和 Double。
0赞 DewzD 9/13/2022
@I łyaBursov 如果我使用 nextDouble,它会将输入数据扫描为“int”吗?

答:

0赞 Chaotisch3r 9/13/2022 #1

扫描仪使用“,”作为下一个。双精度()。只需添加“国家/地区”区域设置即可更改此设置。

input.useLocale(Locale.US);

这应该在设置盎司值之前放置:

input.useLocale(Locale.US);
ounce = input.nextDouble();