Java编译错误:找不到BufferedReader的符号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java编译错误:找不到BufferedReader的符号相关的知识,希望对你有一定的参考价值。

嘿,我刚刚开始编写关于java的第一本编程书,所以这应该是一个简单的解决方案。用我对条件语的新知识搞清楚,我得到了标题错误。

这是代码:

import java.io.*;

public class Hello {  
   public static void main (String args[]) { 

   BufferedReader br = new BufferedReader(ip);
   InputStreamReader ip = new InputStreamReader(System.in);

   String str;

   System.out.print("Enter your name: ");
   str = br.readLine();  

   System.out.println(str);
   System.out.println("Welcome to the world of Java Programming!"); 
  }
}

当我尝试编译时:

Hello.java:6:error:cannot find symbol
BufferedReader br = new BufferedReader(ip);

symbol: variable ip
location: class Hello
1 error
答案

您在声明之前引用ip。将订单更改为:

InputStreamReader ip = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(ip);
另一答案

试试这个 :-

import java.io.*;

public class Hello {  
   public static void main (String args[]) { 
   InputStreamReader ip = new InputStreamReader(System.in);
   BufferedReader br = new BufferedReader(ip);
   String str;
   System.out.print("Enter your name: ");
   str = br.readLine();  
   System.out.println(str);
   System.out.println("Welcome to the world of Java Programming!"); 
  }
}

基本上,首先需要在使用变量之前声明变量。就像你需要在使用InputStreamReader ip = new InputStreamReader(System.in);之前声明一个变量BufferedReader br = new BufferedReader(ip);

此外,从Java Docs开始学习

另一答案

在您的缓冲读卡器中,您尝试在定义之前引用输入流读取器ip。只需交换这两行。

InputStreamReader ip = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(ip);
另一答案

您之后定义ip并在创建之前使用它为什么会出现该错误

BufferedReader br = new BufferedReader(ip);
   InputStreamReader ip = new InputStreamReader(System.in);
另一答案

试试这个

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

以上是关于Java编译错误:找不到BufferedReader的符号的主要内容,如果未能解决你的问题,请参考以下文章

java踩坑-编译错误:FastJson与lombok导致找不到符号:方法getId

通过 Eclipse 错误“系统找不到系统 Java 编译器”运行 Gradle 项目

java 枚举 找不到符号

java 中 “找不到符号”的错误

Java编译错误:找不到BufferedReader的符号

编译java文件时提示找不到包