java中,当我们需要使用键盘输入的时候,就要使用Scanner类了,当然我们也可以自定义Scanner类,前提是我们在声明一个Scanner类的时候,传进去的参数要实现了Readable接口。
下面是我测试的一个小例子,它的作用是随机生成五行char字符,每一行只有一个字符。
import java.nio.CharBuffer;
import java.util.Random;
import java.util.Scanner;
class myInput implements Readable{
private static Random rand=new Random();
private int count=0;
public myInput(int count){
this.count=count;
}
@Override
public int read(CharBuffer cb){
if(this.count--==0)
return -1;
else{
String result=(char)('a'+rand.nextInt(25))+" ";
cb.append(result);
return result.length();
}
}
}
public class Main {
public static void main(String args[]){
Scanner m=new Scanner(new myInput(5));
while(m.hasNext()){
System.out.println(m.next());
}
}
}
e
a
g
p
e
Process finished with exit code 0