Scanner类
在java中,数据需要用户输入时,需要调用java提供的Scanner类
基本语句:Scanner s = new Scanner(System.in);
例如:键盘录入三个数据并获取最大值
package demo01; import java.util.Scanner; public class Demo01Scanner { public static void main(String[] args) { // 创建对象备注:System.in 系统输入指的是通过键盘录入数据。 Scanner sc = new Scanner(System.in); //接收数据 System.out.println("请输入第一个数字"); int a = sc.nextInt(); System.out.println("请输入第二个数字"); int b = sc.nextInt(); System.out.println("请输入第三个数字"); int c = sc.nextInt(); //输出调用 System.out.println("您输入最大值是" + max(a, b, c)); } //// 定义获取三个数据的最大值的方法 public static int max(int a, int b, int c) { // 三元运算符获取三个数据的最大值 int temp = a > b ? a : b; int max = temp > c ? temp : c; return max; } }
Scanner类的常用方法
next():只读取输入直到空格。它不能读两个由空格或符号隔开的单词。此外,next()在读取输入后将光标放在同一行中。(next()只读空格之前的数据,并且光标指向本行)
nextLine():读取输入,包括单词之间的空格和除回车以外的所有符号(即。它读到行尾)。读取输入后,nextLine()将光标定位在下一行。
代码演示:
public class Text { public static void main(String []args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个字符串(中间能加空格或符号)"); String a = input.nextLine(); System.out.println("请输入一个字符串(中间不能加空格或符号)"); String b = input.next(); System.out.println("请输入一个整数"); int c; c = input.nextInt(); System.out.println("请输入一个double类型的小数"); double d = input.nextDouble(); System.out.println("请输入一个float类型的小数"); float f = input.nextFloat(); System.out.println("按顺序输出abcdf的值:"); System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); System.out.println(f); } }
运行结果:
请输入一个字符串(中间能加空格或符号) 我爱祖国! 请输入一个字符串(中间不能加空格或符号) ILoveChina 请输入一个整数 520 请输入一个double类型的小数 12.26e3 请输入一个float类型的小数 3.1415926 按顺序输出abcdf的值: 我爱祖国! ILoveChina 520 12260.0 3.1415926
代码演示:
public class inputInformation { public static void main(String args[]) { Scanner scan = new Scanner(System.in); //构造Scanner类的对象scan,接收从控制台输入的信息 System.out.println("请输入你的姓名"); String name = scan.nextLine();//接收一个字符串,可以加除Enter以外的所有符号,包括空格和Tab System.out.println("请输入你的ID"); String ID ; while(scan.hasNextLine()) {// hasNextLine()方法判断当前是否有输入,当键盘有输入后执行循环 if(scan.hasNextInt()) { // 判断输入的值是否为整数类型,当为整数类型时执行循环 ID = scan.nextLine(); System.out.println("你输入的姓名为:"+name); System.out.println("你输入的ID为:"+ID); break; }else { System.out.println("请输入数字哦!"); ID = scan.nextLine(); continue; } } } }
运行结果:
请输入你的姓名
西地那非
请输入你的ID
q764323221
请输入数字哦!
764323221