Scanner
用户交互Scanner
基本语法
Scanner s = new Scanner(System.in);
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext() hasNextLine()判断是否还有输入的数据。
next():
1.一定要读取到有效字符后才可以结束输入。
2.对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4.next()不能得到带有空格的字符串。
Scanner scanner =new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断是否有输入
if(scanner.hasNext()){
//接收键盘输入
String str = scanner.next();
System.out.println("输出的文字为:"+str);
}
//关闭Scanner
scanner.close();
//假设输入“hello world”,只会输出hello。
nextLine():
1.以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
2.可以获得空白。
Scanner scanner =new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
//判断是否有输入
if(scanner.hasNextLine()){
//接收键盘输入
String str = scanner.nextLine();
System.out.println("输出的文字为:"+str);
}
//关闭Scanner
scanner.close();
//假设输入“hello world”,会输出全部。
获取不同类型的数据
int i = 0;
float f = 0.0f;
Scanner scanner =new Scanner(System.in);
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();
获取多个数据
Scanner scanner = new Scanner(System.in);
double sum =0;
int n =0;
System.out.println("请输入数据");
//通过while循环来获取多个数据
while (scanner.hasNextDouble()){
double x=scanner.nextDouble();
sum=sum+x;
n++;
System.out.println("已经接收了"+n+"个数据,和为"+sum);
}
scanner.close();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!