Java Scanter 类

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

创建对象

Scanter sc = new Scanter(System.in)

获取字符串:

 我们可以通过Scanner 类 的 next()  nextLine()  方法获取输入的字符串,在获取之前可以使用hasXXXX来判断是否还有输入的数据

package com.cn.main;

import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		//从键盘接收对象
		Scanner sc = new Scanner(System.in);
                //判断是否还有输入可以用来检查是否有非空字符对象
		if(sc.hasNext()){                   
			String c = sc.next();
			System.out.println(c);
		}
	}
}

如果输入为空格则sc.hasNext()等于False没有任何输出。 

package com.cn.main;

import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
                //从键盘接收对象
		Scanner sc = new Scanner(System.in);
                //检查是否有输入对象
		if(sc.hasNextLine()){               
			String d = sc.nextLine();
			System.out.println(d);
		}
	}
}

如果输入为空格则sc.hasNextLine()等于True直接输出空格。 

                                              next() 与 nextLine() 区别
next()nextLine()
一定要读取到有效字符后才可以结束输入以Enter为结束符
对输入有效字符之前遇到的空白,会自动将其去掉返回的是输入回车之前的所有字符
不能得到带有空格的字符串可以获得空白
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符(while循环) 

在读取前我们一般需要使用hasNext 或hasNextLine 判断是否还有输入的数据hasNext 检查是否有非空字符hasNextLine 检查输入中是否还有LinePattern。

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

package com.cn.main;

import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		//从键盘接收对象
		Scanner sc = new Scanner(System.in);
		float a = 0.0f;
		int b=0;
		//判断是否是整数
		if(sc.hasNextInt()){
			b = sc.nextInt();
			System.out.println("int"+b);
		//判断是否是小数
		}else if(sc.hasNextFloat()){
			a=sc.nextFloat();
			System.out.println("float"+a);
		//其他类型数据
		}else {
			System.out.println("error");
		}
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值