我正在准备几天后的面试。有人告诉我我应该熟悉CoderPad,因为这将是我要采访的合作者。但是,当我意识到自己无法使用Scanner类读取System.in的输入时,我正在回答一个问题。

例如,运行以下命令:

import java.io.*;
import java.util.*;

/*
 * To execute Java, please define "static void main" on a class
 * named Solution.
 *
 * If you need more classes, simply define them inline.
 */

class Solution {
  public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    String s = in.next();
    System.out.println(s);
  }
}


给我消息:

Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Scanner.java:862)
    at java.util.Scanner.next(Scanner.java:1371)
    at Solution.main(Solution.java:14)


这里发生了什么?

最佳答案

tl; dr:“ [CoderPad不]支持来自STDIN的静态语言(如Java)的输入”

因此,当我发现以下内容(包括链接和图片)时,我一直在努力找出正在发生的情况:

链接:

https://twitter.com/CoderPad/status/656283541253177345

图片:

java - 使用CoderPad,为什么在System.in上使用扫描仪会收到NoSuchElementException?-LMLPHP

至少从2015年12月14日开始,似乎这与CoderPad如何运营其服务有关。这是有道理的,但是如果这在他们的常见问题解答中,那会节省一些时间和麻烦。

希望这对将使用其服务的人有所帮助!

09-25 21:24