一、Scanner类
可以获取用户的输入
用法:
Scanner s = new Scanner(System.in);
通过scanner类的next()与nextLine()方法获取输入的字符号,
在读取前一般需要使用hasNext()与hasNextLine()判断是否还有输入数据
//创建一个扫描对象,用于接收键盘的数据
Scanner scanner =new Scanner(System.in);
if(scanner.hasNext()){ //判断用户有没有输入的字符串
String str =scanner.next(); //用于接收数据
System.out.println("输入内容为"+str);
scanner.close(); // I/o类占用资源,用完关掉
next()与nextLine()的区别:
next()
1、一定要读取有效字符后才可以结束
2、对输入有效的字符前遇到的空白,next()方法会自动将其去掉
3、只有输入有效字符后才能将其后面输入的空白作为分割符或者结束符
4、next()不能带有带有空格的字符串
nextLine()
以enter为结束符,也就是说nextLine()方法返回的值可以输入空格
用Scanner 输入整数
i=scanner.nextInt();
输入一个数
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("输入的数不是小数");
}
输入多个数字,并求总和与平均值,每输入一个数回车确认,通过输入非数字来结束输入并输出执行结果
double sum = 0;
int m = 0;
System.out.println("请输入数值:");
Scanner scanner=new Scanner(System.in);
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
m++;
sum+=x;
System.out.println("请输入第"+m+"个值:"+x+",然后和为:"+sum );
}
System.out.println(m+"个数的和为"+sum+",平均值为"+(sum/m));
scanner.close();