在java中难以读取整数?它背后有什么理由吗?

时间:2011-06-29 15:44:56

标签: java int

我必须在Java中更频繁地读取整数。那我该怎么办?我必须使用什么功能?

C / C ++也有缓冲概念,但它们只有一个语句。但在Java中,我们必须调用至少2个函数来读取整数。

例如,

从控制台读取整数,

我会用

    C中的
  • scanf
  • C ++中的
  • cin

但是在Java中,

BufferedReader bufferedreader = new BufferedReader(
    new InputStreamReader(System.in)); String number = bufferedreader.readLine();

int value = Integer.parseInt(number);

Scanner scan = new Scanner(System.in); 
int i = scan.nextInt();

有人请解释一下:我可以使用比cinscanf更简单的版本(一行声明)。

提前致谢。

3 个答案:

答案 0 :(得分:8)

我相信Scanner提供了最简单的界面。我不相信标准API提供了更简单的方法。 (当然,您可以将片段封装在方法中,然后调用该方法。)

我唯一可以提出的单线是显而易见的

int i = new Scanner(System.in).nextInt();

答案 1 :(得分:3)

没有单行版本,你所拥有的基本上是什么。 Java是面向对象的语言,因此您创建对象(扫描程序或BufferedReader)然后使用该对象读取一行。

我会使用Scanner。可以把它想象成在C ++中导入stdin。您创建一次扫描程序,然后使用单行(scanner.nextInt())来获取int。如果您这样想,命令基本上就是一行。

答案 2 :(得分:-1)

扫描仪是最容易使用的,没有简单的scanf,因为java是一种面向对象的编程语言。扫描仪对象使得阅读项目变得非常简单,我不确定你的问题是什么。