编译错误:预期的标识符

import java.io.*; public class details { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("What is your name?"); String name = in.readLine(); ; System.out.println("Hello " + name); } 

我的这个代码的问题是我在编译时得到“标识符期望”..任何人都可以帮我做什么? 或者更好,任何人都可以提供使用BufferedReader提示名称,地址和年龄的代码,然后最终显示输出。

谢谢!!

您还没有为代码定义方法。

 import java.io.*; public class details { public static void main( String[] args ) { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("What is your name?"); String name = in.readLine(); ; System.out.println("Hello " + name); } } 

在这种情况下,我假设您希望您的代码在类的main方法中执行。 当然,这个代码可能采用任何其他方法。

必须将以下代码包装到块中(方法或静态)。

 BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("What is your name?"); String name = in.readLine(); ; System.out.println("Hello " + name); 

如果没有块,您只能声明变量,而不是在单个语句中为它们赋值。

方法main()现在是最好的选择:

 public class details { public static void main(String[] args){ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("What is your name?"); String name = in.readLine(); ; System.out.println("Hello " + name); } } 

或者如果你想使用静态块然后……

 public class details { static { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("What is your name?"); String name = in.readLine(); ; System.out.println("Hello " + name); } } 

或者如果你想构建另一种方法然后..

 public class details { public static void main(String[] args){ myMethod(); } private static void myMethod(){ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("What is your name?"); String name = in.readLine(); ; System.out.println("Hello " + name); } } 

还担心由于BufferedReader导致的exception。

您还必须捕获或抛出IOException。 见下文。 并不总是最好的方式,但它会得到一个结果:

 public class details { public static void main( String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("What is your name?"); String name = in.readLine(); ; System.out.println("Hello " + name); } } 

只有变量/对象声明语句写在方法之外

 public class details{ public static void main(String arg[]){ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("What is your name?"); String name = in.readLine(); ; System.out.println("Hello " + name); } } 

这里是示例尝试学习java书籍并查看语法然后尝试开发程序