程序笔记   发布时间:2022-07-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了5.java基础-流程控制-Scanner对象大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

java.util.ScAnner 是java5的新特征,我们可以通过ScAnner类来获取用户的输入

基本语法:

ScAnner s = new ScAnner(System.in);

通过ScAnner类的next()与nextline()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还要输入的数据。

next()方法:

  1. 一定要读取到有效字符后才可以结束输入
  2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  4. next()不能得到带有空格的字符

例:

//创建一个扫描器对象,用于接收键盘的数据
ScAnner scAnner = new ScAnner(System.in);
System.out.println("使用Next方法接收");

//判断用户有没有输入字符串
if (scAnner.hasNext()){
//接收用户的输入
String str = scAnner.next(); //程序会等用户输入完毕
System.out.println("输入的内容为:"+str);
}
scAnner.close();//关闭 凡是属于I/O流 都需要关闭
结果:
使用Next方法接收
Hello world(输入内容)
输入的内容为:Hello

我们输入了Hello world,但是他只输出了Hello。 此实例验证了:next()不能得到带有空格的字符

nextLine()方法:

  1. 以Enter为结束符也就是说nextLine()方法返回的是输入回车之前的所有字符。
  2. 可以获得空白。

例:

ScAnner scAnner  = new ScAnner(System.in);
System.out.println("使用NextLine方法接收");
//判断用户有没有输入字符串
if (scAnner.hasNextLine()){
String str = scAnner.nextLine();
System.out.println(str);
}

scAnner.close();
结果:
使用NextLine方法接收
Hello world
Hello world

我们输入了Hello world,中间带空格,输出的结果也会把空格后的字符得到。 此实例验证了:nextLine()能得到带有空格的字符!

ScAnner的进阶使用

可以使用NexTint(),nextFloat(),....,来精确的获取其他类型的输入。同时也有相对于的判断是否还有数据的hasNexTint(),hasNextFloat()。

例:

ScAnner scAnner = new ScAnner(System.in);

        //从键盘接收数据
        int i = 0;
        float f = 0.0F;
        System.out.println("清输入整数:");

        //如果...那么
        if (scAnner.hasNexTint()){
            i = scAnner.nexTint();
            System.out.println("整数:"+i);
        }else {
            System.out.println("你输入的不是整数!");
        }

        System.out.println("清输入小数:");
        if (scAnner.hasNextFloat()){
            f = scAnner.nextFloat();
            System.out.println("小数:"+f);
        }else {
            System.out.println("你输入的不是小数!");
        }

        scAnner.close();


输出结果:
清输入整数:
5
整数:5
清输入小数:
2.3
小数:2.3

总结(一个小程序)

要求:输入多个数字,并秋其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果。 代码如下:

//输入多个数字,并秋其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
        ScAnner scAnner = new ScAnner(System.in);
        double sum = 0.0D;
        int count = 0;
        System.out.println("请输入数字(任意非数字结束运行。Enter进行下一个输入):");
        while (scAnner.hasNextDouble()){
            double count1 = scAnner.nextDouble();
            sum = count1 + sum;
            count++;
            System.out.println("你输入了第:"+count+"个数据,当前的总和为:"+sum);
        }
        System.out.println(count+"个数字的总和:"+sum);
        System.out.println(count+"个数字的平均数为:"+(sum/count));
        scAnner.close();

输出结果:
请输入数字(任意非数字结束运行。Enter进行下一个输入):
9
你输入了第:1个数据,当前的总和为:9.0
6
你输入了第:2个数据,当前的总和为:15.0
4
你输入了第:3个数据,当前的总和为:19.0
5
你输入了第:4个数据,当前的总和为:24.0
x
4个数字的总和:24.0
4个数字的平均数为:6.0

大佬总结

以上是大佬教程为你收集整理的5.java基础-流程控制-Scanner对象全部内容,希望文章能够帮你解决5.java基础-流程控制-Scanner对象所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。