我刚入门,原来学的c,所以刚转过来觉得挺别扭。写的一段小程序通不过编译,请各位高手指点一二。谢谢!
import java.io.*;
public class A2
{
  public static void main(String []args){
    char c=' ';
    System.out.print("Please input a char:");
   c=(char)System.in.read();//问题出在这里,如果用try...catch...则可以,不明白阿 
   
   System.out.println("You have entered: "+c); } }

解决方案 »

  1.   

    因为System.in.read();这个语句可能会抛出异带, 你必须在你的程序中捕获它,就是try...catch.
    否则  通不过编译的
      

  2.   

    System.in.read()抛出的是一个checked exception,是在编译时会检查的,对这种异常你有两种方法处理:
    1,同沙发上那位仁兄所说try catch 一下
    2,如果你觉得麻烦的话可以在main方法头处抛出异常
    public static void main(String []args)throws IOException
    这样你就不用处理这个异常,已经把它交给main()的调用者去处理,及控制台。
    第二种方法虽然简单,但还是建议你用一,毕竟2是在偷懒
      

  3.   

    java就是凡可能有异常的地方都要主动处理