童心撞地球之长发公主,202.114.74.198,修神成魔
1 import java.nio.*; 2 import java.util.*; 3 import static net.mindview.util.print.*; 4 5 public class randomwords implements readable { 6 private int readcount = 1;//read()执行次数 7 private int loopcount = 1; 8 public randomwords() { } 9 public int read(charbuffer cb) { 10 11 if (loopcount == 1){print("进入read执行第" + readcount + "次");readcount++;cb.append("aa bb cc ");loopcount++;return 1;}//仅仅在第一次和第六次给charbuffer添加3个数据 12 if (loopcount == 2){print("进入read执行第" + readcount + "次");readcount++;loopcount++;return 1;}//其他的时候返回1,但是并不往buffer中存放数据,来骗被调用者hasnext(),来观察出现了什么现象 13 if (loopcount == 3){print("进入read执行第" + readcount + "次");readcount++;loopcount++;return 1;} 14 if (loopcount == 4){print("进入read执行第" + readcount + "次");readcount++;loopcount++;return 1;} 15 if (loopcount == 5){print("进入read执行第" + readcount + "次");readcount++;loopcount++;return 1;} 16 17 if (loopcount == 6){print("进入read执行第" + readcount + "次");readcount++;cb.append("oo pp qq ");loopcount++;return 1;} 18 if (loopcount == 7){print("进入read执行第" + readcount + "次");readcount++;loopcount++;return 1;} 19 if (loopcount == 8){print("进入read执行第" + readcount + "次");readcount++;loopcount++;return 1;} 20 if (loopcount == 9){print("进入read执行第" + readcount + "次");readcount++;loopcount++;return 1;} 21 if (loopcount == 10){print("进入read执行第" + readcount + "次");readcount++;return -1;} 22 return 1; 23 } 24 25 public static void main(string[] args) { 26 int a = 1;//外层循环的次数 27 28 print("1"); 29 scanner s = new scanner(new randomwords()) 30 print("2"); 31 32 33 while(s.hasnext()){//这个hasnext()方法会调用read()方法的 34 print("第" + a + "次执行外层循环"); 35 a ++; 36 system.out.println("从cb中读出 " + s.next()); 37 } 38 } 39 }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
浅析我对 String、StringBuilder、StringBuffer 的理解
使用IDEA搭建SSM框架的详细教程(spring + springMVC +MyBatis)
Springboot整合freemarker 404问题解决方案
引入mybatis-plus报 Invalid bound statement错误问题的解决方法
网友评论