Java流程控制之Scanner

用户交互Scanner

java.util.scanner包获取用户的输入

Scanner s = new Scanner(System.in);

next()nextline()方法获取输入的字符串

在读取前一般需要用hasNext()hasNext()判断是否还有输入的数据

next不能得到带有空格的字符串 nextline可以

public class Demo1 {
    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);
        }
        //凡是属于IO流的类如果不关闭就会一直占用资源,要养成良好的习惯,用完就关掉
        scanner.close();
    }
}
public class Demo2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);//new scanner(system.in)后alt+回车
        System.out.println("使用nextline方式接收:");

       if (scanner.hasNextLine()){
           String str = scanner.nextLine();
           System.out.println("输入的字符串为:"+str);
       }
       scanner.close();

    }
}
public class Demo5 {
    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;
            sum = sum + x;
        }

        System.out.println(m + "个数字和为:" + sum);
        System.out.println("平均数为:"+ (sum/m));

        scanner.close();
    }
}
posted @ 2025-02-25 08:28  花灵上  阅读(14)  评论(0)    收藏  举报