Java流程控制-用户交互Scanner

Java流程控制

用户交互Scanner

Scanner对象

之前我们学的基本语法并没有实现程序和人的交互,Java给我们提供了一个工具类,可以获取用户的输入java.util.Scanner是Java5的新特征,我们通过Scanner类来获取用户的输入。

基本语法

Scanner s = new Scanner(System.in);
//创建一个扫描器scanner类对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);//new Scanner(System.in)
System.out.println("使用next方式接收");
//判断用户有没有输入字符串
if(scanner.hasNext()){//意思为如果对象有下一个 {
//使用next方式接收
    String str= scanner.next();//定义一个变量接收用户的输入
    System.out.println("输入的内容为:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,用完要关闭
scanner.close();

使用nextline方式接收用户输入

Scanner scanner = new Scanner(System.in);
System.out.println("使用Nextline方式接收");
if (scanner.hasNextLine()){
    String str=scanner.nextLine();
    System.out.println("输入的内容为:"+str);
}
scanner.close();

例子:判断输入的数据是否为整数

Scanner scanner = new Scanner(System.in);
int i=0;//定义i初始值
float f=0.0f;
System.out.println("请输入整数");
if(scanner.hasNextInt()){//判断用户是否有输入整数
    i=scanner.nextInt();//接收用户输入
    System.out.println("整数数据:"+i);//+是连接符
}
else {
    System.out.println("输入的不是整数数据");
}

scanner.close();

例子:输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果

Scanner scanner = new Scanner(System.in);
double sum=0;
int m=0;
while(scanner.hasNextDouble()){
    double x=scanner.nextDouble();
    m++;
    sum=sum+x;
    System.out.println("你输入了第"+m+"个数据,当前结果sum="+m);
}
System.out.println(m+"各个数字的和为:"+sum);
System.out.println(m+"各个数字的平均数为:"+sum/m);

scanner.close();

posted @ 2022-08-07 17:40  Fred不想做咸鱼  阅读(60)  评论(0)    收藏  举报