2020.12.08——JAVA流程控制—Scanner对象

JAVA流程控制

Scanner对象

  • java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。

  • 基本语法

Scanner s = new Scanner(systeam.in);
  • 通过Scanner类的next()与nextline()方法获取输入的字符串,在读取前使用hasNext()和hasNextLine判断是否还有输入的数据

        //创建一个扫描器对象,用于接收键盘数据
       Scanner s = new Scanner(System.in);
       System.out.println("使用next方式接收:");

       //判断用户是否输入字符串,输入111 222,回车
       if (s.hasNext()) {
           String str = s.next();
           System.out.println("next输入的内容为:" + str);//输出111
      }
       if (s.hasNextLine()) {
           String strlin = s.nextLine();
           System.out.println("nextLine输入的内容为:" + strlin);//输出111 222
      }
       s.close();
  • next()

    • 一定要读取到有效的字符串后才可结束输入

    • 对输入有效字符串之前的空格,next()方法会自动将其去掉

    • 只有输入有效字符后才将其后面的空格作为分隔符或者结束符

    • next()不能得到带有空格的字符串

  • nextline()

    • 以enter为结束符,也就是得到回车之前的所有字符

    • 可以获得空格

  • 简单的流程判断

        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 if (scanner.hasNextFloat()) {
           f = scanner.nextFloat();
           System.out.println("得到小数" + f);
      } else {
           System.out.println("输入的不是数字");
      }

       scanner.close();
  • 利用while进行循环判断,求和

        Scanner scanner = new Scanner(System.in);
       int n = 0;
       double sum = 0;

       System.out.println("请输入数字,结束请输入非数字");//依次输入1,2,3,a
       while (scanner.hasNextDouble()) {
           double d = scanner.nextDouble();
           n++;
           sum = sum + d;
      }
       System.out.println("个数为:" + n + ",总和为:" + sum);//个数为:3,总和为:6.0
       scanner.close();

 

posted @ 2020-12-08 14:42  叶不孤  阅读(51)  评论(0编辑  收藏  举报