gpt4 book ai didi

java - 为什么Java将十进制数输出为整数?

转载 作者:行者123 更新时间:2023-12-02 11:46:09 25 4
gpt4 key购买 nike

这是我的程序:

// Creates a Scanner object that monitors keyboard input
static Scanner userInput = new Scanner(System.in);

public static void main(String[] args)
{

System.out.print("How old are you? ");

int age = checkValidAge();

if (age != 0)
{
System.out.println("You are " + age + " years old");
}

}

public static int checkValidAge()
{

try
{
return userInput.nextInt(); // nextInt() receives the user input
}

catch (InputMismatchException e)
{
userInput.next(); // Skips the last user input and waits for the next
System.out.print("That isn't a whole number");
return 0;
}

}

当我输入一个小数点后 3 位的数字时,Java 将其输出为整数:

enter image description here

如果我输入2位或3位以上小数点的数字,那么程序就会知道输入不正确。那么为什么它会忽略 3 位小数并将其输出为 int 呢?

最佳答案

Stream::nextInt 从流中读取一个整数。
2,444 是默认区域设置中的整数 (2,444 = 2444)。

如果您想读取十进制数,则需要使用Stream::nextDouble或其他适当的方法。

关于java - 为什么Java将十进制数输出为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48191005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com