①
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
/*
next():
1、一定要读取到有效字符后才可以结束输入。
2、对输入有限字符之前遇到的空白,next()方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
4、next()不能得到带有空格的字符串
nextLine():
1、以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白.
*/
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner1=new Scanner(System.in);
//显示提示信息
System.out.println("请输入信息");
//判断用户有没有输入字符串
if(scanner1.hasNext()){
//使用next方式接收
String str1=scanner1.next();
System.out.println("输出的内容为:"+str1);
}
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner2=new Scanner(System.in);
//显示提示信息
System.out.println("请输入信息:");
//判断用户有没有输入字符串
if (scanner2.hasNextLine()) {
//使用nextLine方式接收
String str2=scanner2.nextLine();
System.out.println("输入的内容为:"+str2);
}
//关闭流
scanner1.close();
scanner2.close();
}
}
运行结果:
请输入信息
hello world
输出的内容为:hello
请输入信息:
hello world
输入的内容为:hello world
②
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
//if else语句与scanner结合
Scanner scanner1=new Scanner(System.in);
System.out.println("请输入整数:");
if(scanner1.hasNextInt()){
int i=scanner1.nextInt();
System.out.println("输入的整数数据:"+i);
}else{
System.out.println("输入的不是整数!");
}
//if else语句与scanner结合
Scanner scanner2=new Scanner(System.in);
System.out.println("请输入小数:");
if(scanner2.hasNextFloat()){
float f=scanner2.nextFloat();
System.out.println("输入的小数数据:"+f);
}else{
System.out.println("请输入小数数据!");
}
//关闭流
scanner1.close();
scanner2.close();
}
}
运行结果:
请输入整数:
45
输入的整数数据:45
请输入小数:
12
输入的小数数据:12.0
③
import java.util.Scanner;
public class Demo3 {
//我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车键确定,通过输入非数字来结束输入并执行结果:
public static void main(String[] args) {
double sum=0;
int count=0;
Scanner scanner=new Scanner(System.in);
while(scanner.hasNextDouble()){
double x=scanner.nextDouble();
count++;
sum+=x;
}
System.out.println(count+"个数的和为:"+sum);
System.out.println(count+"个数平均值为:"+(sum/count));
scanner.close();
}
}
运行结果:
12
45
85
56
625
898
j
6个数的和为:1721.0
6个数平均值为:286.8333333333333