在C中,我们可以接受任何原始数据类型的输入,而在java中,所有的输入类型都必然是String.why,这就是为什么?
发布于 2010-05-25 13:10:05
控制台输入实际上是作为一系列字节读入的,而不是字符串。这是因为API将System.in公开为InputStream。JDK1.5之前的典型包装( Scanner类万岁!)是这样的:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
例如,InputStreamReader将字节流转换为字符流,然后使用BufferedReader执行readLine()操作或其他操作。
因此,这是一个String输出,因为您将从BufferedReader中获得字符流的缓冲输出。
发布于 2010-05-25 12:46:52
在java中,你可以这样做:
Scanner scan = new Scanner(System.in);
scan.nextInt();
scan.nextDouble();等等。你只需要确保下一个输入是正确的。
编辑:缺少缓冲的读卡器部分。我认为这个答案完全无关紧要。
https://stackoverflow.com/questions/2902056
复制相似问题