黑马程序员技术交流社区

标题: 快捷键 [打印本页]

作者: 凝聚    时间: 2013-10-24 17:08
标题: 快捷键
本帖最后由 凝聚 于 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"吗?我怎么式了半天都不行啊!谁能解决一下啊。


作者: 匡文    时间: 2013-10-24 17:57
“Ctrl+c"不是快捷键,是cmd中的进程停止键,所以cmd中的复制快捷键都不是Ctrl+c,而是Enter键。
由于你写的while(true)不能自己停下来,如果内部不给一个判断的条件执行break的话程序就一直不能自行。
这时候要强制终止该进程,就使用Ctrl+c。测试是可行的
作者: hurryup    时间: 2013-10-24 20:03
用ctrl+c或‘over’都可以停止输入输出了,ok?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2