Java 什么时候知道结局
根据老师的说法,我们的代码从System.in读取,当我们到达标准输入文件的末尾时,程序结束。 我怎么知道我已经走到了尽头 根据要求,这是我最好的翻译--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.
- 原文:“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或后者应该没有更多的文本要处理吗?