黑马程序员技术交流社区
标题:
PrintStream中的printlln()方法
[打印本页]
作者:
黑马李刚
时间:
2011-9-6 20:28
标题:
PrintStream中的printlln()方法
PrintStream中的方法println()方法不是有打印的功能能吗,运行下面的程序:先向命令行输入字符串,回车后并没有打印出 <所输入字符串> 的大写形式(请先运行此程序再回答),xiexie.:victory: :victory:[code=java] import java.util.*;
import java.io.*;
class L
{
public static void main(String args[]) throws IOException
{
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw=new PrintWriter(System.out);
String line=null;
while ((line=bufr.readLine())!=null)
{
pw.println(line.toUpperCase());
}
pw.close();
bufr.close();
}
}
[/code]
[
本帖最后由 黑马李刚 于 2011-09-06 20:29 编辑
]
作者:
匿名
时间:
2011-9-6 20:59
标题:
回复 楼主 的帖子
报告楼主,您的程序在我输入字符之前就已经结束运行了
作者:
匿名
时间:
2011-9-6 21:11
哈哈,不会吧?(我又运行了一遍,不ctrl+c是不不会结束的)
作者:
匿名
时间:
2011-9-6 21:15
PrintWriter pw=new PrintWriter(System.out,true);
你少了个true ,没有这个它不会主动刷新缓冲区
作者:
匿名
时间:
2011-9-6 21:17
ps ; 如果你用BufferedWriter 的话, 就要自己flush( ) 和 newline()
作者:
匿名
时间:
2011-9-6 21:30
我给你改了一下 这样看的更清楚 为什么要用while循环呢 应该用if 啊 readLine()不是读取一行么[code=java]import java.util.*;
import java.io.*;
class L{
public static void main(String args[]) throws IOException{
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw = new PrintWriter(System.out);
String line = null;
System.out.print("请输入:");
if ((line=bufr.readLine())!=null){
pw.println("输入的字符为:" + line.toUpperCase());
}
pw.close();
bufr.close();
}
}[/code]
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2