1,首先导入类
import java.util.Scanner;
2,创建Scanner类的对象
Scanner input = new Scanner(System.in);
此代码允许用户从System.in
读取数字:
3,用法:
1,next() 与 nextLine() 区别
//创建Scanner对象
Scanner input = new Scanner(System.in);
//使用字符接受信息
String str1=input.nextLine();
String str2=input.next();
//输出
System.out.println("str1="+str1);
System.out.println("str2="+str2);
next():
- 1、一定要读取到有效字符后才可以结束输入。
- 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next() 不能得到带有空格的字符串。
nextLine():
- 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
- 2、可以获得空白。
2,各种类型输入方法
使用str,next~进行输入确定
byte b = str.nextByte();//输入byte类型数据
short s = str.nextShort();//输入short类型数据
int i = str.nextInt();//输入int类型数据
long l = str.nextLong();//输入long类型数据
float f = str.nextFloat();//输入float类型数据
double d = str.nextDouble();//输入double类型数据
char c = str.next().charAt(0);//输入char类型数据
boolean bool = str.nextBoolean();//输入boolean类型数据
System.out.println("b=" + b);//输出byte类型数据
System.out.println("s=" + s);//输出入short类型数据
System.out.println("i=" + i);//输出入int类型数据
System.out.println("l=" + l);//输出long类型数据
System.out.println("f=" + f);//输出float类型数据
System.out.println("d=" + d);//输出double类型数据
System.out.println("c=" + c);//输出char类型数据
System.out.println("bool=" + bool);//输出boolean类型数据
如果输入错误会提示:
3,进行类型判断
使用hasNext~进行类型判断
System.out.print("输入整数:");
int i;
if (str.hasNextInt()) {
// 判断输入的是否是整数
i = str.nextInt();
// 接收整数
System.out.println("整数数据:" + i);
} else {
// 输入错误的信息
System.out.println("输入的不是整数!");
}
float f;
System.out.print("输入小数:");
if (str.hasNextFloat()) {
// 判断输入的是否是小数
f = str.nextFloat();
// 接收小数
System.out.println("小数数据:" + f);
} else {
// 输入错误的信息
System.out.println("输入的不是小数!");
}