Scanner类

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

 

原文地址:https://www.cnblogs.com/qq1312583369/p/10869712.html