2021-03-24

本文详细介绍了Java中Scanner类的使用,包括next()和nextLine()的区别。通过示例代码展示了如何判断用户输入是否为字符串,以及如何处理用户输入的数字。当使用next()时,如果输入多个单词,只会读取第一个单词;而使用nextLine()则会读取整行内容。此外,还提供了一个例子,演示如何从用户输入中统计数字的总和与平均值,直到输入非数字为止。
摘要由CSDN通过智能技术生成

今天来看看scanner用法
格式:
Scanner scanner= new Scanner(System.in);
下面为了方便常常加上:
System.out.println("使用next的方式接收:");
在使用之后最好将scanner给清除,格式为:
scanner.close();//关闭,以免占用资源;
例一.编写一个程序,判断输入的是否为字符串


public class Damo01 {
    public static void main(String[] args) {
        Scanner scanner= new Scanner(System.in);
        System.out.println("使用next的方式接收:");
        //判断用户有没有输入字符串
        if (scanner.hasNext()){
            //使用next的方式接收;
            String str = scanner.next();//程序等待用户输入完毕;
            System.out.println("输出的内容为:"+str);
        }
        scanner.close();//关闭,以免占用资源;
    }
}

上述代码使用的都是next(),你会发现,如果我们输入hello
在这里插入图片描述
运行结果为:
在这里插入图片描述
但如果我们输入hello world,运行结果却还是为hello;
遇到这种情况,我们只需要将关键词next换成 nextline就行了;
例二:


public class Damo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner (System.in);
        System.out.println("使用nextline接收");
        if (scanner.hasNext()){
            String str = scanner.nextLine();
            System.out.println("输出的内容为:"+str);
        }
        scanner.close();
    }
}

运行时输入hello world结果为:
在这里插入图片描述
两者具体不同见下图:
在这里插入图片描述
例三,由用户输入数字,当用户输入不是数字停止程序,统计出输入数字的总和与平均数,及每次输入后的总值与平均值。


public class Demo04 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //和:
        double sum = 0;
        //计算输入了多少个数字:
        int m = 0;
        //通过循环判断是否还有输入,并在里面进行求和统计:
        System.out.println("请输入数据:");
        while(scanner.hasNextDouble()){
            double x = scanner.nextDouble();
            m++;//m=m+1;
            sum = sum + x;
            System.out.println("你输入了第"+m+"个数据,当前的总和sum="+sum+"当前的平均值为:"+(sum/m));
        }
        System.out.println("和为:"+sum);
        System.out.println("平均值为:"+(sum/m));
        scanner.close();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值