请老师检查一下代码,运行时候要按两次回车

来源:3-14 缓冲流案例

gph小分队大队长

2019-11-14 21:13:43

import java.io.*;

public class Filedemo {

public static void main(String[] args) throws IOException{

System.out.print("从键盘写入:\n");

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

String str=new String(br.readLine());

String path="D:\\javatest\\本来没有吧.doc";

PrintWriter pw=new PrintWriter(path);

{

while(br.readLine()!=null){

System.out.println("显示\n"+str);

pw.write(str);

}

br.close();

pw.close();

}

}


}


写回答

1回答

好帮手慕珊

2019-11-15

同学,你好!如下图所示,代码中有两个br.readLine(),因此会从键盘接收两次数据,也就会按两次回车。可以将第二个br.readLine()改成str。

http://img.mukewang.com/climg/5dce1994091742fb04110234.jpg

改后的代码如下:此时str不为null,并且str的值在循环内没有改变,因此str会一直不为null,这样就会产生死循环。因此,如果只有一条数据,可以将while循环去掉。

http://img.mukewang.com/climg/5dce1a2b0975637603430191.jpg

另外,下图中选中的大括号也是可以去掉的,并不会影响代码执行。

http://img.mukewang.com/climg/5dce1a990983b79704120377.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

1

0 学习 · 11489 问题

查看课程