Scanner(File source)  构造一个新的 Scanner,它生成的值是从指定文件扫描的。

备注:实现了Iterable接口

 

package june6D;

 

import java.io.File;

import java.io.PrintStream;

import java.util.Scanner;

 

public class ScannerDemo18 {

    public static void main(String[] args) throws Exception {

 

        // 参照api

        Scanner sc = new Scanner(System.in);// 从键盘输入

        // int i = System.in.read();

        /*  连着进行了三次,没有完成的话不停止运行

            System.out.println(sc.next());                                                                                                                                       System.out.println(sc.next());

         *  System.out.println(sc.next());

         */

        System.setOut(new PrintStream("Scanner.txt"));// 流的重定向(打印到哪里)

        sc = new Scanner(new File("copy6.4"));// 扫描位置

        int line = 1;

        while (sc.hasNextLine()) {// 是否有下一行 //一行一行的读取,这样的话格式好看

            System.out.println(line + " " + sc.nextLine());// 读取下一行

            line++;

        }

    }

}

 

例子:

猜数字游戏:

1. 系统随机生成一个数字[1,100];

2. 从键盘录入一个数字,[1,100]

  1. 3.  判断输入的数字和随机数比较:

    随机数 > 输入数:你输入太小了

随机数 < 输入数:输入太大了

随机数 = 输入数: 恭喜哦

 

思考:先想怎么生成一个随机数;然后怎么在键盘中录入一个随机数,第三步就是比较了;但是注意的是:需要确保输入的数据为数字,而且有范围的限制!

 

 

package july7file;

 

import java.util.Random;

import java.util.Scanner;

 

public class Demo12 {

    public static void main(String[] args) {

       

        guess();

    }

   

    public static void guess(){

        int i = new Random().nextInt(100)+1;

       

        System.out.println(i);

        System.out.println("请输入随机数来匹配,您有五次机会!");

        Scanner sc = new Scanner(System.in);//键盘录入

       

        for (int j = 0; j < 5; j++) {

            String s = sc.nextLine();

           

            if(!s.matches("\\d+")){

                System.out.println("请确认您输入的是数字");

                break;

            }

            Integer in = new Integer(s);

            if(in > 100 | in < 0){

                System.out.println("请确认您输入的数字在0到100之间!");

            }

           

            switch (in.compareTo(i)) {

            case 1:

                System.out.println("您输入的数字过大!");

                System.out.println("请输入:");

                break;

               

            case -1:

                System.out.println("您输入的数字过小!");

                System.out.println("请输入:");

                break;

 

            default:

                System.out.println("恭喜您,您输入的数字正好匹配!");

                return;

            }

        }

    }

}