| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 649 人关注过本帖
标题:Scanner输入数据类型的问题
只看楼主 加入收藏
ankewlin
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2021-1-19
结帖率:0
收藏
已结贴  问题点数:10 回复次数:5 
Scanner输入数据类型的问题
package TaskOfJavabooksCap2;
import java.util.Scanner;

public class areaAndVolumeOfaCylinder {
   
    public static void main(String[] args) {
        
        // create a scanner object
        Scanner input = new Scanner(System.in);
        
        //Prompt user to enter 2 numbers of a cylinder
        System.out.print("Enter the radius and length of a cyllinder ");
        
        double num1 = input.nextDouble();
        double num2 = input.nextDouble();
        
        double area = num1*num1*3.14;
        System.out.println("The area is "+ area);
        System.out.println("The area is "+ area*num2 );
        
    }

}
请问各位大佬们,我这个scanner输入为什么只能针对整数,对于小数就会出现 InputMismatchException
搜索更多相关主题的帖子: the input System Scanner 输入 
2021-03-11 17:55
ankewlin
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2021-1-19
收藏
得分:0 
各位大佬帮我看看呗。抱错是从 double num1 = input.nextDouble();开始报错的,搞了几天了也不知道为啥错的。。
2021-03-20 18:15
linkeryy
Rank: 1
来 自:广东省深圳市
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-3-12
收藏
得分:0 
你确定报错吗?我把你的代码完整粘贴下来运行,输入小数可没有报错哦。

流言止于智者,偏见来自无知。
2021-03-23 10:46
ankewlin
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2021-1-19
收藏
得分:0 
"C:\Program Files\Java\jdk-15.0.2\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\lib\idea_rt.jar=58290:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Administrator\IdeaProjects\TaskOfJavaBooks\out\production\hellojava TaksOfJavabook.AreaAndVolumenOfaCylinder
Enter the radius and length of a cyllinder 5.5 12.0
Exception in thread "main" java.util.InputMismatchException
    at java.base/java.util.Scanner.throwFor(Scanner.java:939)
    at java.base/java.util.Scanner.next(Scanner.java:1594)
    at java.base/java.util.Scanner.nextDouble(Scanner.java:2564)
    at TaksOfJavabook.AreaAndVolumenOfaCylinder.main(AreaAndVolumenOfaCylinder.java:21)

Process finished with exit code 1

就是这个错误,我一个大佬朋友说我这个可能是IDEA没有配置好的问题。。。
2021-03-26 23:03
sssooosss
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:229
专家分:594
注 册:2019-8-27
收藏
得分:0 
共同学习
2021-03-29 08:35
ankewlin
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2021-1-19
收藏
得分:0 
破案了! 如果确定数据类型没有错误的话可以把ScannerSyntax:
                     Scanner input = new Scanner(System.in);
增添为以下语句:
            Scanner input = new Scanner(System.in).useLocale(Locale.US);
这样应该就不会报错了,这还是俺在Github一个大佬上面看到的解决方法,希望对大家有用。
2021-04-13 13:17
快速回复:Scanner输入数据类型的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057138 second(s), 8 queries.
Copyright©2004-2021, BCCN.NET, All Rights Reserved