2 tiantuanzi tiantuanzi 于 2014.08.09 16:07 提问

JAVA,当键盘输入多行字符串时,如何停止输入。
    Scanner in=new Scanner(System.in);
    String[] input = new String[26];
    for(int i = 0; input[i] != "end"; i++){
        input[i] = in.next();
    }
    in.close();

想要达到的效果:执行程序后由键盘输入:
thisisthefistline
thisisthesecondline
end
结束输入,进入下一行程序。

但是事实上,即使输入了end,按下回车后,依然可以继续输入字符串和回车。
想要知道,如果我需要使这个代码停下来执行下一段代码,在for中应该用什么替换“input[i] != "end"”,以及相应的是如何停止键盘录入的?

2个回答

u010334733
u010334733   2014.08.14 18:18
已采纳

字符串不能用“=”、“!=”之类的比较。还有用for语句他是先判断后执行语句。下面代码可以实现:enter code here

        Scanner in = new Scanner(System.in);
        String[] input = new String[26];
        int i = 0;
        do {
            input[i] = in.next();
            i++;
        } while (!input[i - 1] .equals("end") );
        in.close();
tiantuanzi
tiantuanzi 谢谢您,用了您这行代码,我又可以快乐的调试了。
大约 3 年之前 回复
zhufaming12
zhufaming12   2014.08.09 23:37

String 数组长度已经定了,暂停有错误,考虑用StringBuffier或者StringBudder

zhufaming12
zhufaming12 没事儿,一起学习!!
大约 3 年之前 回复
tiantuanzi
tiantuanzi 谢谢你,确实是数组长度的关系。
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片