Java中Scanner类的使用

Java Scanner 类

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

下面是创建 Scanner 对象的基本语法:

Scanner s = new Scanner(System.in);

接下来我们演示一个最简单的数据输入,并通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用 hasNext 与 hasNextLine 判断是否还有输入的数据:

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		
		System.out.println("next方法接收:");
		
		//判断是否还有输入
		if(scan.hasNext()){
			String str = scan.next();
			System.out.println("输入的数据为:"+str);
			
		}
		System.out.println("nextLine方法接收:");
		if(scan.hasNextLine()){
			String str = scan.nextLine();
			System.out.println("输入的数据为:"+str);
		}
		scan.close();

	}

next() 与 nextLine() 区别

next():

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

nextLine():

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

想要输入int与float类型我们就是用另外的方法了:

public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		
		int i = 0;
		float f = 0.0f;
		
		//从键盘输入整数
		System.out.println("请输入整数:");
		if(scan.hasNextInt()){
			i = scan.nextInt();
			System.out.println("输入的整数为:"+i);
		}else{
			System.out.println("错误的数据!");
			
		}
		
		//从键盘输入小数
		System.out.println("请输入小数:");
		if(scan.hasNextFloat()){
			f = scan.nextFloat();
			System.out.println("输入的小数为:"+f);
		}else{
			System.out.println("错误的数据!");
		}

	}

 

你可能感兴趣的:(Java)