用户交互scanner
实现程序和人的交互
//创建扫描器对象,接受键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收");
//判断用户有没有输入字符串
if (scanner.hasNext()){
String str = scanner.next();//程序会等待输入
System.out.println("输出内容:"+str);
}
scanner.close();
next方式接收不能接收空格以外的字符串,以空格为结束符。但是nextLine 可以接受,以回车键判断输入结束。
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
if (scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输出内容"+str);
}
scanner.close();
使用nextLine方式接收:
asdas asdas
输出内容asdas asdas
if 判断语句可以去掉
Scanner scanner = new Scanner(System.in);//开始语句
System.out.println("输入数据:");
String str = scanner.nextLine();
System.out.println("输出内容"+str);
scanner.close();//结束语句
输入小数scanner写法
Scanner scanner = new Scanner(System.in);
//从键盘接收数据
int a = 0;
float b = 0.0f;
System.out.println("请输入整数");
if (scanner.hasNextInt()) {
a = scanner.nextInt();
System.out.println("输入数据:" +a);
}
else {
System.out.println("不是整数");
}
System.out.println("请输入小数");
if (scanner.hasNextFloat()) {
b = scanner.nextFloat();
System.out.println("输入数据:" +b);
}
else {
System.out.println("不是整数");
}
scanner.close();
应用
求和,平均值
ctrl+左键进入类
点structure
Scanner scanner = new Scanner(System.in);
int m = 0;
double num = 0;
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
m = ++m;
num = num + x ;
}
System.out.println("求和"+num);
System.out.println("平均数"+ (num/m));
scanner.close();