用户交互Scanner

我们可以通过Scanner实现程序与人的交互,Scanner是Java5的性特征,我们可以通过Scanner 类获取用户的输入

基本语法

 Scanner s = new Scanner(System.in);

通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串

在读取前我们一般需要使用 hasNext() 与 hasNextLine() 判断是否还有输入的数据。

 

实验例子:

使用Next()方法

 public class Demo01 {
     public static void main(String[] args) {
 
         //创建一个扫描对象,用来收集键盘的数据
 
         Scanner scanner = new Scanner(System.in);
 
         System.out.println("使用next方式接收:");
 
         //判断用户是否输入数据
         if (scanner.hasNext()){
             //使用next方式接收
             String str = scanner.next();  //等待用户输入完毕
             System.out.println("输入的内容为:"+str);
        }
 
         //凡是属于I/O流的类必须使用完毕后关闭,防止资源浪费
         scanner.close();
 
    }
 }
 
 
 

使用NextLine()方法

 import java.util.Scanner;
 
 public class Demo02 {
     public static void main(String[] args) {
 
         //从键盘接收数据
         Scanner scanner = new Scanner(System.in);
 
         System.out.println("使用nextLine方式接收:");
 
         //判断是否还有要输入的数据
         if (scanner.hasNextLine()){
             //进行接收数据
             String str = scanner.nextLine();
 
             System.out.println("输入的内容为:"+str);
        }
         scanner.close();
    }
 }

不使用hasNext等判断

 import java.util.Scanner;
 
 public class Demo03 {
     public static void main(String[] args) {
         Scanner scanner = new Scanner(System.in);
 
         System.out.println("请输入数据:");
 
         //我们是可以不使用 hasNext 或 hanNextLine() 判断的
         String str = scanner.nextLine();
 
         System.out.println("输出的内容为:"+str);
 
         scanner.close();
 
    }
 }

 

 

Scanner对象

next()

  • 一定要读取到有效数据才可以结束输入

  • 再得到有效字符之前的空格,会无视掉

  • 只有得到有效字符后,才可以将空白作为结束符

  • next()不能接收还有空格的字符串

 

nextLine() (常用)

  • 可以以回车作为结束符,表示可以获取所有字符,包括空白

posted @ 2022-02-06 10:29  践行践远  阅读(41)  评论(0)    收藏  举报