Scanner
基本语法
Scanner s=new Scanner(System.in);
next()—按空格或者回车结束
- 一定要读取到有效字符后才能结束
- 后续空格后的就不在计算在内
- 不能得到有空格的字符串
package JAVA.Scanner;
import java.util.Scanner;
public class demo1 {
public static void main(String[] args) {
//创建一个扫描器对象 用于接受键盘数据
Scanner scanner= new Scanner(System.in);
System.out.println("使用next方式接收");
//判断用户有没有输入字符串
if (scanner.hasNext()){
//使用next方式接收
String str=scanner.next();//程序会等待用户输入完毕
System.out.println("输入的内容为 "+str);
}
//凡是属于IO流的类 如果不关闭就会一直占用资源 要养成好习惯用完就关闭
scanner.close();
}
}
nextLine()-----按回车才结束
- 可以获得空格
- 以Enter作为结束符
package JAVA.Scanner;
import java.util.Scanner;
public class demo2 {
public static void main(String[] args) {
//创建一个扫描器对象 用于接受键盘数据
Scanner scanner=new Scanner(System.in);
System.out.println("使用nextLine方式接受");
//判断用户有没有输入字符串
if(scanner.hasNextLine()){
String str=scanner.nextLine();
System.out.println("输入的内容 "+str);
}
scanner.close();
}
}
一般使用方法
package JAVA.Scanner;
import java.util.Scanner;
public class demo3 {
public static void main(String[] args) {
//创建一个扫描器对象 用于接受键盘数据
Scanner scanner=new Scanner(System.in);
System.out.println("请输入数据");
//判断用户有没有输入字符串
String str=scanner.nextLine();
System.out.println("输入的内容 "+str);
scanner.close();
}
}
判断整数或者浮点数
package JAVA.Scanner;
import java.util.Scanner;
public class demo4 {
public static void main(String[] args) {
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("你输入的不是浮点数据!");
}
//-----------------------------------------------------
scanner.close();
}
}
计算输入数字个数和平均数
package JAVA.Scanner;
import java.util.Scanner;
public class demo5 {
public static void main(String[] args) {
//我们要输入多个数字 同时求总和和平均数 以回车确定 通过输入非数字来结束输入 并且输出结果
Scanner scanner = new Scanner(System.in);
double sum=0.0;//和
int m=0; //计算输入了多少数字
//-----------------------------------------------------
System.out.println("开始输入");
//通过循环判断是否还有输入 并且在里面对每一次进行求和进行统计
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
m++;//计算有几个数字
System.out.println("你输入了第"+m+"个数据");
sum=sum+x;//计算和
}
//-----------------------------------------------------
System.out.println(m+"个数的和"+sum);
System.out.println(m+"个数的和"+(sum/m));
scanner.close();
}
}