JavaSE-03scanner用户交互

Posted :Concerto

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE-03scanner用户交互相关的知识,希望对你有一定的参考价值。

JavaSE

三、scanner用户交互

  1. Demo1:最基本的scanner用法
       public static void main(String[] args) 
            //创建一个扫描器对象,用于接受键盘数据
            Scanner scanner = new Scanner(System.in);//new Scanner(System.in);alt+enter
            System.out.println("请输入(使用next方式接收):");

                //使用next方式接收
            String str = scanner.next();//程序会一直等待用户输入
            System.out.println("输入的内容为:"+str);

            //最后记得关闭scanner,凡是属于io流的类如果不关闭会一直占用资源,要养成好习惯用完就关闭
            scanner.close();
       
  1. Demo2:进阶一些用scanner方法nextLine
        public static void main(String[] args) 
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入(使用nextLine方式接收):");

            String str = scanner.nextLine();
            System.out.println("输入的内容为:"+str);

            //用完还是记得关闭
            scanner.close();

            /*
            总结一下:
            next和nextLine的区别:next以空白结束符,nextLine以回车为结束符
            例如:我打1 2 3,next只会输出1,nextLine就会输出1 2 3
             */
        
  1. Demo4:scanner进阶用法:scanner.hasNextInt/scanner.hasNextFloat()
        public static void main(String[] args) 
            Scanner scanner = new Scanner(System.in);

            //从键盘接收数据
            int i = 0;
            float f = 0.0f;

            System.out.println("请输入整数:");
            //如果...那么
            if(scanner.hasNextInt()==true)

                i = scanner.nextInt();
                System.out.println("整数数据:"+i);
            else
                System.out.println("你输入的不是整数数据");
            

            System.out.println("请输入小数:");
            if(scanner.hasNextFloat()==true)

                f = scanner.nextFloat();
                System.out.println("小数数据:"+f);
            else
                System.out.println("你输入的不是小数数据");
            

            scanner.close();
        

        /*
        总结下:
        ①new下scanner
        ②定义下属性
        ③两个判断:用上scanner.hasNextInt/scanner.hasNextFloat()方法
        ④if中:接收下,用上scanner.nextInt()/scanner.nextFloat()方法
        ⑤if...else
        ⑥关闭
         */
  1. Demo5:写一个计算输入数字总和的交互代码
      //我们可以输入多个数字,并求其总和和平均数,没输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
        public static void main(String[] args) 

            Scanner scanner = new Scanner(System.in);

            //和
            double sum = 0;
            //计算输入了多少个数字
            int m = 0;

            System.out.println("请输入数字:");
            //通过循环判断是否还有输入,并在里面对每一个进行求和和统计
            while (scanner.hasNextDouble()==true)
                double x = scanner.nextDouble();
                m = m +1 ;//或者写m++
                sum =sum + x;//或者写sum+ = x
                System.out.println("你输入了第"+m+"个数据,然后当前的结果为"+sum);
            

            System.out.println(m+"个数的和为"+sum);
            System.out.println(m+"个数的平均值是"+(sum/m));

            scanner.close();
        

             /*总结:
            ①while循环用起来
            ②初始定义,然后累计加总
             */

以上是关于JavaSE-03scanner用户交互的主要内容,如果未能解决你的问题,请参考以下文章

Java--用户交互Scanner

Java用户交互Scanner

Java用户交互Scanner

用户交互Scanner 2021-05-17

Java全栈JavaSE:7.用户交互scanner

用户交互scanner