A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 凝聚 中级黑马   /  2013-10-24 17:08  /  863 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 凝聚 于 2013-10-24 20:59 编辑

/
* 通过键盘录入数据
* 当录入一个行数据后,就将该行数据进项打印
* 如果录入的数据是over,那么停止录入。。。*/
public class fifteen2 {
        public static void main(String[] args) throws IOException{
        InputStream in=System.in;
        StringBuilder sb=new StringBuilder();
        while(true)
        {
                int ch=in.read();
                if(ch=='\r')
                        continue;
                if(ch=='\n')
                {
                        String s=sb.toString();
                        if("over".equals(s))
                                break;
                        System.out.println(s.toUpperCase());
                        //sb.delete(0, sb.length());
                }
                else
                sb.append((char)ch);
        }

        }

}
这段代码如果没有sb.delete(0, sb.length());这段代码有一种快捷键能止住“不断地输入输出”是“Ctrl+c"吗?我怎么式了半天都不行啊!谁能解决一下啊。

评分

参与人数 1技术分 +1 收起 理由
李江 + 1 很给力!

查看全部评分

2 个回复

倒序浏览
“Ctrl+c"不是快捷键,是cmd中的进程停止键,所以cmd中的复制快捷键都不是Ctrl+c,而是Enter键。
由于你写的while(true)不能自己停下来,如果内部不给一个判断的条件执行break的话程序就一直不能自行。
这时候要强制终止该进程,就使用Ctrl+c。测试是可行的

评分

参与人数 1技术分 +1 收起 理由
李江 + 1 赞一个!

查看全部评分

回复 使用道具 举报
用ctrl+c或‘over’都可以停止输入输出了,ok?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马