永发信息网

java中如何清空缓冲区

答案:2  悬赏:0  手机版
解决时间 2021-02-21 23:03
  • 提问者网友:浮克旳回音
  • 2021-02-21 18:10
import java.util.*;

public class Main
{
public static void main(String[] args)
{
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
for(int i=0;i {
String str=cin.nextLine();
System.out.println(str+"\n");
}
}
}
ACM中的相关问题。我想应该是输入n后的缓冲区仍保留换行符的问题,导致cin.nextline();的第一次读取的是换行符。要怎么改?

已学完C++,搞ACM也有段时间了,初学java,C++的思路走惯了。C++中可以用getchar();吃掉换行符或者用cin.ignore();。至于java怎么弄啊
最佳答案
  • 五星知识达人网友:枭雄戏美人
  • 2021-02-21 19:21
很简单,你再每次输入后都调用一次nextLine();就可以清空了
全部回答
  • 1楼网友:迟山
  • 2021-02-21 20:31
通过io流的flush函数进行io缓冲区清空 举例: filewriter fw = new filewriter("acm.txt");//创建io输出流 //创建一个字符写入流的缓冲区对象,并和指定要被缓冲的流对象相关联  bufferedwriter bw = new bufferedwriter(fw); //使用缓冲去的方法,将数据写入到缓冲区中 bw.write("acm。。。。"); bw.newline();//实际上 system.getproperty("line.separator"); bw.write("acm"); bw.newline(); bw.flush();//通过flush方法,清空缓冲区
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯