我是靠谱客的博主 激情音响,最近开发中收集的这篇文章主要介绍java的Scanner类:用户交互,输入输出,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Scanner对象

java.util.Scanner

我们可以通过Scanner来获取用户的输入

基本语法:

	Scanner sc = new Scanner(System.in);

通过Scanner类的
next()/nextLine():获取输入的字符串
hasNext()/hasNextLine():判断是否还有输入数据

/*
System.out.println()//负责向控制台输出【从内存到控制台,输出的过程】
接收键盘输入【从键盘到内存,输入的过程】
*/
import java.util.Scanner;
public class KeyInputTest{
public static void main(String[] args){
//第一步:创建键盘扫描器对象
Scanner s=new Scanner(System.in);
//第二步:调用Scanner对象的next()方法,开始接收用户键盘输入
//程序执行到这里会停下来等下来等待用户的输入;
//当用户输入并且敲回车键的时候,键入信息就会赋值给userInputContent
//next()接收文本【以字符串的形式接收】
//nextInt()接收数字【以整数型int的形式接收】
String userInputContent = s.next();
System.out.println("您输入了:" + userInputContent + 100);
}
}
/*
//第一步:创建键盘扫描器对象
Scanner s=new Scanner(System.in);//需要在代码前导入java.util.Scanner包
//第二步:
String userInputContent = s.next();//字符串
或
int userIntputContent = s.nextInt();//数字
*/

next()方法接收字符串

package Scanner_test;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("使用next方法接受");
//判断用户有没有输入字符串
if(sc.hasNext()){
//sc.hasNext()默认为true
String str = sc.next(); //程序会等待用户输入完毕
System.out.println("输入的第一个内容为内容为:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关
sc.close();
}
}

运行结果:
使用next方法接受
hello world
输入的第一个内容为内容为:hello

进程已结束,退出代码 0

使用nextLine()方法接受


package Scanner_test;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("使用nextLine方法接受");
if(sc.hasNextLine()){
//sc.hasNextLine()默认为true
String str = sc.nextLine(); //程序会等待用户输入完毕
System.out.println("输入的第二个内容为内容为:"+str);
}
sc.close();
}
}

使用nextLine方法接受
hello wworld
输入的第二个内容为内容为:hello wworld

进程已结束,退出代码 0

next():
一定要读取到有效的字符后才可以结束输出
对于输入有效字符之前遇到的空白,next()会自动去除掉
只有输入有效字符后,才能将其后面输入的空白作为分隔符或者结束符
next()不能得到带有空格的字符串

nextLine():
以enter为结束符,也就是nextLine()方法返回的是输入回车之前的所有字符
可以获得空白

hasNextInt() //判断是否有输入的下一个整数
nextInt() //接收用户输入的整数
hasNextFloat() //判断是否有输入的下一个小数
nextFloat() //接收用户输入的小数

package Scanner_test;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
int i;
float f;
Scanner sc = new Scanner(System.in);
System.out.println("请输入整数");
if(sc.hasNextInt()){
//判断是否有输入的下一个整数
i = sc.nextInt();
//接收整数
System.out.println("整数数据"+i);
}else{
System.out.println("输入的不是整数");
}
if(sc.hasNextFloat()){
//判断是否有输入的下一个小数
f=sc.nextFloat();
//接收小数
System.out.println("小数数据"+f);
}else{
System.out.println("输入的不是小数");
}
}
}

例子

需求:
可以输入多个数字,并求其平均数,每输入一个数字用回车确认,通过非数字来结束输入并输出执行结果。

package Scanner_test;
import java.util.Scanner;
public class Demo05 {
/*需求:
可以输入多个数字,并求其平均数,每输入一个数字用回车确认,通过非数字来结束输入并输出执行结果。
*/
public static void main(String[] args) {
int count = 0;//计算输入数字的数量
double f;
int i;
double avg;
double sum=0;
Scanner sc = new Scanner(System.in);
System.out.print("请输入:");
while(sc.hasNextDouble() || sc.hasNextInt()){
//判断是否输入的是数字或小数
System.out.print("请输入:");
if(sc.hasNextInt()){
//如果是整数;
i=sc.nextInt();
sum=sum+i;
count++;
}else{
//如果是小数
f=sc.nextDouble();
sum=sum+f;
count++;
}
}
System.out.println("总和sum = "+sum);
avg=sum/count;
System.out.println("平均avg = "+avg);
}
}
package Scanner_test;
import java.util.Scanner;
public class Demo05 {
/*需求:
可以输入多个数字,并求其平均数,每输入一个数字用回车确认,通过非数字来结束输入并输出执行结果。
*/
public static void main(String[] args) {
int count = 0;//计算输入数字的数量
double f;
double avg;
double sum=0;
Scanner sc = new Scanner(System.in);
System.out.print("请输入:");
while(sc.hasNextDouble()){
//判断是否输入的是数字或小数
System.out.print("请输入:");
f=sc.nextDouble();
sum = sum+f;
count++;
}
System.out.println("总和sum = "+sum);
avg=sum/count;
System.out.println("平均avg = "+avg);
}
}

最后

以上就是激情音响为你收集整理的java的Scanner类:用户交互,输入输出的全部内容,希望文章能够帮你解决java的Scanner类:用户交互,输入输出所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部