100个Java经典例子(1-10)初学者的利器高手的宝典JavaSE

  1. package test1;  
  2.   
  3. /** 
  4.  * Title: Hello Java World 
  5.  * Description: 简单的Java程序,只显示一个信息。 
  6.  * filename: HelloWorld.java 
  7.  */  
  8.  public class HelloWorld {  
  9.   public static void main(String[] args) {  
  10.     System.out.println("Hello Java World!");  
  11.   }  
  12.  }  

  1. package test2;  
  2. /** 
  3.  * Title: Java语言流程演示 
  4.  * Description: 演示Java中几种常用的流程控制操作 
  5.  * Filename: flowDome.java 
  6.  */  
  7.  public class flowDemo{  
  8.    public static void main(String[] arges){  
  9.      int iPara1,iPara2,iEnd;  
  10.      if(arges.length!=3)  
  11.      {  
  12.        System.out.println("USE :java flowDome parameter1 parameter2 circle");  
  13.        System.out.println("parameter1 : 比较条件1,数字类型");  
  14.        System.out.println("parameter2 : 比较条件2,数字类型");  
  15.        System.out.println("circle :循环次数");  
  16.        System.out.println("ego:java flowDome 1 2 5");  
  17.        return;  
  18.      }else{  
  19.        iPara1 = Integer.parseInt(arges[0]);  
  20.        iPara2 = Integer.parseInt(arges[1]);  
  21.        iEnd = Integer.parseInt(arges[2]);  
  22.      }  
  23.      //if语句  
  24.      if(iPara2>iPara1)  
  25.      {  
  26.       System.out.println("if 条件满足!");  
  27.       System.out.println("第2个数比第1个数大!");  
  28.      }  
  29.      else  
  30.      {  
  31.       System.out.println("if 条件不满足!");  
  32.       System.out.println("第2个数比第1个数小!");  
  33.      }  
  34.      //for循环操作  
  35.      for(int i=0;i<iEnd;i++)  
  36.      {  
  37.        System.out.println("这是for 第"+i+"次循环");  
  38.      }  
  39.      //while循环操作  
  40.      int i=0;  
  41.      while(i<iEnd)  
  42.      {  
  43.       System.out.println("这是while 第"+i+"次循环");  
  44.       i++;  
  45.      }  
  46.      //do-while循环操作  
  47.      int j=0;  
  48.      do  
  49.      {  
  50.       System.out.println("这是do-while 第"+j+"次循环");  
  51.       j++;  
  52.      }while(j<iEnd);  
  53.    }  
  54.  }  

  1. package test3;  
  2.   
  3. /** 
  4.  * Title: 数组数据操作 
  5.  * Description: 演示一维数组和多维数组的初始化和基本操作 
  6.  * Filename: myArray.java 
  7.  */  
  8.  public class  myArray{  
  9.    //初始化数组变量  
  10.    char[] cNum = {'1','2','3','4','5','6','7','8','9','0'};  
  11.    char[] cStr = {'a','b','c','d','e','f','g','h',  
  12.                   'i','j','k','l','m','n','o','p',  
  13.                   'q','r','s','t','u','v','w','x','y','z'};  
  14.    int[] iMonth = {31,28,31,30,31,30,31,31,30,31,30,31};  
  15.    String[] sMail = {"@","."};  
  16. /** 
  17.  *<br>方法说明:校验电子邮件 
  18.  *<br>输入参数:String sPara 被校验的电子邮件字符 
  19.  *<br>返回类型:boolean 如果校验的格式符合电子邮件格式返回true;否则返回false 
  20.  */     
  21.    public boolean isMail(String sPara){  
  22.     for(int i=0;i<sMail.length;i++){  
  23.       if(sPara.indexOf(sMail[i])==-1)  
  24.         return false;           
  25.     }  
  26.     return true;  
  27.    }  
  28. /** 
  29.  *<br>方法说明:判断是否是数字 
  30.  *<br>输入参数:String sPara。 需要判断的字符串 
  31.  *<br>返回类型:boolean。如果都是数字类型,返回true;否则返回false 
  32.  */     
  33.    public boolean isNumber(String sPara){  
  34.      int iPLength = sPara.length();  
  35.      for(int i=0;i<iPLength;i++){  
  36.       char cTemp = sPara.charAt(i);  
  37.       boolean bTemp = false;  
  38.       for(int j=0;j<cNum.length;j++){  
  39.         if(cTemp==cNum[j]){  
  40.           bTemp = true;  
  41.           break;  
  42.         }  
  43.       }  
  44.       if(!bTemp) return false;   
  45.      }  
  46.     return true;  
  47.    }  
  48. /** 
  49.  *<br>方法说明:判断是否都是英文字符 
  50.  *<br>输入参数:String sPara。要检查的字符 
  51.  *<br>返回类型:boolean。如果都是字符返回true;反之为false 
  52.  */     
  53.    public boolean isString(String sPara){  
  54.      int iPLength = sPara.length();  
  55.      for(int i=0;i<iPLength;i++){  
  56.       char cTemp = sPara.charAt(i);  
  57.       boolean bTemp = false;  
  58.       for(int j=0;j<cStr.length;j++){  
  59.         if(cTemp==cStr[j]){  
  60.           bTemp = true;  
  61.           break;  
  62.         }  
  63.       }  
  64.       if(!bTemp) return false;   
  65.      }  
  66.     return true;  
  67.    }  
  68. /** 
  69.  *<br>方法说明:判断是否是闰年 
  70.  *<br>输入参数:int iPara。要判断的年份 
  71.  *<br>返回类型:boolean。如果是闰年返回true,否则返回false 
  72.  */     
  73.    public boolean chickDay(int iPara){  
  74.      return iPara%100==0&&iPara%4==0;  
  75.    }  
  76. /** 
  77.  *<br>方法说明:检查日期格式是否正确 
  78.  *<br>输入参数:String sPara。要检查的日期字符 
  79.  *<br>返回类型:int。0 日期格式正确,-1 月或这日不合要求, -2 年月日格式不正确  
  80.  */  
  81.    public int chickData(String sPara){  
  82.     @SuppressWarnings("unused")  
  83.     boolean bTemp = false;  
  84.     //所输入日期长度不正确  
  85.     if(sPara.length()!=10return -2;  
  86.     //获取年  
  87.     String sYear = sPara.substring(0,4);  
  88.     //判断年是否为数字  
  89.     if(!isNumber(sYear)) return -2;  
  90.     //获取月份  
  91.     String sMonth = sPara.substring(5,7);  
  92.     //判断月份是否为数字  
  93.     if(!isNumber(sMonth)) return -2;  
  94.     //获取日  
  95.     String sDay = sPara.substring(8,10);  
  96.     //判断日是否为数字  
  97.     if(!isNumber(sDay)) return -2;  
  98.     //将年、月、日转换为数字  
  99.     int iYear = Integer.parseInt(sYear);  
  100.     int iMon = Integer.parseInt(sMonth);  
  101.     int iDay = Integer.parseInt(sDay);  
  102.     if(iMon>12return -1;  
  103.     //闰年二月处理  
  104.     if(iMon==2&&chickDay(iYear)){  
  105.       if(iDay>29return 2;  
  106.     }else{  
  107.       if(iDay>iMonth[iMon-1]) return -1;  
  108.     }  
  109.     return 0;  
  110.    }  
  111. /** 
  112.  *<br>方法说明:主方法,测试用 
  113.  *<br>输入参数: 
  114.  *<br>返回类型: 
  115.  */   
  116.    public static void main(String[] arges){  
  117.      myArray mA = new myArray();  
  118.      //校验邮件地址  
  119.      boolean bMail = mA.isMail("tom@163.com");  
  120.      System.out.println("1 bMail is "+bMail);  
  121.      bMail = mA.isMail("tom@163com");  
  122.      System.out.println("2 bMail is "+bMail);  
  123.      //演示是否是数字  
  124.      boolean bIsNum = mA.isNumber("1234");  
  125.      System.out.println("1:bIsNum="+bIsNum);  
  126.      bIsNum = mA.isNumber("123r4");  
  127.      System.out.println("2:bIsNum="+bIsNum);  
  128.      //演示是否是英文字符  
  129.      boolean bIsStr = mA.isString("wer");  
  130.      System.out.println("1:bIsStr="+bIsStr);  
  131.      bIsStr = mA.isString("wer3");  
  132.      System.out.println("2:bIsStr="+bIsStr);  
  133.      //演示检查日期  
  134.      int iIsTime = mA.chickData("2003-12-98");  
  135.      System.out.println("1:iIsTime="+iIsTime);  
  136.      iIsTime = mA.chickData("2003-111-08");  
  137.      System.out.println("2:iIsTime="+iIsTime);  
  138.      iIsTime = mA.chickData("2003-10-08");  
  139.      System.out.println("3:iIsTime="+iIsTime);  
  140.      iIsTime = mA.chickData("2000-02-30");  
  141.      System.out.println("4:iIsTime="+iIsTime);  
  142.    }  
  143.  }  

  1. package test4;  
  2.   
  3. import java.util.*;  
  4. /** 
  5.  * Title: 矢量操作< 
  6.  * Description: 演示一个矢量(Vector)的基本操作 
  7.  * Filename: operateVector.java 
  8.  */  
  9. public class operateVector   
  10. {  
  11. /* 
  12. *<br>方法说明:生成一个4*4的二维Vector,供使用。 
  13. *<br>输入参数: 
  14. *<br>输出变量:Vector 
  15. *<br>其它说明: 
  16. */  
  17.     public Vector<Object> buildVector(){  
  18.        Vector<Object> vTemps = new Vector<Object>();  
  19.        for(int i=0;i<4;i++){  
  20.           Vector<Object> vTemp = new Vector<Object>();  
  21.           for (int j=0;j<4;j++){  
  22.             vTemp.addElement("Vector("+i+")("+j+")");  
  23.           }  
  24.           vTemps.addElement(vTemp);  
  25.        }  
  26.        return vTemps;  
  27.     }  
  28. /* 
  29. *<br>方法说明:插入数据 
  30. *<br>输入参数:Vector vTemp 待插入的数据对象 
  31. *<br>输入参数:int iTemp 插入数据的位置 
  32. *<br>输入参数:Object oTemp 插入数据值 
  33. *<br>输出变量:Vector 结果 
  34. *<br>其它说明:如果插入位置超出实例实际的位置将返回null 
  35. */  
  36.     public Vector<Object> insert(Vector<Object> vTemp,int iTemp,Object oTemp){  
  37.         if(iTemp>vTemp.size()){  
  38.             print("数据超界!");  
  39.             return null;  
  40.         }else{  
  41.              vTemp.insertElementAt(oTemp,iTemp);  
  42.         }  
  43.         return vTemp;  
  44.     }  
  45. /* 
  46. *<br>方法说明:移除数据 
  47. *<br>输入参数:Vector vTemp 待删除矢量对象 
  48. *<br>输入参数:int iTemp 删除数据的位置 
  49. *<br>输出变量:Vector 
  50. *<br>其它说明:如果删除超界的数据,将返回null 
  51. */  
  52.     public Vector<Object> delete(Vector<Object> vTemp,int iTemp){  
  53.         if(iTemp>vTemp.size()){  
  54.             print("数据超界!");  
  55.             return null;  
  56.         }else{  
  57.              vTemp.removeElementAt(iTemp);  
  58.         }  
  59.         return vTemp;  
  60.     }  
  61. /* 
  62. *<br>方法说明:修改数据 
  63. *<br>输入参数:Vector vTemp 待修改矢量对象 
  64. *<br>输入参数:int iTemp 修改数据的位置 
  65. *<br>输入参数:Object oTemp 修改数据值 
  66. *<br>输出变量:Vector 
  67. *<br>其它说明:如果修改位置超界的数据,将返回null 
  68. */  
  69.     public Vector<Object> updata(Vector<Object> vTemp,int iTemp,Object oTemp){  
  70.         if(iTemp>vTemp.size()){  
  71.             print("数据超界!");  
  72.             return null;  
  73.         }else{  
  74.              vTemp.setElementAt(oTemp,iTemp);  
  75.         }  
  76.         return vTemp;  
  77.     }  
  78. /* 
  79. *<br>方法说明:输出信息 
  80. *<br>输入参数:String sTemp 输出信息名称 
  81. *<br>输入参数:Object oTemp 输出信息值 
  82. *<br>返回变量:无 
  83. */  
  84.     public void print(String sTemp,Vector<Object> oTemp){  
  85.         System.out.println(sTemp+"数据:");  
  86.         this.print(oTemp);  
  87.     }  
  88. /** 
  89.  *<br>方法说明:打印输出(过载) 
  90.  *<br>输入参数:Object oPara 输出的对象 
  91.  *<br>返回类型:无 
  92.  */  
  93.     public void print(Object oPara){  
  94.         System.out.println(oPara);  
  95.     }  
  96. /** 
  97.  *<br>方法说明:打印输出(过载) 
  98.  *<br>输入参数:Vector vPara 显示输出矢量对象 
  99.  *<br>返回类型:无 
  100.  */  
  101.     public void print(Vector<Object> vPara){  
  102.        for(int i=0;i<vPara.size();i++){  
  103.         System.out.println(vPara.elementAt(i));  
  104.        }  
  105.     }  
  106. /** 
  107.  *<br>方法说明:主方法,程序入口 
  108.  *<br>输入参数:String[] args 
  109.  *<br>返回类型:无 
  110.  */  
  111.     public static void main(String[] args)   
  112.     {  
  113.         operateVector ov = new operateVector();  
  114.         Vector<Object> vTemp = ov.buildVector();  
  115.         ov.print("vTemp0",vTemp);  
  116.         Vector<Object> vResult = ov.insert(vTemp,2,"添加的数据");  
  117.         ov.print("vResult",vResult);  
  118.         Vector<Object> vResultup = ov.updata(vResult,2,"修改的数据");  
  119.         ov.print("vResultmp",vResultup);  
  120.         Vector<Object> vResultnow = ov.delete(vResultup,2);  
  121.         ov.print("vResultnow",vResultnow);  
  122.     }  
  123. }  

  1. package test5;  
  2.   
  3. import java.util.*;  
  4. /** 
  5.  * Title: 哈希表操作 
  6.  * Description: 这是一个权限认证的例子,使用了哈希表作为数据的存储 
  7.  * Filename: RoleRight.java 
  8.  */  
  9.  public class RoleRight  
  10.  {  
  11.  private static Hashtable<String, String> rightList = new Hashtable<String, String>();  
  12. /** 
  13.  *<br>方法说明:初始化数据 
  14.  *<br>输入参数: 
  15.  *<br>返回类型: 
  16.  */  
  17.  public void init()  
  18.  {  
  19.     String[] accRoleList = {"admin","satrap","manager","user","guest"};  
  20.     String[] rightCodeList = {"10001","10011","10021","20011","24011"};  
  21.     for(int i=0;i<accRoleList.length;i++)  
  22.     {  
  23.       rightList.put(accRoleList[i],rightCodeList[i]);  
  24.     }  
  25.  }  
  26. /** 
  27.  *<br>方法说明:获取角色权限代码 
  28.  *<br>输入参数:String accRole 角色名称 
  29.  *<br>返回类型:String 权限代码 
  30.  */  
  31.  public String getRight(String accRole)  
  32.  {  
  33.     if(rightList.containsKey(accRole))  
  34.       return (String)rightList.get(accRole);  
  35.     else  
  36.       return null;  
  37.  }  
  38. /** 
  39.  *<br>方法说明:添加角色和代码信息 
  40.  *<br>输入参数:String accRole 角色名称 
  41.  *<br>输入参数:String rightCode 角色权限代码  
  42.  *<br>返回类型:void (无) 
  43.  */  
  44.  public void insert(String accRole,String rightCode)  
  45.  {  
  46.    rightList.put(accRole,rightCode);  
  47.  }  
  48. /** 
  49.  *<br>方法说明:删除角色权限 
  50.  *<br>输入参数:String accRole 角色名称 
  51.  *<br>返回类型:void(无) 
  52.  */  
  53.  public void delete(String accRole)  
  54.  {  
  55.    if(rightList.containsKey(accRole))  
  56.      rightList.remove(accRole);  
  57.  }  
  58. /** 
  59.  *<br>方法说明:修改角色权限代码 
  60.  *<br>输入参数:String accRole 角色名称 
  61.  *<br>输入参数:String rightCode 角色权限代码  
  62.  *<br>返回类型:void(无) 
  63.  */  
  64.  public void update(String accRole,String rightCode)  
  65.  {  
  66.    //this.delete(accRole);  
  67.    this.insert(accRole,rightCode);  
  68.  }  
  69. /** 
  70.  *<br>方法说明:打印哈希表中角色和代码对应表 
  71.  *<br>输入参数:无 
  72.  *<br>返回类型:无 
  73.  */  
  74.  public void print()  
  75.  {  
  76.     Enumeration<String> RLKey = rightList.keys();  
  77.     while(RLKey.hasMoreElements())  
  78.     {  
  79.         String accRole = RLKey.nextElement().toString();  
  80.         print(accRole+"="+this.getRight(accRole));  
  81.     }  
  82.  }  
  83. /** 
  84.  *<br>方法说明:打印信息(过载) 
  85.  *<br>输入参数:Object oPara 打印的信息内容 
  86.  *<br>返回类型:无 
  87.  */  
  88.  public void print(Object oPara)  
  89.  {  
  90.     System.out.println(oPara);  
  91.  }  
  92. /** 
  93.  *<br>方法说明:主方法, 
  94.  *<br>输入参数: 
  95.  *<br>返回类型: 
  96.  */  
  97.  public static void main(String[] args)  
  98.  {  
  99.     RoleRight RR = new RoleRight();  
  100.     RR.init();  
  101.     RR.print();  
  102.     RR.print("___________________________");  
  103.     RR.insert("presider","10110");  
  104.     RR.print();  
  105.     RR.print("___________________________");  
  106.     RR.update("presider","10100");  
  107.     RR.print();  
  108.     RR.print("___________________________");  
  109.     RR.delete("presider");  
  110.     RR.print();  
  111.  }   
  112.  }//end:)~  

  1. package test6;  
  2.   
  3. /** 
  4.  * Title: 树参数 
  5.  * Description: 使用继承类,柳树就是树 
  6.  * Filename: osier.java 
  7.  */  
  8. class tree  
  9. {  
  10. /** 
  11.  *<br>方法说明:树的树根 
  12.  */  
  13.   public void root()  
  14.   {  
  15.     String sSite = "土壤中";  
  16.     String sFunction = "吸收养份";  
  17.     print("位置:"+sSite);  
  18.     print("功能:"+sFunction);  
  19.   }  
  20. /** 
  21.  *方法说明:树的树干 
  22.  */  
  23.   public void bolo()  
  24.   {  
  25.     String sSite = "地面";  
  26.     String sFunction = "传递养份";  
  27.     print("位置:"+sSite);  
  28.     print("功能:"+sFunction);  
  29.   }  
  30. /** 
  31.  *方法说明:树的树枝 
  32.  */  
  33.   public void branch()  
  34.   {  
  35.     String sSite = "树干上";  
  36.     String sFunction = "传递养份";  
  37.     print("位置:"+sSite);  
  38.     print("功能:"+sFunction);  
  39.   }  
  40. /** 
  41.  *方法说明:树的叶子 
  42.  */  
  43.   public void leaf()  
  44.   {  
  45.     String sSite = "树梢";  
  46.     String sFunction = "光合作用";  
  47.     String sColor = "绿色";  
  48.     print("位置:"+sSite);  
  49.     print("功能:"+sFunction);  
  50.     print("颜色:"+sColor);  
  51.   }  
  52. /** 
  53.  *方法说明:显示信息 
  54.  *输入参数:Object oPara 显示的信息 
  55.  */  
  56.   public void print(Object oPara)  
  57.   {  
  58.     System.out.println(oPara);  
  59.   }  
  60. /** 
  61.  *方法说明:主方法: 
  62.  */  
  63.   public static void  main(String[] arges)  
  64.   {  
  65.     tree t = new tree();  
  66.     t.print("描述一棵树:");  
  67.     t.print("树根:");  
  68.     t.root();  
  69.     t.print("树干:");  
  70.     t.bolo();  
  71.     t.print("树枝:");  
  72.     t.branch();  
  73.     t.print("树叶:");  
  74.     t.leaf();  
  75.   }  
  76. }  
  77. /** 
  78.  * Title: 柳树参数 
  79.  * Description: 描述柳树的参数 
  80.  */  
  81. class osier extends tree  
  82. {  
  83.  /** 
  84.  *方法说明:过载树的树叶 
  85.  */  
  86.   public void leaf()  
  87.   {  
  88.     super.leaf();  
  89.     String sShape = "长形";  
  90.     super.print("形状:"+sShape);  
  91.   }  
  92.   /** 
  93.  *方法说明:扩展树的花 
  94.  */  
  95.   public void flower()  
  96.   {  
  97.     print("哈哈,柳树没有花!!");  
  98.   }  
  99. /** 
  100.  *方法说明:主方法 
  101.  */  
  102.   public static void  main(String[] args)  
  103.   {  
  104.     osier o = new osier();  
  105.     o.print("柳树树根:");  
  106.     o.root();  
  107.     o.print("柳树树干:");  
  108.     o.bolo();  
  109.     o.print("柳树树枝:");  
  110.     o.branch();  
  111.     o.print("柳树树叶:");  
  112.     o.leaf();  
  113.     o.print("柳树花:");  
  114.     o.flower();  
  115.   }  
  116. }  

  1. package test7;  
  2.   
  3. /** 
  4.  *  Title:  接口和抽象函数  
  5.  *  Description: 演示继承抽象函数和实现接口  
  6.  *  Filename: newPlay.java 
  7.  */  
  8.    
  9. //接口   
  10. interface player  
  11. {  
  12.  int flag = 1;  
  13.  void play();//播放  
  14.  void pause();//暂停  
  15.  void stop();//停止  
  16. }//end :)  
  17.   
  18. //抽象类  
  19. abstract class playing  
  20. {  
  21.  public void display(Object oPara)  
  22.  {  
  23.    System.out.println(oPara);    
  24.  }  
  25.  abstract void winRun();  
  26. }//end :)  
  27.   
  28. //继承了playing抽象类和实现类player接口  
  29. public class newPlay extends playing implements player  
  30. {  
  31.   public void play()  
  32.   {  
  33.     display("newPlay.play()");//这里只是演示,去掉了代码。  
  34.   }  
  35.   public void pause()  
  36.   {  
  37.      display("newPlay.pause()");//这里只是演示,去掉了代码。  
  38.   }  
  39.   public void stop()  
  40.   {  
  41.     display("newPlay.stop()");//这里只是演示,去掉了代码。  
  42.   }  
  43.   void winRun()  
  44.   {  
  45.     display("newPlay.winRun()");//这里只是演示,去掉了代码。  
  46.   }  
  47.   public static void main(String[] args)  
  48.   {  
  49.     newPlay p = new newPlay();  
  50.     p.play();  
  51.     p.pause();  
  52.     p.stop();  
  53.     p.winRun();  
  54.   }  
  55. }//end :)  

  1. package test8.com;  
  2.   
  3. /** 
  4.  * Title: 标识符 
  5.  * Description: 演示标识符对类的访问控制 
  6.  * Filename: 
  7.  */  
  8. public class classDemo1 {  
  9.     // 公有方法  
  10.     public void mechod1() {  
  11.         System.out.println("这是一个公有的方法!任何类都可以访问。");  
  12.     }  
  13.   
  14.     // 授保护的方法  
  15.     protected void mechod2() {  
  16.         System.out.println("这是一个受到保护的方法!只有子类可以访问。");  
  17.     }  
  18.   
  19.     // 私有的方法  
  20.     private void mechod3() {  
  21.         System.out.println("这是一个私有的方法!只有类本身才可以访问。");  
  22.     }  
  23.   
  24.     public static void main(String[] args) {  
  25.         classDemo1 d = new classDemo1();  
  26.         d.mechod1();  
  27.         d.mechod2();  
  28.         d.mechod3();  
  29.     }  
  30. }  

  1. package test8.com;  
  2. /** 
  3.  * Title: 标识符 
  4.  * Description: 演示标识符对类的访问控制 
  5.  * Filename:  
  6.  */  
  7. public class classPlay  
  8. {  
  9.   public static void main(String[] args){  
  10.     classDemo1 d = new classDemo1();  
  11.     d.mechod1();  
  12.     d.mechod2();  
  13.     //d.mechod3();  
  14.   }  
  15. }  

  1. package test8.net;  
  2.   
  3. import test8.com.classDemo1;  
  4. /** 
  5.  * Title: 标识符 
  6.  * Description: 演示标识符对类的访问控制 
  7.  * Filename:  
  8.  */  
  9. public class classPlay  
  10. {  
  11.   public static void main(String[] args){  
  12.     classDemo1 d = new classDemo1();  
  13.     d.mechod1();  
  14.   //d.mechod2();  
  15.   //d.mechod3();  
  16.   }  
  17. }  


  1. package test9;  
  2.   
  3. /** 
  4.  * Title: 捕获异常和实现自己的异常 
  5.  * Description: 通过继承Exception类来实现自己的异常类。并使用try-catch来捕获这个异常。 
  6.  * Filename: 
  7.  */  
  8. class MyException extends Exception {  
  9.     private static final long serialVersionUID = 1L;  
  10.   
  11.     public MyException() {  
  12.     }  
  13.   
  14.     public MyException(String msg) {  
  15.         super(msg);  
  16.     }  
  17.   
  18.     public MyException(String msg, int x) {  
  19.         super(msg);  
  20.         i = x;  
  21.     }  
  22.   
  23.     public int val() {  
  24.         return i;  
  25.     }  
  26.   
  27.     private int i;  
  28. }  
  29.   
  30. public class DemoException {  
  31.     /** 
  32.      *方法说明:使用MyException类中默认的构造器 
  33.      */  
  34.     public static void a() throws MyException {  
  35.         System.out.println("Throwing MyException from a()");  
  36.         throw new MyException();  
  37.     }  
  38.   
  39.     /** 
  40.      *方法说明:使用MyException类中带信息的构造器 
  41.      */  
  42.     public static void b() throws MyException {  
  43.         System.out.println("Throwing MyException from b()");  
  44.         throw new MyException("Originated in b()");  
  45.     }  
  46.   
  47.     /** 
  48.      *方法说明:使用了MyException中有编码的构造器 
  49.      */  
  50.     public static void c() throws MyException {  
  51.         System.out.println("Throwing MyException from c()");  
  52.         throw new MyException("Originated in c()"47);  
  53.     }  
  54.   
  55.     public static void main(String[] args) {  
  56.         try {  
  57.             a();  
  58.         } catch (MyException e) {  
  59.             e.getMessage();  
  60.         }  
  61.         try {  
  62.             b();  
  63.         } catch (MyException e) {  
  64.             e.toString();  
  65.         }  
  66.         try {  
  67.             c();  
  68.         } catch (MyException e) {  
  69.             e.printStackTrace();  
  70.             System.out.println("error code: " + e.val());  
  71.         }  
  72.     }  
  73. // end :)  

  1. package test10;  
  2.   
  3. import javax.swing.*;  
  4. import java.awt.*;  
  5.   
  6. /** 
  7.  * Title: 创建自己的窗体  
  8.  * Description:  
  9.  * Filename:mainFrame.java 
  10.  */  
  11. public class mainFrame extends JFrame {  
  12.   
  13.     private static final long serialVersionUID = 1L;  
  14.   
  15.     /** 
  16.      *方法说明:构造器,通过传递参数来完成窗体的绘制。  
  17.      *输入参数:String sTitle 窗体标题  
  18.      *输入参数:int iWidth 窗体的宽度 
  19.      *输入参数:int iHeight 窗体的高度 返回类型: 
  20.      */  
  21.     public mainFrame(String sTitle, int iWidth, int iHeight) {  
  22.         Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();// 获取屏幕尺寸  
  23.         ImageIcon ii = new ImageIcon("middle.gif");  
  24.         setTitle(sTitle);// 设置窗体标题  
  25.         setIconImage(ii.getImage());// 设置窗体的图标  
  26.         setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);// 设置但关闭窗体时退出程序  
  27.         setSize(iWidth, iHeight);// 设置窗体大小  
  28.         int w = getSize().width;// 获取窗体宽度  
  29.         int h = getSize().height;// 获取窗体高度  
  30.         System.out.println("窗体宽:" + w + " 窗体高:" + h);  
  31.         int x = (dim.width - w) / 2;  
  32.         int y = (dim.height - h) / 2;  
  33.         setLocation(x, y);// 将窗体移到屏幕中间  
  34.         setVisible(true);// 显示窗体  
  35.     }  
  36.   
  37.     public static void main(String[] args) {  
  38.         JFrame.setDefaultLookAndFeelDecorated(true);// 使用最新的SWING外观  
  39.         new mainFrame("main Frame Demo"400300);  
  40.     }  
  41. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值