Java Scanner类:用户输入

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

 Scanner s = new Scanner(System.in); 

使用的方法有:

  • 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);

	}

}

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

二、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);
		}
	}

}

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

三、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);
		}
	}

}

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

四、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("您输入的不是整数");
		}
	}

}

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);
	}

}

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

猜你喜欢

转载自blog.csdn.net/weixin_46211269/article/details/125465120