程序中没有throws语句,main方法后声明throws IOException干嘛?

解决方案 »

  1.   

    import java.io.*;public class star
    {
       public static void main (String agrs []) throws IOException
       {
          
          BufferedReader keyin=new BufferedReader (new InputStreamReader(System.in));
          String e;
          int i,j,n;
          do
          {
             System.out.print ("Please Enter one Number:");
             e=keyin.readLine ();
             n=Integer.parseInt (e);
          }  while (n%2 == 0);
          for (i=0;i < (n/2+1);i++)
          {
             for (j=0;j<n/2-i;j++)
                System.out.print ("  ");
             for (j=0;j<=i;j++)
                System.out.println ("*   ");
          }
          for (i=n/2;i>0;i--)
          {
             for (j=0;j<n/2-i+1;j++)
                System.out.print ("  ");
             for (j=0;j<i;j++)
                System.out.println ("*   ");
          }
       }
    }
      

  2.   

    public static void main (String agrs []) throws IOException
     {    BufferedReader keyin=new BufferedReader (new InputStreamReader(System.in));
        String e;
        int i,j,n;
        do
        {
           System.out.print ("Please Enter one Number:");
           e=keyin.readLine ();       n=Integer.parseInt (e);
        }  while (n%2 == 0);
        String one;
        String out="";
        String reserve="";
        int number=n/2+1;
        for (i=0;i < number;i++)
        {
          one="";
           for (j=0;j<number-i;j++)
              one+="  ";
           for (j=0;j<=i;j++)
              one+="*   ";
           out+=one+"\r\n";
           reserve=one+"\r\n"+reserve;
        }
        reserve=reserve.substring(2*n+6);
        System.out.print(out+reserve);
     }
      

  3.   

    在main函数声明时别抛出例外,因为其他函数声明就是为了告诉调用者自己处理这些意外,主函数你应该自己处理(比如打印)而不是抛出。
      

  4.   

    我主要是从效率上考虑的,IO操作很费时间,所以先把要输出的内容存在字符串中,而且这样不再需要第二遍循环,在输入n比较大的时候,程序时间只有你原来的程序的1/10不到。上面是我的程序。
      

  5.   

    谢谢secrets001(tommyrot) ~~~~
    大家还有什么意见吗?