gpt4 book ai didi

java - Scanner.next...对于 Float 抛出 java.util.InputMismatchException,但对于 Int 则不抛出 java.util.InputMismatchException

转载 作者:行者123 更新时间:2023-12-02 04:53:37 25 4
gpt4 key购买 nike

为什么 Java 在使用 Scanner.nextFloat() 而不是 Scanner.nextInt() 时抛出错误?

package myshit;

import java.lang.Math;
import java.util.Scanner;

public class speed2 {
public static Scanner keyboard = new Scanner(System.in);

public static void main(String[] args){
float number = keyboard.nextFloat();
System.out.print("Start");

}
}

输入:

2.5

输出:

Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextFloat(Unknown Source)
at myshit.speed2.main(speed2.java:10)

但是只要将 nextFloat 切换为 nextInt 就不会发生错误:

package myshit;

import java.lang.Math;
import java.util.Scanner;

public class speed2 {
public static Scanner keyboard = new Scanner(System.in);

public static void main(String[] args){
int number = keyboard.nextInt();
System.out.print("Start");

}
}

输入:

3

输出:

Start

我做错了什么?

看来我需要输入 ,而不是 。似乎是因为 Eclipse

最佳答案

您应该输入 2,5 而不是 2.5(我认为这只发生在 Netbeans 中,有趣的是它会被解析为 2.5)

run:
2,5
Your number is 2.5

在 Netbeans 中使用符号 2.5。

run:
2.5

Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextFloat(Scanner.java:2345)
at test.Test.main(Test.java:25)

关于java - Scanner.next...对于 Float 抛出 java.util.InputMismatchException,但对于 Int 则不抛出 java.util.InputMismatchException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28997094/

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