Scanner对象
我们可以通过Scanner类来获取用户的输入
基本语法
Scanner s = new Scanner(System.in);- 通过Scanner类的 next() 与 nextLine() 方法获取输入的字符串,在读取前需要使用 **hasNext() 与 hasNextLine() ** 判断是否还有输入的数据。
1.hasNext()
- 一定要读到有效字符后才可以结束输入
- 对读到有效字符之前的空白,next方法会自动将其去掉
- 只有输入有效字符后才将其后的空白作为分隔符或结束符
- next不能得到带有空格的字符串
public class Demo01 { public static void main(String[] args) { //创建一个扫描器对象,用于接收键盘数据 Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:"); String str = scanner.next(); System.out.println("输入的内容为:" + str); scanner.close(); //属于IO流的类如果不关闭会一直占用资源 }}运行结果
2.hasNextLine()
- 以Enter为结束符,NextLine() 方法返回的是输入回车之前的所有字符
- 可以获得带有空格的字符串
public class Demo02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("使用nextLine方式接收:"); String str = scanner.nextLine(); System.out.println("输入的内容为:"+str); scanner.close(); }}运行结果
3.Scanner的进阶用法
public class Demo03 { 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(); }}运行结果

没有评论:
发表评论