• Java Scanner类:用户输入


    JAVA的输入需要导入Scanner类,以下是几个学习例子。在使用它的时候,需要创建一个对象,语法:

     Scanner s = new Scanner(System.in); 
    
    • 1

    使用的方法有:

    • next 方法

    一、奇偶数判断(nextInt方法)

    import java.util.Scanner; //一定要导入包!
    public class test4 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner sc= new Scanner(System.in);
    		System.out.println("输入数据:");	
    		//多行输入
    		int n = sc.nextInt(); //必须为数字
    		String check=(n%2==0)?"偶数":"奇数";
    		System.out.println(check);
    
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    演示:
    在这里插入图片描述

    二、next使用

    确保用户已经输入,并输出用户的内容:

    import java.util.Scanner;
    public class test5 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner sc=new Scanner(System.in);
    		System.out.println("请输入字符串:");
    		//hasnext用于确保已经接收
    		if(sc.hasNext())
    		{
    			String check=sc.next();
    			System.out.println("输入内容为:"+check);
    		}
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    演示:
    在这里插入图片描述

    三、nextLine使用

    import java.util.Scanner;
    public class test7 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner sc= new Scanner(System.in);
    		System.out.println("请输入内容:");
    		// 判断是否还有输入
    		if(sc.hasNextLine()) {
    			String s=sc.nextLine();
    			System.out.println(s);
    		}
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    演示:
    在这里插入图片描述

    四、next()与nextLine()区别

    next():

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

    nextLine():

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

    4.1整数输入

    如果要输入int或float类型的数据,在Scanner类中也有支持,但是在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取。这里以输入int为例:

    import java.util.Scanner;
    public class test8 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int s=0;
    		System.out.print("输入整数:");  
    		Scanner sc=new Scanner(System.in);
    		if(sc.hasNextInt())
    		{
    			s = sc.nextInt();
    			System.out.println(s);
    		}
    		else
    		{
    			System.out.println("您输入的不是整数");
    		}
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    4.2多个值输入

    计算累加和与平均值:(最后通过字符输入结束循环)

    import java.util.Scanner;
    public class test9 {
    
    	public static void main(String[] args) {
    		//创建对象
    		Scanner sc=new Scanner(System.in);
    		//声明变量
    		int m=0;
    		int sum=0;
    		while(sc.hasNextFloat())
    		{
    			float i=sc.nextFloat();//输入传递给i
    			sum+=i;//计算累计和
    			m=m+1;//计算个数
    		}
    		System.out.println("累计和为:"+sum);
    		System.out.println("平均值为:"+sum/m);
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    演示L:
    在这里插入图片描述

  • 相关阅读:
    Spring Cloud 之OpenFeign
    集成腾讯乐享连接更多应用
    mybatis中#与$的区别
    mybatis之主键返回
    归并排序和计数排序
    加密技术1
    eyb:注销登录到职位管理批量删除功能实现(二)
    OpenStack云计算平台实战-----创建空白虚拟机
    这些比较前沿的设计网站,你知道吗?
    Redis Cluster Gossip Protocol: FAIL, UPDATE
  • 原文地址:https://blog.csdn.net/weixin_46211269/article/details/125465120