主页 > 新闻资讯 > 大数据编程入门:Java Scanner类

大数据编程入门:Java Scanner类

作者:游老师 浏览次数: 2021-07-06 15:06
在Java中获取用户的输入,应该使用什么类呢?今天小编将为大家带来大数据编程入门:Java Scanner类。
Java.util.Scanner是Java5的一个新特性,我们可以通过Scanner类获取用户输入。
以下是创建scanner对象的基本语法:
Scanner s = new Scanner(System.in);
接下来,我们演示最简单的数据输入,并通过Scanner类的next()和nextline()方法获取输入字符串。在阅读之前,我们通常需要使用hasneat和hasNextLine来确定是否有任何输入数据:
1、使用next方法:
import java.util.Scanner;
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 从键盘接收数据
 
        // next方式接收字符串
        System.out.println("next方式接收:");
        // 判断是否还有输入
        if (scan.hasNext()) {
            String str1 = scan.next();
            System.out.println("输入的数据为:" + str1);
        }
        scan.close();
    }
}
运行结果:
 
可以看到在上面输出结果中com字符并未输出,接下来看如何使用nextLine。
2、使用nextLIne方法:
import java.util.Scanner;
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 从键盘接收数据
 
        // nextLine方式接收字符串
        System.out.println("nextLine方式接收:");
        // 判断是否还有输入
        if (scan.hasNextLine()) {
            String str2 = scan.nextLine();
            System.out.println("输入的数据为:" + str2);
        }
        scan.close();
    }
}
运行结果:
 
在上面的输出结果中可以看到com字符的输出。
3、next()和nextLine()之间的区别
next():
① 必须先读取有效字符,然后才能结束输入。
② next()方法将自动删除在输入有效字符之前遇到的空格。
③ 只有在输入有效字符后,输入的空格才会用作分隔符或终止符。
④ next()无法获取带空格的字符串。
nextLine():
① 以Enter结束,这意味着nextline()方法在输入回车之前返回所有字符。
② 可以得到一个空白。
如果要输入int或float类型的数据,scanner类中也支持它,但是,最好在输入之前使用hasNextXxx()方法进行验证,然后使用nextXxx()读取:
import java.util.Scanner;
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 从键盘接收数据
        int i = 0;
        float f = 0.0f;
        System.out.print("输入整数:");
        if (scan.hasNextInt()) {
            // 判断输入的是否是整数
            i = scan.nextInt();
            // 接收整数
            System.out.println("整数数据:" + i);
        } else {
            // 输入错误的信息
            System.out.println("输入的不是整数!");
        }
        System.out.print("输入小数:");
        if (scan.hasNextFloat()) {
            // 判断输入的是否是小数
            f = scan.nextFloat();
            // 接收小数
            System.out.println("小数数据:" + f);
        } else {
            // 输入错误的信息
            System.out.println("输入的不是小数!");
        }
        scan.close();
    }
}
运行结果:
 
在下面的示例中,我们可以输入多个数字,并计算它们的总和和平均值。每输入一个数字,按回车键确认,输入非数字结束输入输出执行结果:
import java.util.Scanner;
class RunoobTest {
    public static void main(String[] args) {
        System.out.println("请输入数字:");
        Scanner scan = new Scanner(System.in);
 
        double sum = 0;
        int m = 0;
 
        while (scan.hasNextDouble()) {
            double x = scan.nextDouble();
            m = m + 1;
            sum = sum + x;
        }
 
        System.out.println(m + "个数的和为" + sum);
        System.out.println(m + "个数的平均值是" + (sum / m));
        scan.close();
    }
}
运行结果(输入非数字结束输入):
 
以上就是关于大数据编程入门:Java Scanner类的全部内容了,希望这篇文章能够帮助到大家~
热点排行
推荐文章
立即申请>>