键盘录入-Scanner
个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器
scanner可以录入的 布尔型\整数型 \string
但是不可以录入char
提示:以下是本篇文章正文内容,下面案例可供参考
一、使用步骤
1.引入库
代码如下(示例):
位置在class上面
import java.util.Scanner;
2.创建键盘录入对象
代码如下(示例):
Scanner scan = new Scanner(System.in);
//scan 是对象名,标识符 下面讲解方法会用到
//new是一个关键字 创建对象的一个引用数据类型的对象
3.通过对象获取数据
//例如获取是int型的数据
int num = scan.nextInt();
4.释放数据
scan.close();
//其实这个也可以不写,但是要有这中意识,等到学习IO流要必须关流的
Scanner方法
next()
String str = scan.next();
//表示读取键盘输入的一段字符串,遇见空格和换行结束
nextInt()
int num = scan.nextInt();
//录入int类型的整数,遇见空格和换行结束
nextLine()
String str = scan.nextLine();
//录入一行,遇见换行符结束
Scanner使用中的问题
Scanner在使用时的问题
在代码的上方使用nextInt() 接收数据,如果下方为nextLine(),就会出现,等你第一个数据接收完换行时,下面那个nextLine()也会输出,因为nextInt遇见空格和换行就会结束,而nextLine()方法只有遇见换行才会结束,那么就会出现问题.
代码示例:
Scanner sc = new Scanner(System.in);
System.out.println("请您输入一个数字 : ");
//录入数据
int num = sc.nextInt();
System.out.println("num = " + num);//100 "\r\n"
Scanner sc1 = new Scanner(System.in);
System.out.println("请您输入一段文字 : ");
//录入数据
String line = sc1.nextLine();
System.out.println("line = " + line);//你好 "\r\n"
总结
问题解决:
如果键盘录入需要同时录入基本数据类型和字符串类型的数据
-
方式一:
基本数据类型 用一个Scanner对象 字符串类型数据 用另一个Scanner对象:
-
方式二:
-
如果nextInt()方法下面是nextLine()方法,那么在中间加入一个nextLine()方法就好了(这个直接写 nextLine() ; 就好).