java交互Scanner对象

java交互的Scanner对象

通过Scanner类的next()与nextLine()方法获取输入 字符串,在读取前一般使用hasNext()与hasNextLine()判断是否含有输入的数据

package com.yuanyu.study;

import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收键盘数据
       Scanner scanner= new Scanner(System.in);

       System.out.println("使用next方式接收:");

       //判断用户有无输入字符串
        if (scanner.hasNext()){
            String str=scanner.next();
            System.out.println("输入的内容为:"+str);
        }
      
		
//        System.out.println("please input:");
//        if (scanner.hasNextLine()){
//            String str=scanner.nextLine();
//            System.out.println("Your input is:"+str);
      
      
        scanner.close(); //属于I/O的资源使用完关闭防止占用
      
    }
}

next():

  1. 会自动去掉有效字符前的空格

  2. 只有输入有效字符才能将其后输入的空格作为分隔符或结束符

  3. 不能得到含有空格的字符串

nextLine():

  1. 以Enter为结束符即返回回车前输入的所有字符

  2. 可以获取空格

Scanner也可以捕获int、float、...等类型

package com.yuanyu.study;

import java.util.Scanner;

public class Demo05 {
    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()){
            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();
    }
}

建议在新建程序结束后引入main()后第一步是写好

Scanner scanner=new Scanner(System.in);

//代码块

scanner.close();

java Scanner小作业

要求:输入多个数字,求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出结果;

package com.yuanyu.study;

import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);

        System.out.println("请输入一组数据:");

        double sum=0; //初始化数据总和为0;
        int n=0; //初始化数据个数为0;

        while (scanner.hasNextDouble()){
            double d=scanner.nextDouble(); //用while循环判断下一个是否为数字,若是数字则传入d,若不是数字则循环结束;
            sum+=d;
            n++;
            System.out.println("第"+n+"个数的和为"+sum);
        }
        System.out.println("该数据的总和为:"+sum);
        System.out.println("该数据的平均数为:"+(sum/n));

        scanner.close();
    }
}

java交互Scanner对象

上一篇:蓝桥杯 基础练习 JAVA 6 杨辉三角形


下一篇:Java学习笔记——三、数据输入