A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jagon 中级黑马   /  2014-3-16 16:04  /  921 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

再练习中遇到的问题,使用Scanner判断输入数据是否是int型数据,代码没有问题,但是结果却不是想要的结果,怎么回事?
package cn.itheima.demo;
import java.util.Scanner;
public class TestDemo {
    public static void main(String[] args) throws Exception {
        Scanner scan = new Scanner(System.in);
        scan.useDelimiter("\n");
        System.out.print("请输入数据:");
        if (scan.hasNextDouble()) { // 有内容
            double data = scan.nextDouble() ;
            System.out.println("输入数据:" + data);
        } else {
            System.out.println("输入的数据不是数字!");
        }
    }
}

截图02.jpg (4.41 KB, 下载次数: 4)

截图02.jpg

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

2 个回复

倒序浏览
把scan.useDelimiter("\n")去掉或者将其改成scan.useDeLimiter("\r")就可以了!

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
scan.useDelimiter("\n"); 这句会使你输入的数字后面加回车,数字+回车就无法匹配正确的类型了

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马