Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么时候知道结局_Java - Fatal编程技术网

Java 什么时候知道结局

Java 什么时候知道结局,java,Java,根据老师的说法,我们的代码从System.in读取,当我们到达标准输入文件的末尾时,程序结束。 我怎么知道我已经走到了尽头 根据要求,这是我最好的翻译-- 原文:“O sistema deveráler comandos da entrada padrãO (System.in),过程和结果 saída padrão(System.out)。阿廷吉多的一个术语 o fim de ficheiro na entrada padrão.。” 翻译为:“系统应该从标准中读取命令 输入(System.

根据老师的说法,我们的代码从System.in读取,当我们到达标准输入文件的末尾时,程序结束。 我怎么知道我已经走到了尽头

根据要求,这是我最好的翻译--

  • 原文:“O sistema deveráler comandos da entrada padrãO (System.in),过程和结果 saída padrão(System.out)。阿廷吉多的一个术语 o fim de ficheiro na entrada padrão.。”
  • 翻译为:“系统应该从标准中读取命令 输入(System.in),逐个处理并发送 将结果转换为标准输出(System.out)。结尾应为 当标准输入中的文件结尾为“到达”时发生
到目前为止我所拥有的

public static void readInput()
    {
        java.util.Scanner in;
        String tmp = "";
        try {
            in = new Scanner(System.in);
            while (in.hasNext()) {
                tmp = in.next().toUpperCase();
                commandAnalyzer(tmp, in);
            }
            in.close();
        } catch (Exception e) {
            System.out.printf(e.getLocalizedMessage() + "\n");
        }
    }

如果您使用的是
Scanner
类,那么当
scannerObject.hasNext()
返回
false
时,您就知道输入结束

系统。在
中引用输入流。此输入流可以是任何输入源。它可以是一个文件,也可以是另一个程序的输出,或者只是用户传入的参数的输入

如果您希望输入为文件,则可能需要使用读卡器:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in, "UTF-8")); 
String line;
while((line = br.readLine()) != null) {
    System.out.println(line);
}

欢迎来到我的学生世界。老师喜欢处理它。为什么不发布你的实际作业文本呢?如果你愿意,我可以,但它是葡萄牙语的。请考虑尽可能将它翻译成英语。取决于流的类型,它指向我正在做的事情,但代码永远不会结束。它只是等待另一个命令按CTRL+D或CTRL+Z结束输入并发送EOF@JoaoSilva 在您的代码中,它永远不会停止,因为您没有设置任何条件。while(in.hasNext())始终为true,因此代码永远不会结束。您可以使用System.exit(0)结束程序为什么它应该自行结束?System.in没有发送扫描程序停止的EOF令牌。@Java初学者为什么它是.hasNext()始终为true?我正在执行in.next(),sonner或后者应该没有更多的文本要处理吗?