2021-3-1# java流程控制

用户交互Scanner

  1. 通过Scanner类来获取用户输入(java.util.Scanner)

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

  3. next()不能接收有空格的字符串,读到有效字符后才会结束,自动去掉有效字符前的空格

  4. nextLine()以Enter为结束符,接收Enter回车之前的字符,可以有空格

  5. 基本语法

    public class Demo{
          
          
        public static void main(String[] args){
          
          
            //创建一个扫描对象,用于接收键盘数据
            Scanner scanner = new Scanner(System.in);
          
            System.out.println("接收数据");
            //判断用户有没有输入字符串
            if(scanner.hasNext()){
          
          
                //使用next方式接收
                String str = scanner.next();
                System.out.println("输出的内容为:"+str);
            }  
            //凡是属于IO流的类如果用完不关闭会一直占用资源,养成好习惯用完要关掉
            scanner.close();
        }
    }
    

Scanner进阶使用

  1. import java.util.Scanner;
    
    public class Demo {
          
          
    	//通过输入多个数字计算和与平均值,每个数字用回车键确认,通过输入非数字来结束输入
    	public static void main(String[] args) {
          
          
    		Scanner scanner = new Scanner(System.in);
    		//和
    		double sum = 0;
    		//计算输入了多少个数字
    		int m = 0;
    		//通过循环判断是否还有输入,并在里面对每一次进行求和统计
    		while(scanner.hasNextDouble()){
          
          	
    			double x = scanner.nextDouble();
    			m = m+1;//m++
    			sum=sum+x;
    		}
    		
    		System.out.println(m+"个数的和为"+sum);
    		System.out.println(m+"个数的平均数是"+sum/m);		
    		scanner.close();
    	}
    }
    		
    
  2. import java.util.Scanner;
    
    public class Demo02 {
          
          
    
    	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("输入的不是整数数据!"+i);
    
    		}
    		
    		System.out.println("请输入小数:");
    		
    		//如果...那么...
    		if(scanner.hasNextFloat()){
          
          
    			f = scanner.nextFloat();
    			System.out.println("小数数据:"+f);
    		}else{
          
          
    			System.out.println("输入的不是小数数据!"+f);
    		}
    	}
    }
    
    

猜你喜欢

转载自blog.csdn.net/qq_52332852/article/details/114248920