求助,为啥从键盘读取一行数据,在循环的第二遍时就不管用了?
for(int s=0;s<=10;s++){System.out.println("for循环顶部");
InputStreamReader isr4=new InputStreamReader(System.in);
BufferedReader br4=new BufferedReader(isr4);
String sql=br4.readLine();
System.out.println("sql:"+sql); //这段程序为啥在for中第二次执行就不管用了呢
int y_or_n=System.in.read(); //键盘输入字符
System.out.println("输入的字符是"+(char)y_or_n);
if(y_or_n==110){ //110就是‘n'
System.out.println("输入的是N"); //若输入的是n则执行一些别的东西,若不是n,则直接继续for循环
}
System.out.println("for循环底部");
}//for循环
为啥for循环第二次执行那个键盘输入一行数据的地方就不管用了呢
----------------解决方案--------------------------------------------------------
import java.io.BufferedReader;//你那个我还真不清楚,但这个能用
import java.io.IOException;
import java.io.InputStreamReader;
public class new1{
public static void main(String[] args) throws IOException{
InputStreamReader isr4=new InputStreamReader(System.in);
BufferedReader br4=new BufferedReader(isr4);
for(int s=0;s<=10;s++){
System.out.println("for循环顶部输入:");
String sql=br4.readLine();
System.out.println("sql:"+sql); //这段程序为啥在for中第二次执行就不管用了呢
String y_or_n=sql;//键盘输入字符
System.out.println("输入的字符是"+y_or_n);
if(y_or_n.equals("n")){ //110就是‘n'
System.out.println("输入的是N"); //若输入的是n则执行一些别的东西,若不是n,则直接继续for循环
break; //跳出不循环
}
System.out.println("for循环底部");
}//for循环
}
}
----------------解决方案--------------------------------------------------------
你的2个System.in 接受一个后台的数据
for循环顶部0
1
sql:1
2
输入的字符是2
for循环底部
for循环顶部1
sql:
3
输入的字符是3
for循环底部
for循环顶部2
sql:
123
输入的字符是1
for循环底部
for循环顶部3
sql:23
----------------解决方案--------------------------------------------------------