Scanner类介绍

Scanner类是在Java5中加入的新特性,主要是用来接收用户所输入的内容,基本语法如下

Scanner scan = new Scanner(System.in);

Scanner类的两种方法

next方法

import java.util.Scanner;

public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("next方式接收:"); 
        
        if (scan.hasNext()) {
            String num = scan.next();
            System.out.println("输入的数据为:"+num);
        }
        scan.close();
    }
}

输出结果如下:

next方式接收:
kk03 cn
输入的数据为:kk03

可以看到我们输入的kk03 cn,但是最后输出的是kk03。

nextline方法

import java.util.Scanner;

public class ScannerDemo2 {
    public static void main (String[] args){
        Scanner scan = new Scanner(System.in);
        System.out.println("nextLine方式接收:");
        if (scan.hasNextLine()){
            String num = scan.nextLine();
            System.out.println("输入的数据为:"+num);
        }
        scan.close();
    }
}

输出结果如下:

nextLine方式接收:
kk03 cn
输入的数据为:kk03 cn

这时可以看到cn被出现了
20210427.JPG

输入和输出

输出

我们总是使用如下代码向屏幕输出一些我们想要输出的内容

System.out.println();

println是print line的缩写,表示输入后换行,所以,如果写成print(),将不再换行
java输出中有格式化输出功能,格式化输出使用System.out.printf(),通过占位符%?,

public class Main {
    public static void main(String[] args) {
        double d =3.1415926;
        System.out.printf("%.2f\n",d); //显示两位小数3.14
        System.out.printf("%.4f\n",d); //显示4位小数3.1416
    }
}
占位符说明
%d格式化输出整数
%s格式化输出十六进制整数
%f格式化输出浮点数
%e格式化输出科学计数法表示的浮点数
%s格式化字符串
%%表示%

输入

请帮小明同学设计一个程序,输入上次考试成绩(int)和本次考试成绩(int),然后输出成绩提高的百分比,保留两位小数位(例如,21.75%)。

import java.util.Scanner;
public class XiaoMing {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输出上次考试的成绩:");
        int achievement = scanner.nextInt();
        System.out.print("请输入本次的考试成绩:");
        int achievement2 = scanner.nextInt();
        double a = ((double)achievement2 - achievement) / achievement * 100;
        System.out.printf("你上次的成绩为:%s\n你本次的成绩为:%s\n 一共提高了:%.2f%%",achievement,achievement2,a);
    }
}

Java提供的输出包括:System.out.println() / print() / printf(),其中printf()可以格式化输出;

Java提供Scanner对象来方便输入,读取对应的类型可以使用:scanner.nextLine() / nextInt() / nextDouble() / ...

最后修改:2021 年 06 月 20 日 06 : 40 PM
如果觉得我的文章对你有用,请随意赞赏