2022/4/15 JavaDay07

用户交互Scanner对象

基本语法:

Scanner s =new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据

 package com.sundada.scanner;
 ​
 import java.util.Scanner;
 ​
 public class Demo01 {
     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);
 //            使用next方式接收
 //            hello world
 //            输入的内容为hello
         }
         //凡是IO流如果不关闭会一直占用资源
        scanner.close();
     }
 }
 package com.sundada.scanner;
 ​
 import java.util.Scanner;
 ​
 public class Demo02 {
     public static void main(String[] args) {
         Scanner scanner = new Scanner(System.in);
         System.out.println("使用nextline方式接收:");
         System.out.println("=====================");
         //System.out.println("\n");//换行
         //判断用户有没有输入字符串
         if (scanner.hasNextLine()) {
             //使用nextLine方式接收
             //用回车为结束符
             String str = scanner.nextLine();
             System.out.println("输入的内容为" + str);
         }
         scanner.close();
     }
 }
 Scanner scanner = new Scanner(System.in);//=cin
 package com.sundada.scanner;
 ​
 import java.util.Scanner;
 ​
 public class Demo03 {
     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 com.sundada.scanner;
 ​
 import java.util.Scanner;
 ​
 public class Demo04 {
     public static void main(String[] args) {
         Scanner scanner = new Scanner(System.in);//=cin
 ​
         //键盘接收数据
         int i =0;
         float f = 0.0f;
         System.out.println("请输入数据:");
         if(scanner.hasNextInt()){
             i=scanner.nextInt();
             System.out.println("整数数据:"+i);
         }else if(scanner.hasNextFloat()){
             f=scanner.nextFloat();
             System.out.println("小数数据:"+f);
         }
 ​
     }
 }
 package com.sundada.scanner;
 ​
 import java.util.Scanner;
 ​
 public class Demo05 {
     public static void main(String[] args) {
         //我们可以输入多个数字,并求其总和与平均数,没输入一个数字用回车确认,通过输入非数字结束输入并输出执行结果
         Scanner scanner=new Scanner(System.in);
 ​
         //和
         double sum=0;
         //计算输入了多少数字
         int m =0;
         //通过循环判断是否输入,并在里面进行一次求和统计
         System.out.println("请输入数字:");
         System.out.println("输入end结束");
         while (scanner.hasNextDouble()){
             double x= scanner.nextDouble();
             m++;
             sum=sum+x;
             System.out.println("当前结果为:"+sum);
 ​
         }
         System.out.println(m+"个数和为"+sum);
         System.out.println(m+"个数的平均值是"+(sum/m));
         scanner.close();
     }
 }
posted @ 2022-04-15 18:11  Unclesundada  阅读(24)  评论(0)    收藏  举报