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]
- 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;
}
}
}
}