首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >"BufferedReader“和"java.io.BufferedReader”。有关系吗?

"BufferedReader“和"java.io.BufferedReader”。有关系吗?
EN

Stack Overflow用户
提问于 2020-01-22 00:44:59
回答 1查看 230关注 0票数 0

爪哇新手来了。因此,我是从这本书中学习Java的,这本书是AristidS.Bouras的“完整初学者的Java和算法思考”,我一直致力于学习用户输入的语法。这是书中的原始代码片段

代码语言:javascript
运行
复制
java.io.BufferedReader cin = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));

String name;
int age;

name = cin.readLine();
age = Integer.parseInt(cin.readLine());
System.out.print("Wow, you are already" + age + "years old," + name + "!");

我尝试在IntelliJ中使用上述代码,但得到了以下错误:

我在考虑使用扫描仪方法在这个article中使用其他类型的输入方法来“走动”这个问题,但是对错误的任何洞察都将是非常感谢的。而且,我相信包括“java.io”在内。连续三次对第一行代码来说是不必要的,对吗?如果有理由的话,请不要再问我了。谢谢大家!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-22 01:19:26

使用BufferedReaderjava.io.BufferedReader没有什么区别,只是人类读取代码的方式不同。也就是说,结果代码不会更快/更慢,或者使用一个或另一个来纠正/不正确等等。请注意,如果在代码中使用BufferedReader,则需要包含一个导入语句,以便编译器知道在何处找到BufferedReader,如:import java.io.BufferedReader;

但是,通过调用cin.readLine(),您会遇到其他事情。下面是一个示例,展示了您所做工作的最小版本(我省略了导入语句,但也可以包括import java.io.*;)。编译器正在向您展示readLine()存在问题,因为该方法被定义为抛出异常,而您的代码没有处理它。在IntelliJ中,我看到了以下错误消息:unreported exception java.io.IOException; must be caught or declared to be thrown

代码语言:javascript
运行
复制
public static void main(String[] args) {
    BufferedReader cin = new BufferedReader(new InputStreamReader(System.in));
    cin.readLine();
}

下面是一种修复代码的方法,以便处理readLine()引发的异常

代码语言:javascript
运行
复制
public static void main(String[] args) {
    BufferedReader cin = new BufferedReader(new InputStreamReader(System.in));
    try {
        cin.readLine();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59851194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档