在没有 EOF 的情况下停止读取 java 中的输入

Stop reading input in java without EOF

this问题中,如何停止读取输入?我的程序只保留 运行,要求更多输入。

public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String src;

    while ((src = br.readLine()) != null) {
        String trgt = br.readLine();
       //do something
        }
    }

寻找一个特殊的字符串,例如 END。当 trgt 等于 "END" 那么你可以打破循环。

如@ihsan kocak 所述,您可以查找类似 EXIT 或 QUIT.When 的字符串,您会发现该字符串只是打破循环。

像这样,

public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String src;

while ((src = br.readLine()) != null) {
    StringTokenizer st=new StringTokenizer(src);
    if(!st.hasMoreTokens()) break;
    //YOUR LOGIC GOES HERE 
    }
}

将特定单词设置为阅读中断器。例如 stop。如果用户输入 stop,那么阅读过程将结束。下面是这个过程的一个实现示例:

    public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String src;

    while ((src = br.readLine()) != null && !(src.equals("stop"))) {
        String trgt = src;
       //do something
    }
}