`
收藏列表
标题 标签 来源
88888888888888
111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888

111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888
111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888111111111111
222222222222222
333333333333
444444444444
555555555555555
6666666666666666666
77777777777777
888888888888888888
777777777
7777777777777777777
面试
Spring MVC与Struts 1与Struts 2比较
Spring IOC与New
Spring AOP与编程式事务
Spring Security与MD5
Hibernate与MyBatis
Jboss与Tomcat与WebSpere
Web 2.0与Web 1.0
Oracle与SQL
软件开发流程和常见文档
Rest与WebService
Jquery与Ext-js比较
EXTJS总结 extjs总结
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<TITLE>EXTJS练习</TITLE>
</HEAD>
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css"/>
<script language="javascript"  src="extjs/adapter/ext/ext-base.js"></script>
<script language="javascript"  src="extjs/ext-all.js"></script>
 <BODY>
<div style="margin:5px 15px 5px 15px;width:100%;height:2000px;" >
 <p> <p/> 
 <p> <p/> 
<table style="width:100%;border-width:1px;border-color:blue;" >
<tr>
<td><input type="button" value="模态窗口" onclick="openWindow()"></td>
<td><input type="button" value="不能关闭的模态窗口" onclick="openWindowNoClose()"></td>
<td><input type="button" value="面     板" onclick="openPanel()"></td>
<td><input type="button" value="column布局" onclick="openPanelLayout()"></td>
<td><input type="button" value="form布局" onclick="openPanelForm()"></td>
</tr>
<tr>
<td><input type="button" value="Accordion布局" onclick="openPanelAccordion()"></td>
<td><input type="button" value="Table布局" onclick="openPanelTable()"></td>
<td><input type="button" value="面     板" onclick="openPanel()"></td>
<td><input type="button" value="可编辑表格" onclick="openEditorGridPanel()"></td>
<td> <input type="button" value="树形控件" onclick="openTreePanel()"></td>
</tr>
<tr>
<td><input type="button" value="选项面板" onclick="openTabPanel()"></td>
<td><input type="button" value="点击事件"  id="clickId"></td>
<td><input type="button" value="点击事件延迟"  id="clickIdDelay"></td>
<td><input type="button" value="viewPort效果"  onclick="showViewPort()"></td>
<td><input type="button" value="后台管理系统"  onclick="showManagerView()"></td>
</tr>
<tr>
<td><input type="button" value="component属性"  onclick="showComponentAttr()"></td>
<td><button id="mb1">确认框弹出来</button></td>
<td><button id="mb2">输入text再确认</button></td>
<td><button id="mb3">输入textArea再确认</button></td>
<td><button id="mb4">Yes/No/Cancel</button></td>
</tr>
<tr>
<td><input type="button" value="component属性"  onclick="showComponentAttr()"></td>
<td><button id="mb6"> 进度条</button></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<div id="panelDiv"></div><br><br>   
  <div id="accordionDiv"></div><br><br>   
  <div id="treeDiv"></div><br><br>   
  <div id="formDiv"></div> <br><br>   
  <div id="GridPanelDiv"></div> <br><br>   
  <div id="EditorGridPanelDiv"></div><br><br>   
  <div id="TableDiv"></div><br><br>   
  <div id="compocontDiv"></div><br><br>   
  <div id="tabPanelDiv"></div>   
  </div>   
   <select id="positionDiv">   
  <option>小前锋</option>   
  <option>大前锋</option>   
  <option>中锋</option>   
  <option>得分后卫</option>   
  <option>组织后卫</option>   
  </select>   
  
  
  <script language="javascript">   
showComponentAttr();   
function showComponentAttr()   
{   
      new Ext.Panel(   
      {   
              allowDomMove:true,   
               renderTo:"compocontDiv",   
               title:"compocont属性",   
               width:800,   
               height:500,   
               html:"<p style='text-align:center;margin-top:20px;font-weight:700;font-family:arial;color:red;'>大家好,我是总决赛MVP、全明星MVP、最佳阵容一队、全明星技巧大赛冠军、得分王德维恩-韦德!</p>",   
               tools:    
               [{ id:"save"},   
               {id:"help",handler:function (){Ext.MessageBox.alert("help","帮助信息请查看http://www.bangzhu.com");}},   
               { id:"close",handler:function (){Ext.MessageBox.alert("close","关闭窗口请查看http://www.guanbi.com");}} ],   
               tbar:[{text:'顶部工具栏'},{pressed:false,text:'刷新'}],   
               bbar:[{text:'底部工具栏'}],   
               buttons:[{text:'按钮1'},{text:'按钮2'}]   
      }   
      );   
}   
    Ext.onReady(function ()   
    {   
           //Ext.MessageBox.alert("","欢迎光临,韦德先生!");   
           Ext.get("clickId").addListener("click",function (){alert("监控!");});   
           Ext.get("clickIdDelay").on("click",function (){alert("监控!");},this,{delay:2000});   
           Ext.get('mb1').on('click', function(e)   
            {   
                 Ext.MessageBox.confirm('确认框', '你真的想跳,考虑清楚啦?', function (btn)   
                 {   
                      Ext.MessageBox.alert('',btn);   
                 });   
            });  

Ext.get('mb2').on('click', function(e)   
{   
           Ext.MessageBox.prompt('姓名', '请输入姓名:', function (btn,text)   
        {   
              Ext.MessageBox.alert('',btn+":"+text);   
        });   
   });   
  
   Ext.get('mb3').on('click', function(e){   
       Ext.MessageBox.show({   
          title: '地址',   
          msg: '请输入地址:',   
          width:300,   
          buttons: Ext.MessageBox.OKCANCEL,   
          multiline: true,   
          fn: function (btn,text)   
        {   
              Ext.MessageBox.alert('',btn+":"+text);   
        },   
          animEl: 'mb3'  
      });   
   });   
  
   Ext.get('mb4').on('click', function(e){   
       Ext.MessageBox.show({   
          title:'保存修改',   
          msg: '你已经修改了你的生日信息. <br />确认要修改吗?',   
          buttons: Ext.MessageBox.YESNOCANCEL,   
          fn: function (btn)   
             {   
                  Ext.MessageBox.alert('',btn);   
             },   
          animEl: 'mb4',   
          icon: Ext.MessageBox.QUESTION   
      });   
   });   
  
  
   Ext.get('mb6').on('click', function(){   
       Ext.MessageBox.show({   
          title: '请稍等',   
          msg: '正在处理...',   
          progressText: 'Initializing...',   
          width:300,   
          progress:true,   
          closable:false,   
          animEl: 'mb6'  
      });   
      var f = function(v)   
   {   
           return function(){   
               if(v == 12){   
                   Ext.MessageBox.hide();   
                   Ext.MessageBox.alert('','加载已完成');   
               }else{   
                   var i = v/11;   
                   Ext.MessageBox.updateProgress(i, Math.round(100*i)+'% completed');   
               }   
          };   
      };   
      for(var i = 1; i < 13; i++){   
          setTimeout(f(i), i*500);   
      }   
   });   
     
});  
function showViewPort()   
   {   
        new Ext.Viewport(   
        {   
            enableTabScroll:true,   
            layout:'fit',   
            items:[{title:'viewPort',html:'韦德+詹姆斯+波什=总冠军 ',bbar:[{text:'我的待办'},{text:'我的工作'}]}]   
        });   
   }   
  
   function showManagerView()   
   {   
        new Ext.Viewport(   
        {   
            enableTabScroll:true,   
            layout:'border',   
            items:   
            [{title:'',region:'north',height:100,html:'<br><br><b style=font-size:20px;color:red;>吉安青山国际机场运营系统</b>',bbar:[{text:'我的待办'},{text:'我的审批'},{text:'我的收藏'},{text:'我的设置'},{text:'注销'}]},   
            {title:'菜单',region:'west',html:'菜单栏 ',width:200,collapsible:true},   
            {xtype:'tabpanel',region:'center',items:[{title:'韦德'},{title:'詹姆斯'}]}   
            ]   
        });   
  
        /*new Ext.Panel(  
        {  
        renderTo:"panelDiv",  
        width:700,  
        height:800,  
            enableTabScroll:true,  
            layout:'border',  
            items:  
            [{title:'',region:'north',height:100,html:'<br><br><b style=font-size:20px;color:red;>吉安青山国际机场运营系统</b>',bbar:[{text:'我的待办'},{text:'我的审批'},{text:'我的收藏'},{text:'我的设置'},{text:'注销'}]},  
 
            {title:'菜单',region:'west',html:'菜单栏 ',width:200,collapsible:true},  
            new Ext.TabPanel({region:'center',items:[{title:'韦德',html:'rrrrwadewade+wade'},{title:'詹姆斯',html:'james+sdfsdg'}]}),  
            {title:'菜单2',region:'east',html:'菜单栏2 ',width:150,collapsible:false}  
 
            ]  
        });*/  
   }   
  
   var winIndex = 0;   
   function openWindow()   
   {   
        var winContext =    
        {   
            title:"窗体"+winIndex++,   
            width:400,   
            height:300,   
            maximizable:true,   
            minimizable:true,   
            resizable:true,   
            draggable:true,   
            closable:true,   
            html:"<p>大家好,我是MVP韦德!</p>"  
        };   
        var win = new Ext.Window(winContext);   
        win.show();   
   }  
function openWindowNoClose()   
  {   
       var winContext = {title:"我是不能关的窗体",width:800,height:500,html:"<p>大家好,我是MVP韦德!</p>"};   
       var win = new Ext.Window(winContext);   
    win.on("beforedestroy",function (obj)   
    {   
         alert("别费力气了,关不掉的。");   
         obj.show();   
         return false;   
    });   
       win.show();   
  }   
  
   function openPanel()   
  {   
        var panCon =    
     {   
           renderTo:"panelDiv",   
           title:"我是面板",   
           width:800,   
           height:500,   
           html:"<p>大家好,我是MVP韦德!</p>",   
           tools:    
           [{ id:"save"},   
           {id:"help",handler:function (){Ext.MessageBox.alert("help","帮助信息请查看http://www.bangzhu.com");}},   
           { id:"close",handler:function (){Ext.MessageBox.alert("close","关闭窗口请查看http://www.guanbi.com");}} ],   
           tbar:[{text:'顶部工具栏'},{pressed:false,text:'刷新'}],   
           bbar:[{text:'底部工具栏'}],   
           buttons:[{text:'按钮1'},{text:'按钮2'}]   
    };   
        new Ext.Panel(panCon);   
     //var panCon = {title:"我是面板",width:800,height:500,html:"<p>大家好,我是MVP韦德!</p>"};   
        //var pan = new Ext.Panel(panCon);   
        //pan.render("hello");   
  }   
  
    function openPanelLayout()   
  {   
        var panCon =    
     {   
           renderTo:"panelDiv",   
           title:"我是面板",   
           width:800,   
           height:500,   
           //html:"<p>大家好,我是MVP韦德!</p>",   
           layout:'column',   
           tools:    
           [{ id:"save"},   
           {id:"help",handler:function (){Ext.MessageBox.alert("help","帮助信息请查看http://www.bangzhu.com");}},   
           { id:"close",handler:function (){Ext.MessageBox.alert("close","关闭窗口请查看http://www.guanbi.com");}} ],   
           tbar:[{text:'顶部工具栏'},{pressed:false,text:'刷新'}],   
           bbar:[{text:'底部工具栏'}],   
           buttons:[{text:'按钮1'},{text:'按钮2'}],   
           items:[{title:'1111',html:'1111',columnWidth:0.3},   
           {title:'2222',html:'2222',columnWidth:0.3},   
           {title:'3333',html:'3333',columnWidth:0.4}]   
    };   
        new Ext.Panel(panCon);   
  }  
function openPanelForm()   
  {   
        /*var panCon =   
     {  
           renderTo:"formDiv",  
           title:"form",  
           width:800,  
           height:500,  
           layout:'form',  
           labelAlign:'right',  
           buttons:[{text:'按钮1'},{text:'按钮2'}],  
           defaultType:'textfield',  
           items:[{fieldLabel:'姓名',id:'name'},  
           {fieldLabel:'地址',id:'addr'},  
           {fieldLabel:'电话',id:'tel'}]  
    };  
        new Ext.Panel(panCon);*/  
  
      var panCon =    
     {   
           renderTo:"formDiv",   
           title:"form",   
           width:800,   
           height:500,   
           labelAlign:'right',   
           buttons:[{text:'按钮1'},{text:'按钮2'}],   
           defaultType:'textfield',   
           items:[{fieldLabel:'姓名',id:'name'},   
           {fieldLabel:'地址',id:'addr'},   
           {fieldLabel:'电话',id:'tel'}]   
    };   
        new Ext.FormPanel(panCon);   
  }   
     
   function openPanelAccordion()   
  {   
        var panCon =    
     {   
           renderTo:"accordionDiv",   
           title:"accordion",   
           width:300,   
           height:500,   
           layout:'accordion',   
           layoutConfig:{animate:true},   
           buttons:[{text:'按钮1'},{text:'按钮2'}],   
           items:[{title:'频道管理',html:'name'},   
           {title:'信息发布管理',html:'addr'},   
           {title:'应用信息',html:'tel'}]   
    };   
        new Ext.Panel(panCon);   
  }   
  
    function openPanelTable()   
  {   
        var panCon =    
     {   
           renderTo:"TableDiv",   
           title:"table",   
           width:600,   
           height:500,   
           layout:'table',   
           layoutConfig:{columns:3},   
           items:[{title:'1111',html:'1111',rowspan:2,height:100},   
           {html:'2222',colspan:2,height:100},   
           {html:'3333',height:100}, {html:'4444',height:100}]   
    };   
        new Ext.Panel(panCon);   
  }  
function openGridPanel()   
  {   
        /*  
     //普通的数据存储  
     var data = [  
     [1,'韦德','得分后卫','28.6','http://www.nba.com/players/id=wade'],[2,'杜兰特','小前锋','28.2','http://www.nba.com/players/id=dulat'],  
     [3,'詹姆斯','小前锋','27.8','http://www.nba.com/players/id=james'],[4,'麦克格雷迪','得分后卫/小前锋','27.6','http://www.nba.com/players/id=mcgrady']];*/  
     //var store = new Ext.data.SimpleStore({data:data,fields:['id','name','station','point','url']});   
           
     /*  
       //xml类型的数据存储  
       var  store = new Ext.data.Store({url:'nba.xml',reader:new Ext.data.XmlReader({recode:'row'},['id','name','station','point','url'])});*/  
  
     //Json类型的数据存储   
         var data = [   
     {id:1,name:'韦德',station:'得分后卫',point:'28.6',url:'http://www.nba.com/players/id=wade'},   
     {id:2,name:'杜兰特',station:'小前锋',point:'28.2',url:'http://www.nba.com/players/id=dulat'},   
     {id:3,name:'詹姆斯',station:'小前锋',point:'27.8',url:'http://www.nba.com/players/id=james'},   
     {id:4,name:'麦克格雷迪',station:'得分后卫/小前锋',point:'27.6',url:'http://www.nba.com/players/id=mcgrady'}];   
     var store = new Ext.data.JsonStore({data:data,fields:['id','name','station','point','url']});   
           
        var columnMo = new Ext.grid.ColumnModel([   
     {header:'排名',dataIndex:'id',sortable:true,width:200,height:50},   
     {header:'姓名',dataIndex:'name',sortable:true,width:200},   
     {header:'位置',dataIndex:'station',sortable:true,width:200},    
     {header:'得分',dataIndex:'point',sortable:true,width:200},   
     {header:'个人黄页',dataIndex:'url',sortable:true,width:200,renderer:showUrl}   
     ]);   
       
        var con =    
     {   
           renderTo:"GridPanelDiv",   
           title:"2011-2012赛季NBA球员评分榜",   
           width:1020,   
           height:200,   
           store:store,   
           cm:columnMo   
    };   
        new Ext.grid.GridPanel(con);   
        //store.load();   
  } 
function openEditorGridPanel()   
   {   
          var data = [   
         {id:1,name:'韦德',station:'得分后卫',point:'28.6',url:'http://www.nba.com/players/id=wade',birth:'2011-01-05'},   
         {id:2,name:'杜兰特',station:'小前锋',point:'28.2',url:'http://www.nba.com/players/id=dulat',birth:'2011-11-05'},   
         {id:3,name:'詹姆斯',station:'小前锋',point:'27.8',url:'http://www.nba.com/players/id=james',birth:'2012-01-05'},   
         {id:4,name:'麦克格雷迪',station:'得分后卫/小前锋',point:'27.6',url:'http://www.nba.com/players/id=mcgrady',birth:'2001-10-05'}];   
         var store = new Ext.data.JsonStore({data:data,fields:['id','name','station','point','url',{name:'birth',type:'date',dateFormat:'Y-n-j'}]});   
         var columnMo = new Ext.grid.ColumnModel([   
         {header:'排名',dataIndex:'id',sortable:true,width:200,height:50},   
         {header:'姓名',dataIndex:'name',sortable:true,width:200,editor:new Ext.form.TextField()},   
         {header:'位置',dataIndex:'station',sortable:true,width:200,editor:new Ext.form.ComboBox(   
         {   
              transform:'positionDiv',   
              triggerAction:'all'  
         }   
         )},    
         {header:'得分',dataIndex:'point',sortable:true,width:200,editor:new Ext.form.TextField()},   
         {header:'个人黄页',dataIndex:'url',sortable:true,width:200,renderer:showUrl,editor:new Ext.form.TextField()},   
         {header:'生日',dataIndex:'birth',sortable:true,width:200,renderer:Ext.util.Format.dateRenderer('Y年m月d日'),editor:new Ext.form.DateField({format:'Y年m月d日'})}   
         ]);   
           
         var con =    
         {   
               renderTo:"EditorGridPanelDiv",   
               title:"2011-2012赛季NBA球员评分榜",   
               width:1220,   
               height:200,   
               store:store,   
               cm:columnMo,   
               clicksToEdit:1   
        };   
         new Ext.grid.EditorGridPanel(con);   
   }   
      
   function showUrl(value)   
   {   
        return "<a href="+value+" target='_blank'>"+value+"</a>";   
   }   
  
    function openTabPanel()   
   {   
         var tabJson ={ renderTo:"tabPanelDiv",title:"我是面板",width:800,height:500,items:[{title:'面板1',html:'<p>大家好,我是面板1!</p>'},   
         {title:'面板2',html:'<p>大家好,我是面板2!</p>'},{title:'面板3',html:'<p>大家好,我是面板3!</p>'}]};   
         new Ext.TabPanel(tabJson);   
   }  

function openTreePanel()   
   {   
          var root1 = new Ext.tree.TreeNode({id:'广东',text:'广东'});   
          var shenzhen = new Ext.tree.TreeNode({id:'深圳',text:'深圳'});   
          shenzhen.appendChild(new Ext.tree.TreeNode({id:'宝安区',text:'宝安区',href:'http://www.guangdong.com/id=shenzhen-baoan',hrefTarget:'_blank'}));   
          shenzhen.appendChild(new Ext.tree.TreeNode({id:'南山区',text:'南山区',href:'http://www.guangdong.com/id=shenzhen-baoan',hrefTarget:'_blank'}));   
          shenzhen.appendChild(new Ext.tree.TreeNode({id:'福田区',text:'福田区',href:'http://www.guangdong.com/id=shenzhen-baoan',hrefTarget:'_blank'}));   
          shenzhen.appendChild(new Ext.tree.TreeNode({id:'罗湖区',text:'罗湖区',href:'http://www.guangdong.com/id=shenzhen-baoan',hrefTarget:'_blank'}));   
          shenzhen.appendChild(new Ext.tree.TreeNode({id:'盐田区',text:'盐田区',href:'http://www.guangdong.com/id=shenzhen-baoan',hrefTarget:'_blank'}));   
          shenzhen.appendChild(new Ext.tree.TreeNode({id:'龙岗区',text:'龙岗区',href:'http://www.guangdong.com/id=shenzhen-baoan',hrefTarget:'_blank'}));   
          root1.appendChild(shenzhen);   
  
          var guangzhou = new Ext.tree.TreeNode({id:'广州',text:'广州'});   
          guangzhou.appendChild(new Ext.tree.TreeNode({id:'天河区',text:'天河区',href:'http://www.guangdong.com/id=shenzhen-baoan',hrefTarget:'_blank'}));   
         guangzhou.appendChild(new Ext.tree.TreeNode({id:'越秀区',text:'越秀区',href:'http://www.guangdong.com/id=shenzhen-baoan',hrefTarget:'_blank'}));   
         guangzhou.appendChild(new Ext.tree.TreeNode({id:'白云区',text:'白云区',href:'http://www.guangdong.com/id=shenzhen-baoan',hrefTarget:'_blank'}));   
          root1.appendChild(guangzhou);   
          root1.appendChild(new Ext.tree.TreeNode({id:'东莞',text:'东莞',href:'http://www.guangdong.com/id=shenzhen-baoan',hrefTarget:'_blank'}));   
          root1.appendChild(new Ext.tree.TreeNode({id:'佛山',text:'佛山',href:'http://www.guangdong.com/id=shenzhen-baoan',hrefTarget:'_blank'}));   
          root1.appendChild(new Ext.tree.TreeNode({id:'珠海',text:'珠海',href:'http://www.guangdong.com/id=shenzhen-baoan',hrefTarget:'_blank'}));   
          root1.appendChild(new Ext.tree.TreeNode({id:'湛江',text:'湛江',href:'http://www.guangdong.com/id=shenzhen-baoan',hrefTarget:'_blank'}));   
           var tree = new Ext.tree.TreePanel(   
           {   
                renderTo:'treeDiv',   
                autoScroll:true,   
                animate:true,   
                root:root1,   
                width:300   
            });   
         tree.on('click',function(node,event)   
         {   
              alert(node.id);   
                
         });   
  
     /*加载url的树形菜单  
     var loader = new Ext.tree.TreeLoader({url:'http://w3-beta.huawei.com/w3admin/infohome.do?pcatalog=catalog'});  
     var root = new Ext.tree.TreeNode({id:'广东',text:'广东',loader:loader});  
     var tree = new Ext.tree.TreePanel(  
           {  
                renderTo:'treeDiv',  
                autoScroll:true,  
                animate:true,  
                root:root1,  
                width:300  
            });  
     */  
  
   }  
/*   
//获取id为div1的第一个元素   
var c1 = Ext.get("wade1");   
  
//获取id为div1的元素集合   
var c3 = Ext.select("#wade1");   
  
//获取title=wade的Ext.CompositeElement类型集合   
var c4 = Ext.select("#div[title=wade]");   
  
//获取title=wade的dom类型集合   
var c5 = Ext.query("#div[title=wade]");   
  
//获得title属性值   
var e1 = div6.first();   
var c7 = e1.getAttribute("title");   
  
//设置title属性值   
e1.set('title','NewTitle');   
  
//增加样式   
c6.addCls("class1");   
  
//删除样式   
c6.removeCls("class1");   
  
//是否存在样式   
c6.hasCls("class1");   
  
//获取html值   
var c7 = e1.dom.innerHTML;   
  
//修改html的值   
e1.update("<b>更醒后的</b>");   
  
//获得元素的value值   
var c8 = e1.getValue();    
  
//设置元素的value值   
e1.set({value: 150 });    
  
//查找class为c1的元素集合   
var c9 = Ext.select(".c1");   
  
//筛选第2个元素返回   
var c10 = c9.item(2);   
  
//筛选第一个和最后一个元素返回   
var c10 = c9.first();   
var c10 = c9.last();   
  
//进一步过滤   
var c10 = c9.filter("div[title=t1]");   
  
//e元素结束之前插入   
var e = Ext.select("div .c1");    
var ee = e..first();   
ee.insertHtml("beforeEnd", "<b>新内容</b>");    
  
//e元素结束之后插入   
ee.insertHtml("afterEnd", "<b>新内容</b>");    
  
//e元素开始之前插入   
ee.insertHtml("beforeBegin", "<b>新内容</b>"); 
//e元素开始之后插入   
ee.insertHtml("afterBegin", "<b>新内容</b>");    
  
//移除集合中第三个元素    
e.removeElement(2, true);   
  
//删除    
e.first().remove();    
  
//设置样式    
e.setStyle("width", "550px");    
e.applyStyles   
({    
    height: "500px",    
    color: "red",    
    position: "absolute"    
});    
  
//设置高度,带动画效果    
e.setHeight(100, true);    
  
//设置定位    
e.setLeft("50px");    
e.setTop("10px");    
e.setLeftTop("100px", "50px");    
  
//获取宽度    
e.getWidth();    
    
//给元素绑定click事件:    
var clickhandler = function ()   
{    
    Ext.Msg.alert("消息", "click事件被触发!");    
};    
e.on("click", clickhandler);    
  
//解除绑定click事件    
e.un("click", clickhandler);    
  
//hover事件   
e.hover(function () {    
    e.setStyle("background-color", "Red");    
}, function () {    
    e.setStyle("background-color", "Aqua");    
});   
  
常用的组件或控件----------------------------------------------------------------------------------------   
对话框、窗口、面板、多选项面板、viewPort面板、事件处理、layout布局、表格、可编辑表格、树形菜单   
layout布局----form,fit,table,border,accordion,column,card   
*/   
  
  
</script>   
</BODY>   
</HTML>  
jquery-ui总结
组件-----对话框、窗口、面板、多选项面板、viewport面板、表格、可编辑表格、树形、
控件-----拖拽、可调大小、日期、




jquery-ui的用法:

<script language="javascript"  src="jquery-ui-1.js"></script>
<link href="jquery-ui-themes.css" rel="stylesheet" type="text/css"/>

<div  id="dragDiv" style="text-align:center;border:1px solid #dcdcdc;width:400px;height:205px;padding-top:6px) ">
<p> </p>
大家好,我是可以被拖拽的窗体!
</div>
<div  id="dragDiv2" style="text-align:center;border:1px solid #dcdcdc;width:400px;height:205px;padding-top:6px) ">
<p> </p>
大家好,我是拖拽触发的事件!
</div>
  //使窗体拖拽
  $("#dragDiv").draggable();            
  
  //拖到某标签事件
   $("#dragDiv2").droppable
   ({      
        //accept: "#dragDiv",      
        //activeClass: 'droppable-active',      
        //hoverClass: 'droppable-hover',      
        drop: function(ev, ui) 
		{      
            $(this).append("又撞到了我一下  。。。");      
         }      
  });      


//日历控件
 function showDatepicker(obj)
 {
      $(obj).datepicker();
 }

/排序的文件
$("#myList").sortable({});

//改变大小
$(”#example”).resizable();   

//折叠菜单
$(”#example”).accordion();     

//打开对话框
$("#example").dialog(); 

//sliders滑动条
$("#example").slider();

//表格排序
$("#example").tablesorter({sortList:[[0,0],[2,1]], widgets: ['zebra']}); 

//tab页标签
$("#example > ul").tabs(); 

Rest服务代码
&&&&& 关于rest服务   
http://dggap001-ts.huawei.com/service/rest/applicationinfo/2   
  
jsr311-api.jar   
wink-1.1.3-incubating.jar   
  
web.xml配置:   
<servlet>   
        <servlet-name>RestService</servlet-name>   
        <servlet-class>org.apache.wink.server.internal.servlet.RestServlet</servlet-class>   
        <init-param>   
            <param-name>applicationConfigLocation</param-name>   
            <param-value>/WEB-INF/resources</param-value>   
        </init-param>                
        <load-on-startup>1</load-on-startup>   
    </servlet>           
  
  
  
resource.resource   
  
com.huawei.w3.framework.web.service.rest.userprofile.UserProfileResource   
com.huawei.w3.framework.web.service.appinfo.ApplicationInfoResource   
com.huawei.w3.framework.web.service.appinfo.ApplicationInfoCommentResource   
com.huawei.w3.framework.web.service.bookmark.Bookmark   
com.huawei.w3.framework.web.service.bookmark.BookmarkTag   
com.huawei.w3.framework.web.service.header.Header   
  
  
  
ApplicationInfoResource.java   
  
import javax.servlet.http.HttpServletRequest;   
import javax.servlet.http.HttpSession;   
import javax.ws.rs.GET;   
import javax.ws.rs.Path;   
import javax.ws.rs.PathParam;   
import javax.ws.rs.Produces;   
import javax.ws.rs.QueryParam;   
import javax.ws.rs.core.Context;   
import org.json.JSONArray;   
import org.json.JSONException;   
import org.json.JSONObject;   
@Path("/applicationinfo")   
public class ApplicationInfoResource    
{   
   @Context HttpServletRequest req;   
  
        @SuppressWgs("unchecked")   
    @GET   
    @Produces("application/json")   
    public JSONArray getAppDomains(@QueryParam("lan") String lan) throws ApplicationException, JSONException   
    {    
         JSONArray jsonArray = new JSONArray();   
         JSONObject obj = new JSONObject();   
         obj.put("name", "wade");   
         jsonArray.put(obj);   
         return jsonArray;   
    }   
  
    @GET   
    @Path("/id/{applicationid}")   
    @Produces("application/json")   
    public JSONObject getAllApplicationBasic(@PathParam("applicationid") String applicationid,@QueryParam("lan") String lan) throws Exception   
    {   
        JSONObject obj = new JSONObject();   
        obj.put("appId", vo.getAppid());   
        obj.put("appShortName", isEn?vo.getAppShortNameEn():vo.getAppShortNameCn());           
        return obj;   
    }   
}  


rest是针对http协议的web服务,其get、delete、put、post是增对数据库的增删改查操作,优点简洁高效   
webservice针对soap协议的web服务,优点成熟安全   
  
  
  
  
                 $.ajax({   
            url: "http://dggap001-ts.huawei.com/service/rest/userprofile?time=44444",   
            type:"GET",   
            contentType:"application/json;charset=utf-8",   
                dataType:"json",   
            success:function(data){},   
            error:function(msg){}   
        });   
  
  
  
  
               Object returnObj  = new Object();   
               String method = "get";   
               String returnDataType = "jsonarray";   
               RestClient client = new RestClient();   
               Resource resource = client.resource(url);   
                                if(method.toLowerCase().equals("get"))   
                {   
                    returnObj = resource.accept("application/json").get("jsonarray".equals(returnDataType) ? JSONArray.class : JSONObject.class);   
                }   
                else if(method.toLowerCase().equals("post"))   
                {   
                    returnObj = resource.contentType("application/json").accept("application/json").post(String.class,new JSONObject(data));   
                }   
                else if(method.toLowerCase().equals("put"))   
                {   
                    returnObj = resource.contentType("application/json").accept("application/json").put(Object.class);   
                }   
                else if(method.toLowerCase().equals("delete"))   
                {   
                    returnObj = resource.accept("application/json").delete(Object.class);   
                }                  
  
       <html>   
<head>   
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">   
<title>Rest</title>   
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>   
<script type="text/javascript" src="js/jquery.json-2.2.min.js"></script>   
<script type="text/javascript" src="js/RestHelper.js"></script>   
<script>   
var wade ={"id":"3","point":"27.9","name":"wade"};   
var james ={"id":"6","point":"28.2","name":"james"};   
var carter ={"id":"15","point":"24.2","name":"Carter"};   
var nbaArray = new Array();   
nbaArray[0] = wade;   
nbaArray[1] = james;   
$(nbaArray).each(function ()   
{   
     //alert("5===="+this.name);   
});   
for(var i=0;i<nbaArray.length;i++)   
{   
     //alert("6===="+nbaArray[i].name);   
}   
//alert($.toJSON(carter));   
//alert($.toJSON(nbaArray));  

function getJsonObj()   
{   
   $.ajax({   
            url : "http://localhost.huawei.com:9133/service/rest/applicationinfo/getJsonObj",   
            type : "get",   
            data : "id=3&name=wade&point=27.7",   
            contentType:"application/json;charset=utf-8",   
            error : function(msg)   
            {   
                alert("error: "+msg.status);   
            },   
            success : function(msg)   
            {   
                var divText = "id: "+msg.id+";  name: "+msg.name+";   point: "+msg.point;   
                $("#jsonObjId").text(divText);   
            }   
       });   
}   
       
function getJsonArray()   
{   
  
   $.ajax({   
            url : "http://localhost.huawei.com:9133/service/rest/applicationinfo/getJsonArray",   
            type : "get",   
            //data : 'id=3&name=wade&point=27.7&james={"id":"15","point":"24.2","name":"Carter"}',   
            data : 'id=16&name=czj&point=20.7&james='+$.toJSON(carter)+'&array='+$.toJSON(nbaArray),   
            contentType:"application/json;charset=utf-8",   
            error : function(msg)   
            {   
                alert("error: "+msg.status);   
            },   
            success : function(msg)   
            {   
                var divText = "";   
                $(msg).each(function ()   
                {   
                    divText+="id: "+this.id+";  name: "+this.name+";   point: "+this.point+"  ";   
                });   
                $("#jsonArrayId").text(divText);   
            }   
       });   
}   
  
</script>   
</head>   
<body style="text-align:center;margin:auto;scroller:no;" onload="$('#jsonpa').hide();">   
<div style="margin-top:20px; text-align:left; width:650px;">   
<p> </p>   
  
  
<a href="javascript:getJsonObj();">提  交I</a>   
<div id="jsonObjId">   
</div>   
  
<p> </p>   
<a href="javascript:getJsonArray();">提  交II</a>   
<div id="jsonArrayId">   
</div>   
</div>   
</body>   
</html> 

@SuppressWarnings("unchecked")   
    @GET   
    @Path("/getJsonObj")   
    @Produces("application/json")   
    public JSONObject getJsonObj(@QueryParam("id") String id,@QueryParam("name") String name,   
            @QueryParam("point") String point)  throws Exception   
    {   
        JSONObject obj = new JSONObject();   
        obj.put("id",id);   
        obj.put("name",name);   
        obj.put("point",point);   
        return obj;   
    }   
       
    @SuppressWarnings("unchecked")   
    @GET   
    @Path("/getJsonArray")   
    @Produces("application/json")   
    public JSONArray getJsonArray(@QueryParam("id") String id,@QueryParam("name") String name,   
            @QueryParam("point") String point,@QueryParam("james") JSONObject james,@QueryParam("array") JSONArray arrayParam)  throws Exception   
    {   
        JSONArray array = new JSONArray();   
        JSONObject obj = new JSONObject();   
        obj.put("id",id);   
        obj.put("name",name);   
        obj.put("point",point);   
        array.put(obj);   
        array.put(james);   
        for(int i=0;i<arrayParam.length();i++)   
        {   
            JSONObject jOb = arrayParam.getJSONObject(i);   
            array.put(jOb);   
        }   
        return array;   
    }   
  
  
  
public List getMyApplicationAll(HttpServletRequest request,PageVO page) throws JSONException   
{   
        String urlParam = "/task/allapplist?curpage="+page.getCurPage()+"&num="+page.getCountPerPage() ;   
        org.json.JSONArray jsonAarry =(org.json.JSONArray)JsonUtil.getRestServiceData(request,urlParam);   
        StringBuffer bf=new StringBuffer();   
        List<W3ToDoTaskVO> taskVOList=null;   
        bf.append("[").append(jsonAarry.join(",")).append("]");   
                net.sf.json.JSONArray jsonArr= net.sf.json.JSONArray.fromObject(bf.toString());   
        taskVOList=new ArrayList<W3ToDoTaskVO>();   
        if(null!=jsonArr&&jsonArr.size()>0)   
        {   
            for(int i=0;i<jsonArr.size();i++)   
            {   
                taskVOList.add((W3ToDoTaskVO)JSONObject.toBean(jsonArr.getJSONObject(i), W3ToDoTaskVO.class));   
            }   
        }   
        return taskVOList;   
}   
  
  
  
public static  Object getRestServiceData(HttpServletRequest request,String urlParam)    
    {   
        Object obj=null;   
        try    
        {   
            String url = DAOService.getPatterConfigValue("respath_config", "w3_service_root");   
            url = url+urlParam;   
            obj=restData(request,url.replaceAll(" ", "%20"),"get","");   
        }   
        catch (Exception e) {}   
        return obj;   
    }  

private static  Object     restData(HttpServletRequest request,String url, String method,String returnDataType)   
    throws ApplicationException,JSONException, URISyntaxException, IOException, org.apache.wink.json4j.JSONException    
    {   
        if(StringUtils.isEmpty(returnDataType))returnDataType="jsonarray";   
        Object j  = new Object();              
        RestClient client = new RestClient();          
        Resource resource = client.resource(url);   
        String cookieStr = "";   
        for(Cookie k : request.getCookies())   
        {   
            cookieStr += k.getName() + "=" + k.getValue()+"; ";   
        }   
        resource.cookie(cookieStr);   
        try  
        {                  
            if(method.toLowerCase().equals("get"))   
            {   
                j = resource.accept("application/json").get("jsonarray".equals(returnDataType) ? org.json.JSONArray.class :org.json.JSONObject.class);   
            }   
            else if(method.toLowerCase().equals("post"))   
            {   
                j = resource.contentType("application/json").accept("application/json").post(String.class,new org.json.JSONObject(""));   
            }   
            else if(method.toLowerCase().equals("put"))   
            {   
                j = resource.contentType("application/json").accept("application/json").put(Object.class);   
            }   
            else if(method.toLowerCase().equals("delete"))   
            {   
                j = resource.accept("application/json").delete(Object.class);   
            }                                  
        }   
        catch(ClientWebException es)   
        {   
            return null;   
        }   
        catch(Exception e)   
        {   
            return null;   
        }   
        return j;   
    }  
分页标签
function getPaginationTag(totalRows,currentPage,totalPages,lan)
{
        var pageFrontCn = "总共:"+totalRows+"  页码:"+currentPage+"/"+totalPages; 
        var pageFrontEn = "Total:"+totalRows+" Page:"+currentPage+"/"+totalPages; 
		var isEn = "en"==lan;
	    var  siglePageSpan = isEn?"<span style='text-align:center;margin-right:15px;'>"+pageFrontEn+"</span> "
		                                      :"<span style='text-align:center;margin-right:15px;'>"+pageFrontCn+"</span> ";
		var prePage = isEn?"Prex":"上一页";
		var nextPage = isEn?"Next":"下一页";
		var  siglePage = currentPage==1?siglePageSpan+"<a style='color:#dcdcdc;'>"+prePage+"</a>"
														 :siglePageSpan+ "<a href=\"javascript:goPage('prev')\">"+prePage+"</a>";
		  var selectPage = " <select onchange='goPage(this)' style='border:1px solid red;background-color:#dcdcdc;'>";
		  for(var i=1;i<=totalPages;i++)
		  {
			   if(i==currentPage)
			   {
					 selectPage+="<option value='"+i+"' selected>"+i+"</option>";
					 siglePage+="<strong>"+i+"</strong>";
			   }
			   else if(i==1||i==2||i==currentPage-1||i==currentPage-2||i==currentPage+1
			           ||i==currentPage+2||i==totalPages||i==totalPages-1)
			   {
					   selectPage+="<option value='"+i+"'>"+i+"</option>";					 
					   if(i==currentPage-2&&i>3)
					   {
							 siglePage+="... "+"<a href='javascript:goPage("+i+")'>"+i+"</a>";
					   }
					   else if(i==currentPage+2&&i<totalPages-2)
					   {
							 siglePage+="<a href='javascript:goPage("+i+")'>"+i+"</a>"+" "+"...";
					   }
					   else
					   {
					       siglePage+="<a href='javascript:goPage("+i+")'>"+i+"</a>";
					   }
			   }
			   else
			   {
			        selectPage+="<option value='"+i+"'>"+i+"</option>";
			   }
		  }
		  siglePage = currentPage==totalPages?siglePage+"<a style='color:#dcdcdc;'>"+nextPage+"</a>"
																  :siglePage+"<a href=\"javascript:goPage('next')\">"+nextPage+"</a>";
		  selectPage+="</select>";
		 return siglePage+selectPage;
}
霸王(万能)窗体插件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>


<div style="width:400px;height:100px;text-align:center;">
	大家好,我是勒布朗-詹姆斯!<br>
	韦德!!!!!
</div>
   </body>
 </html>







<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
	<script type="text/javascript" src="overloadWindow.js"></script>
<body >
<div style="text-align:center;width:500px;height:400px;">
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
</div><p> </p><p> </p><p> </p><p> </p>
<div style="width:2000px;height:1000px;text-align:center;">
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
<a href="javascript:showOverloadWinow();">霸王窗体</a>
<p> </p>
</div>
<script language="javascript">
function showOverloadWinow()   
{   
     var showParams = new wade.mcgrady.wadePioneerClientVO();   
  
     //窗体的链接地址,如果为空插件会提示   
     showParams.url = "overloadWindowClient.htm";   
  
     //窗体的高度,不传或传入非法数字默认为屏幕高度的二分之一   
     showParams.height = 440;   
  
     //窗体的宽度,不传或传入非法数字默认为屏幕宽度的二分之一   
     showParams.width = 900;   
  
     //窗体显示的纵坐标,不传或传入非法数字默认为屏幕高度的四分之一   
     showParams.index_top = (screen.availHeight-440)/4;   
  
     //窗体显示的横坐标,不传或传入非法数字默认为屏幕宽度的四分之一   
     showParams.index_left = (screen.availWidth-900)/2;   
  
     //标题的内容   
     showParams.title_content = "<b>WADE韦德</b>";   
  
     //是否需要标题,如果不需要标题只有body,默认为true   
     showParams.need_title = true;   
  
     //窗体是否随滚动条滚动而跑动,默认为true   
     showParams.is_scroll = false;   
  
     //窗体是否可以向任意方向拖动,默认为true   
     showParams.is_drag = true;   
  
     //标题是否滤镜,默认为true   
     showParams.need_filter = true;   
  
     //标题的背景颜色,默认是棕色(brown)   
     showParams.title_background_color = "";   
  
     //滚动时窗体移动速度,数值为0到10的任意整数或小数,默认是5   
     showParams.scroll_speed = 6.65;   
  
     //滤镜的开始颜色,默认为red   
     showParams.filter_start_color = "#40E0D0";   
  
     //滤镜的结束颜色,默认为brown   
     showParams.filter_end_color = "#483D8B";   
  
     //标题底边框的颜色,默认为黑色   
     showParams.border_color = "black";   
    
     //覆盖层的颜色深度,数值为0到100的任意整数,默认是50   
     showParams.parent_background_deep = 46;   
  
     //标题底部边框的颜色,默认为#696969   
     showParams.title_border_bottom_color = "";   
  
     //窗体body的背景颜色,默认为white   
     showParams.body_background = "";   
  
     //是否是iframe实现,默认为iframe实现   
     showParams.is_iframe = true;   
  
     //关闭窗体的图标地址   
     showParams.close_img_src = "closeico.gif";   
  
     //标题字体的颜色,默认黑色   
     showParams.title_font_color = "";   
  
     //窗体边框宽度,默认为1   
     showParams.win_border_width = 1;   
  
     //标题字体的大小,默认为15   
     showParams.title_font_size = 15;   
  
     //是否圆角,0(全部不是圆角),1(上圆角下不圆角),2(下圆角上不圆角),3(左圆角右不圆角),4(右圆角左不圆角),5(全部是圆角)   
     showParams.round_border = 0;   
  
     wade.wade_business.showWadeWindow(showParams);   
  
     /*待解决问题:iframe body属性(body_background颜色、body_background背景图片)、不用iframe实现、是否圆角、title的move*/  
       
}   
</script>   

     
   </body>
 </html>







var wade = {};   
wade.mcgrady={};   
wade.mcgrady.wadePioneerClientVO = function   
(url,height,width,index_left, index_top,title_content,need_title,is_scroll,is_drag,scroll_speed,   
need_filter,title_background_color,filter_start_color,filter_end_color,border_color,   
title_border_bottom_color,parent_background_deep,body_background,is_iframe,   
close_img_src,title_font_color,win_border_width,title_font_size,round_border)   
{   
     this.url = url;                                                                  
     this.height = height;                                                                 
     this.width = width;                                                                
     this.index_left = index_left;                                                       
     this.index_top = index_top;                                                      
     this.title_content = title_content;                                         
     this.need_title = need_title;                                                    
     this.is_scroll = is_scroll;   
     this.is_drag = is_drag;                                                              
     this.scroll_speed = scroll_speed;                                               
     this.need_filter = need_filter;                                                    
     this.title_background_color = title_background_color;                
     this.filter_start_color = filter_start_color;                                 
     this.filter_end_color = filter_end_color;                                      
     this.border_color = border_color;                                               
     this.title_border_bottom_color = title_border_bottom_color;      
     this.parent_background_deep = parent_background_deep;        
     this.body_background = body_background;                               
     this.is_iframe = is_iframe;                                                          
     this.close_img_src = close_img_src;                                                  
     this.title_font_color = title_font_color;                                             
     this.win_border_width = win_border_width;           
     this.title_font_size = title_font_size;   
     this.round_border = round_border;   
}   
  
wade.wade_business={};   
wade.scrollSpeed = 500;   
wade.isScroll = true;   
wade.wade_business.showWadeWindow = function(showParams)   
{   
      var  url = showParams.url;   
      url =  typeof  url == "undefined"?"":url;   
      var  winWidth =  screen.availWidth;   
      var  winHeight =  screen.availHeight;   
      var  inWidth = showParams.width;   
      var  inHeight = showParams.height;   
      var  inLeft = showParams.index_left;   
      var  inTop = showParams.index_top;   
      var  lastWidth =typeof  inWidth == "number"?inWidth:winWidth*1/2;   
      var  lastHeight =typeof  inHeight == "number"?inHeight:winHeight*1/2;   
      var  lastLeft =typeof  inLeft == "number"?inLeft:winWidth*1/4;   
      var  lastTop =typeof  inTop == "number"?inTop:winHeight*1/6;   
      var  titleContent = showParams.title_content;   
      titleContent = typeof  titleContent == "undefined"?"":titleContent;   
      var  needTitle = showParams.need_title;   
      var  needFilter = showParams.need_filter;   
      var  isScroll = showParams.is_scroll;   
      var  isDrag = showParams.is_drag;   
      var winBorderWidth = showParams.win_border_width;   
      winBorderWidth = typeof  winBorderWidth == "number"?winBorderWidth:1;   
      needTitle = typeof  needTitle == "boolean"?needTitle:true;   
      needFilter = typeof  needFilter == "boolean"?needFilter:true;   
      wade.isScroll = typeof  isScroll == "boolean"?isScroll:true;   
      isDrag = typeof  isDrag == "boolean"?isDrag:true;   
      var  bodyTag=document.getElementsByTagName("body")[0];  
      var  overCastDivOutTemp = document.getElementById('overCastDivOut');   
  var  winDivTemp = document.getElementById('winDivOut');   
  if(null!=overCastDivOutTemp)   
  {   
        bodyTag.removeChild(overCastDivOutTemp);   
  }   
  if(null!=winDivTemp)   
  {   
        bodyTag.removeChild(winDivTemp);   
  }   
  var overCastDivOut = document.createElement('div');   
  overCastDivOut.id="overCastDivOut";   
     overCastDivOut.innerHTML = "<div id='overCastDiv' style='"+   
      "display:none;"+   
      "z-index:5000;"+   
      "position:absolute;"+   
      "left:0px;"+   
      "top:0px;"+   
      "border-width:0px;'>"+   
      "</div>";   
     var winDivOut = document.createElement('div');   
  var borderColor = showParams.border_color;   
  borderColor = typeof  borderColor == "undefined"||""==borderColor?"#000000":borderColor;   
  var titleFontSize = showParams.title_font_size;   
     titleFontSize = typeof  titleFontSize == "number"?titleFontSize:15;   
  
  var titleBorderBottomColor = showParams.title_border_bottom_color;   
  titleBorderBottomColor = typeof  titleBorderBottomColor == "undefined"||""==titleBorderBottomColor?"#696969":titleBorderBottomColor;   
  winDivOut.id="winDivOut";   
     winDivOut.innerHTML =    
      "<div id='windowDiv' style='"+   
      "z-index:9999;"+   
      "font-size:"+titleFontSize+"px;"+   
      "font-family:arial,verdana;"+   
      "text-align:center;"+   
      "position:absolute;"+   
      "border-color:"+borderColor+";"+   
      "background:white;"+   
      "border-style:solid;"+   
      "border-width:"+winBorderWidth+"px;"+   
      "display:none;'>"+   
      "</div>";   
     bodyTag.appendChild(overCastDivOut);   
     bodyTag.appendChild(winDivOut);   
  var winDiv = document.getElementById('windowDiv');   
     winDiv.id="windowDiv";   
  var titleBackgroundColor = showParams.title_background_color;   
     titleBackgroundColor = typeof  titleBackgroundColor == "undefined"||""==titleBackgroundColor?"brown":titleBackgroundColor;  
     var filterStartColor = showParams.filter_start_color;   
      filterStartColor = typeof  filterStartColor == "undefined"||""==filterStartColor?"red":filterStartColor;   
      var filterEndColor = showParams.filter_end_color;   
      filterEndColor = typeof  filterEndColor == "undefined"||""==filterEndColor?"brown":filterEndColor;   
      var scrollSpeed = showParams.scroll_speed;   
      scrollSpeed = wade.formatScrollSpeed(scrollSpeed);   
      wade.scrollSpeed = scrollSpeed;   
      var bodyBackground = showParams.body_background;   
      bodyBackground = typeof  bodyBackground == "undefined"||""==bodyBackground?"white":bodyBackground;   
      var bodyBackresult = wade.processBodyBackground(bodyBackground);   
      var isColor = "color"==bodyBackresult;   
      var titleFilter = needFilter?   
            "<div  id='titleDiv'   style='"+   
           " height:28px;"+   
           "padding-top:5px;"+   
           "border-bottom:1px solid "+titleBorderBottomColor+";"+   
           "color:"+showParams.title_font_color+";"+   
           "text-align:left;"+   
           "filter:progid:DXImageTransform.Microsoft.Gradient(enabled=true,startColorStr="+filterStartColor+",endColorStr="+filterEndColor+",GradientType=0);"+   
           "cursor:move;'>"+   
          "</div>"  
                                
         :"<div  id='titleDiv'  style='"+   
          "height:30px;"+   
          "padding-top:5px;"+   
          "border-bottom:1px solid "+titleBorderBottomColor+";"+   
          "color:"+showParams.title_font_color+";"+   
          "text-align:left;"+   
          "background-color:"+titleBackgroundColor+";"+   
          "cursor:move;'>"+   
          "<span style='float:left;margin-left:5px;'>"+   
           titleContent+   
          "</span>"+   
          "<img style='cursor=auto;float:right;margin-right:6px;margin-top:5px;' id='closeImg'   src='"+showParams.close_img_src+"' onclick='wade.closeTb();'   onmouseover='wade.hoverCloseImg(1)' onmouseout='wade.hoverCloseImg(2)'/>"+   
          "</div>";   
      var  winTitleDiv = needTitle?titleFilter:"";   
      var bodyContent = null==url||""==url?   
          ""  
        :"<iframe frameborder='0' style='width:100%;' src='"+url+"' >"+   
         "</iframe>";   
      var  winBodyDiv = isColor?   
         "<div style='"+  
		  "background-color:"+ bodyBackground+";"+   
         "text-align:center; '>"+   
          bodyContent+   
          "</div>"  
         :"<div style='"+   
          "background:url("+bodyBackground+");"+   
          "text-align:center; '>"+   
          bodyContent+   
          "</div>";   
      winDiv.innerHTML=winTitleDiv+winBodyDiv;   
      var parentDeep = showParams.parent_background_deep;   
      parentDeep = typeof  parentDeep == "number"&&parentDeep>=0&&parentDeep<=100?parentDeep:50;   
      var  doc = document.body;     
      var  docHeight = doc.scrollHeight;   
      var  docWidth =  doc.scrollWidth;   
      docHeight = docHeight<winHeight?winHeight-140:docHeight;   
      docWidth = docWidth<winWidth?winWidth:docWidth;   
      var windowDivObj = document.getElementById("windowDiv");   
      var overCastDiv = document.getElementById("overCastDiv");   
      overCastDiv.style.display="block";   
      overCastDiv.style.backgroundColor="#000000";   
      overCastDiv.style.filter="alpha(opacity="+parentDeep+")";   
      overCastDiv.style.width=docWidth;   
      overCastDiv.style.height=docHeight;   
      windowDivObj.style.width=lastWidth;   
      windowDivObj.style.height=lastHeight;   
       var topScroll =  document.documentElement.scrollTop || document.body.scrollTop|| 0;   
      var leftScroll =  document.documentElement.scrollLeft || document.body.scrollLeft|| 0;   
      windowDivObj.style.top=lastTop+topScroll*1;   
      windowDivObj.style.left=lastLeft+leftScroll*1;   
      windowDivObj.style.display="block";   
      wade.topDivHidden = lastTop;   
      wade.leftDivHidden = lastLeft;   
  
      if(isDrag)   
      {   
           wade.onloadDrag();   
      }   
      wade.onloadScroll();   
      var titleDivCheck = document.getElementById("titleDiv");   
}   
  
wade.topDivHidden = 0;   
wade.leftDivHidden = 0;   
wade.closeTb = function()   
{   
      document.getElementById("windowDiv").style.display="none";   
      document.getElementById("overCastDiv").style.display="none";   
      wade.topDivHidden = 0;   
      wade.leftDivHidden = 0;   
}  
wade.hoverCloseImg = function(type)   
{   
     document.getElementById("closeImg").style.zoom=1==type?1.2:1;   
}   
  
wade.autoSetScroll = function()   
{   
       var windowDivObj = document.getElementById("windowDiv");   
       if(null!=windowDivObj)   
       {   
               var topAll = 0;   
               var leftAll = 0;   
               var topScroll =  document.documentElement.scrollTop || document.body.scrollTop|| 0;   
               var leftScroll =  document.documentElement.scrollLeft || document.body.scrollLeft|| 0;   
               topAll = topScroll + wade.topDivHidden;   
               windowDivObj.style.top=topAll;   
               leftAll = leftScroll + wade.leftDivHidden;   
               windowDivObj.style.left=leftAll;   
       }   
}   
  
wade.onloadScroll = function()   
{   
       window.onscroll  =  wade.isScroll?moveScroll:"";   
}   
  
function moveScroll()    
{    
       setTimeout("wade.autoSetScroll()",wade.scrollSpeed);   
}    
  
wade.x0=0;   
wade.y0=0;   
wade.moveable=false;   
document.onmouseup = function ()   
{   
       wade.moveable=false;   
       var windowDivObj = document.getElementById("windowDiv");   
       if(null!=windowDivObj)   
       {   
           wade.topDivHidden = windowDivObj.style.top;   
           wade.leftDivHidden = windowDivObj.style.left;   
           var topScroll =  document.documentElement.scrollTop || document.body.scrollTop|| 0;   
           var leftScroll =  document.documentElement.scrollLeft || document.body.scrollLeft|| 0;   
           wade.topDivHidden = wade.topDivHidden.substring(0,wade.topDivHidden.length-2)*1-topScroll;   
           wade.leftDivHidden = wade.leftDivHidden.substring(0,wade.leftDivHidden.length-2)*1-leftScroll;   
       }  
}   
  
document.onmousemove=function (event)   
{   
      event = event?event:window.event;   
      if(wade.moveable)   
      {   
            var x = event.clientX - wade.x0;   
            var y = event.clientY - wade.y0;   
            document.getElementById("windowDiv").style.left = x;   
            document.getElementById("windowDiv").style.top = y;   
      }   
}   
  
wade.onloadDrag = function()   
{   
    var titleDiv = document.getElementById("titleDiv");   
    if(null!=titleDiv)   
    {   
        document.getElementById("titleDiv").onmousedown = function(event)   
        {   
            event = event?event:window.event;   
            var which =  navigator.userAgent.indexOf("MSIE")>1?event.button==1?1:0:event.which==1?1:0;   
            if(which)   
            {   
                   wade.moveable=true;   
                   wade.x0 = event.clientX - parseInt(document.getElementById("windowDiv").style.left);   
                   wade.y0 = event.clientY - parseInt(document.getElementById("windowDiv").style.top);   
            }   
        }   
    }   
}   
  
wade.formatScrollSpeed = function (scrollSpeed)   
{   
      var defaultSpeed = 500;   
      if(typeof scrollSpeed == "number"&&0<scrollSpeed&&scrollSpeed<=10)   
      {   
            defaultSpeed = scrollSpeed*100;   
      }   
      return defaultSpeed;   
}   
  
wade.processBodyBackground = function (bodyBackground)   
{   
       var defaultFormat = "color";   
       if(typeof bodyBackground == "string"&&( bodyBackground.indexOf(".jpg")!=-1   
           ||bodyBackground.indexOf(".gif")!=-1||bodyBackground.indexOf(".png")!=-1))   
      {   
            defaultFormat = "img";   
      }   
      return defaultFormat;   
}  
联想分页插件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
<html xmlns="http://www.w3.org/1999/xhtml">   
<head>   
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />   
    <script type="text/javascript" src="jquery-1.4.4.js"></script>   
    <script type="text/javascript" src="overloadThink.js"></script>   
</head>   
<body>   
<p> </p>   
<p> </p>   
<div style="padding:0px 0px 0px 150px;">   
<input type="text"  id="cardNumberId"   onkeypress="showThink();"    onkeydown="think.keyEventInput();"    
style="width:500px;" onclick="if('请输入银行卡号'==this.value){this.value='';}"    
onblur="if(''==this.value){this.value='请输入银行卡号';}" value="请输入银行卡号" />    
<input type="button"  onclick="showThink();" value=" 确   定 "/>   
  
</div>   
  
<script type="text/javascript">   
function showThink()   
{   
    if(event.keyCode == 13)   
    {   
        think.indexLeft = 158;   
        think.indexTop = 37;   
        think.width = 504;   
        think.keywordId = "cardNumberId";   
        think.currentPage = 1;   
        think.totalPages = 3;   
        think.isPagination = true;   
        think.borderColor = "#dcdcdc";   
        think.hoverColor = "#dcdcdc";   
        think.fontColor = "black";   
        think.fontSize = 12;   
        think.fontFamily = "Verdana,Arial";   
        think.getSuggestInfoByPage = function ()   
        {   
                return getSuggestInfoByPage();   
        };   
        think.getPageTags = function ()   
        {   
             return getPageTags();   
        };   
        think.think_business.showThinkInfo();   
    }   
}  

function getSuggestInfoByPage()   
{   
            page = think.currentPage*1;   
            var cardNumberInfoTemp1 =    
            [   
                {"cardNumber":"8005 8878 5274 7545","nameCn":"阿多诺1","sex":"男","birth":"1982-12-23","livingZone":"国芝加哥"},   
                {"cardNumber":"8005 8878 5274 7546","nameCn":"阿多诺2","sex":"男","birth":"1982-12-23","livingZone":"哦国芝加哥"},   
                {"cardNumber":"8005 8878 5274 7547","nameCn":"阿多诺3","sex":"男","birth":"1982-12-23","livingZone":"国芝哦加哥"},   
                {"cardNumber":"8005 8878 5274 7548","nameCn":"阿多诺4","sex":"男","birth":"1982-12-23","livingZone":"国芝加哥"},   
                {"cardNumber":"8005 8878 5274 7549","nameCn":"阿多诺5","sex":"男","birth":"1982-12-23","livingZone":"国芝热加哥"},   
                {"cardNumber":"8005 8878 5274 7550","nameCn":"阿多诺6","sex":"男","birth":"1982-12-23","livingZone":"国芝加rr哥"},   
                {"cardNumber":"8005 8878 5274 7551","nameCn":"阿多诺7","sex":"男","birth":"1982-12-23","livingZone":"国芝f加哥"},   
                {"cardNumber":"8005 8878 5274 7552","nameCn":"阿多诺8","sex":"男","birth":"1982-12-23","livingZone":"大法官国芝加哥"},   
                {"cardNumber":"8005 8878 5274 7553","nameCn":"阿多诺9","sex":"男","birth":"1982-12-23","livingZone":"多个 国芝加哥"},   
                {"cardNumber":"8005 8878 5274 7554","nameCn":"阿多诺10","sex":"男","birth":"1982-12-23","livingZone":"国芝加哥"}   
            ];   
            var cardNumberInfoTemp2 =    
            [   
                {"cardNumber":"8005 8878 5274 7545","nameCn":"香港1","sex":"男","birth":"1982-12-23","livingZone":"国加哥"},   
                {"cardNumber":"8005 8878 5274 7546","nameCn":"香港2","sex":"男","birth":"1982-12-23","livingZone":"哦国加哥"},   
                {"cardNumber":"8005 8878 5274 7547","nameCn":"香港3","sex":"男","birth":"1982-12-23","livingZone":"国芝哦加哥"},   
                {"cardNumber":"8005 8878 5274 7548","nameCn":"香港4","sex":"男","birth":"1982-12-23","livingZone":"国芝加哥"},   
                {"cardNumber":"8005 8878 5274 7549","nameCn":"香港5","sex":"男","birth":"1982-12-23","livingZone":"国芝加哥"},   
                {"cardNumber":"8005 8878 5274 7550","nameCn":"香港6","sex":"男","birth":"1982-12-23","livingZone":"国芝rr哥"},   
                {"cardNumber":"8005 8878 5274 7551","nameCn":"香港7","sex":"男","birth":"1982-12-23","livingZone":"国芝f加哥"},   
                {"cardNumber":"8005 8878 5274 7552","nameCn":"香港8","sex":"男","birth":"1982-12-23","livingZone":"大法国芝加哥"},   
                {"cardNumber":"8005 8878 5274 7553","nameCn":"香港9","sex":"男","birth":"1982-12-23","livingZone":"多个 芝加哥"},   
                {"cardNumber":"8005 8878 5274 7554","nameCn":"香港10","sex":"男","birth":"1982-12-23","livingZone":"国芝加哥"}   
            ];  
            var cardNumberInfoTemp3 =    
            [   
                {"cardNumber":"8005 8878 5274 7545","nameCn":"尉迟恭1","sex":"男","birth":"1982-12-23","livingZone":"国芝加哥"},   
                {"cardNumber":"8005 8878 5274 7546","nameCn":"尉迟恭2","sex":"男","birth":"1982-12-23","livingZone":"哦国芝加哥"},   
                {"cardNumber":"8005 8878 5274 7547","nameCn":"尉迟恭3","sex":"男","birth":"1982-12-23","livingZone":"国芝哦加哥"},   
                {"cardNumber":"8005 8878 5274 7548","nameCn":"尉迟恭4","sex":"男","birth":"1982-12-23","livingZone":"国芝加哥"},   
                {"cardNumber":"8005 8878 5274 7549","nameCn":"尉迟恭5","sex":"男","birth":"1982-12-23","livingZone":"国芝热加哥"},   
                {"cardNumber":"8005 8878 5274 7550","nameCn":"尉迟恭6","sex":"男","birth":"1982-12-23","livingZone":"国芝加rr哥"},   
                {"cardNumber":"8005 8878 5274 7551","nameCn":"尉迟恭7","sex":"男","birth":"1982-12-23","livingZone":"国芝f加哥"},   
                {"cardNumber":"8005 8878 5274 7552","nameCn":"尉迟恭8","sex":"男","birth":"1982-12-23","livingZone":"大法官国芝加哥"},   
                {"cardNumber":"8005 8878 5274 7553","nameCn":"尉迟恭9","sex":"男","birth":"1982-12-23","livingZone":"多个 国芝加哥"},   
                {"cardNumber":"8005 8878 5274 7554","nameCn":"尉迟恭10","sex":"男","birth":"1982-12-23","livingZone":"国芝加哥"}   
            ];   
            switch(page)   
            {   
               case 1: return cardNumberInfoTemp1;break;   
               case 2:return cardNumberInfoTemp2;break;   
               case 3:return cardNumberInfoTemp3;break;   
               default:return "";break;   
            }   
}   
  
function getPageTags()   
{   
          var  totalPage = think.totalPages;   
          var  currentPage =  think.currentPage;   
          var  siglePageSpan = "<span style='text-align:center;color:'>共"+totalPage+"页/第"+currentPage+"页</span> ";   
          var  siglePage = currentPage==1?siglePageSpan:siglePageSpan+   
                                 "<a href=\"javascript:think.goPage('prev')\">上一页</a>";   
          var selectPage = " <select onchange='think.goPage(this)'>";   
          for(var i=1;i<=totalPage;i++)   
          {   
               if(i==currentPage)   
               {   
                     selectPage+="<option value='"+i+"' selected>"+i+"</option>";   
                     siglePage+="<strong>"+i+"</strong>";   
               }   
               else  
               {   
                     selectPage+="<option value='"+i+"'>"+i+"</option>";   
                     siglePage+="<a href='javascript:think.goPage("+i+")'>"+i+"</a>";   
               }   
          }   
          siglePage = currentPage==totalPage?siglePage:siglePage+"<a href=\"javascript:think.goPage('next')\">下一页</a>";   
          selectPage+="</select>";   
          return siglePage+selectPage;   
}   
      
</script>   
  
</body>   
</html>  







var think = {};   
    
think.think_business={};   
think.think_business.showThinkInfo = function()   
{           
           var keywordId = think.keywordId;   
           keywordId = typeof keywordId == "undefined"?"":keywordId;   
           if(""==keywordId)   
           {   
                 return;   
           }   
           var functionPage = think.getSuggestInfoByPage;   
           think.data = functionPage.call();   
           if(typeof think.data == "undefined"||""==think.data)   
           {   
                return;   
           }   
           var  bodyTag=document.getElementsByTagName("body")[0];   
           var  thinkDivOutTemp = document.getElementById('thinkDivOut');   
           if(null!=thinkDivOutTemp)   
           {   
                bodyTag.removeChild(thinkDivOutTemp);   
           }   
           var indexLeft = think.indexLeft;   
           indexLeft = typeof indexLeft == "number"?indexLeft:500;   
           var indexTop = think.indexTop;   
           indexTop = typeof indexTop == "number"?indexTop:500;   
           var width = think.width;   
           width = typeof width == "number"?width:500;   
           var fontFamily = think.fontFamily;   
           fontFamily = typeof fontFamily == "string"?fontFamily:"Verdana,Arial";   
           var fontSize = think.fontSize;   
           fontSize = typeof fontSize == "number"?fontSize:"12";   
           var fontColor = think.fontColor;   
           fontColor = typeof fontColor == "string"?fontColor:"black";   
           var borderColor = think.borderColor;   
           borderColor = typeof borderColor == "string"?borderColor:"#dcdcdc";   
           var isPagination = think.isPagination;   
           isPagination = typeof isPagination == "boolean"?isPagination:true;   
           think.isPagination = isPagination;   
           var thinkDivOut = document.createElement('div');   
           thinkDivOut.id="thinkDivOut";   
           thinkDivOut.innerHTML =    
                "<div id='thinkInnerDiv' style='"+   
                   "display:none;"+   
                   "position:absolute;"+   
                   "top:"+indexTop+"px;"+   
                   "left:"+indexLeft+"px;"+   
                   "border:1px solid "+borderColor+";'>"+      
                "<table id='thinkInnerTable' style='"+   
                   "color:"+fontColor+";"+   
                   "width:100%;"+   
                   "border-color:"+borderColor+";"+   
                   "font-family:"+fontFamily+";"+   
                   "font-size:"+fontSize+"px;'>"+      
                "</table>"+      
                "</div>"+   
                "<input type='hidden' id='"+think.keywordId+"Hidden'/>"+      
                "<input type='hidden' id='currentPage'/>"+      
                "<input type='hidden' id='totalPages'/>";  
                bodyTag.appendChild(thinkDivOut);   
         
       var totalPages = $("#totalPages").val()*1;    
        $("#"+think.keywordId+"Hidden").val($("#"+think.keywordId).val());   
        $("#currentPage").val(think.currentPage);   
        $("#thinkInnerDiv").css("display","block");   
        $("#thinkInnerDiv").css("width",width);   
        $("#thinkInnerTable").html("<div/>");   
        $(think.data).each(function (index)   
        {   
                $("#thinkInnerTable").append("<tr onmouseover='think.setSuggestColor(this,1,"+index+")' onmouseout='think.setSuggestColor(this,2)' onclick='think.selectBankCard();'>"+   
                                                                     "<td width='32%'>"+this.cardNumber+"</td>"+   
                                                                     "<td width='25%'>"+this.nameCn+"</td>"+   
                                                                     "<td width='5%'>"+this.sex+"</td>"+   
                                                                     "<td width='18%'>"+this.birth+"</td>"+   
                                                                     "<td width='20%'>"+this.livingZone+"</td>"+   
                                                                "</tr>");   
        })   
        
       if(think.isPagination)   
       {   
             var  getPageTags = think.getPageTags;   
             var pageTags = getPageTags.call();   
                $("#thinkInnerTable").append(      "<tr>"+   
                                                                     "<td colspan='5'>"+   
                                                                     "<div class='pages'>"+    
                                                                      pageTags +   
                                                                  "</div>"+   
                                                                     "</td>"+   
                                                                     "</tr>");   
       }   
}   
  
//选择数据   
think.selectBankCard = function()   
{   
           $("#thinkInnerDiv").css("display","none");   
        $("#thinkInnerTable").html("<div/>");   
        trIndex = -1;   
}  

//移动联想词汇   
var trIndex = -1;   
think.keyEventInput = function()   
{   
    var isShow = $("#thinkInnerDiv").css("display")=="block";   
    if(!isShow)   
    {   
          return;   
    }   
       
    //向下移动   
    if(window.event.keyCode==40)   
    {   
        var rowCount = $("#thinkInnerTable tr").length-1;   
        var lastTr = think.isPagination?rowCount-2:rowCount-1;   
        if(trIndex<=lastTr)   
        {   
             trIndex = trIndex+1;   
             think.setSuggestBgColor(trIndex,1,think.keywordId,think.keywordId+'Hidden','thinkInnerTable');   
        }   
        else  
        {   
              var lastTr = think.isPagination?rowCount-1:rowCount;   
              if(trIndex==lastTr)   
              {   
                   think.setSuggestBgColor(trIndex,2,think.keywordId,think.keywordId+'Hidden','thinkInnerTable');   
                   trIndex = -1;   
                   if(think.isPagination)   
                  {   
                       var lastPage = $("#currentPage").val()*1 + 1;   
                       think.currentPage = lastPage;   
                       think.think_business.showThinkInfo();   
                   }   
              }   
        }   
    }   
       
    //向上移动   
     if(window.event.keyCode==38)   
    {   
        if(trIndex==-1)   
        {   
               var rowCount = $("#thinkInnerTable tr").length-1;   
               if(rowCount>1)   
               {   
                    rowCount = think.isPagination?rowCount-1:rowCount;   
                    think.setSuggestBgColor(trIndex,1,think.keywordId,think.keywordId+'Hidden','thinkInnerTable');   
                    trIndex = rowCount+1;   
                    if(think.isPagination)   
                   {   
                       var lastPage = $("#currentPage").val()*1 - 1;   
                       think.currentPage = lastPage;   
                       think.think_business.showThinkInfo();   
                   }   
               }   
        }   
         if(trIndex==0)   
        {   
               think.setSuggestBgColor(trIndex,2,think.keywordId,think.keywordId+'Hidden','thinkInnerTable');   
               trIndex = -1;   
        }   
        if(trIndex>=1)   
        {   
             trIndex = trIndex-1;   
             think.setSuggestBgColor(trIndex,1,think.keywordId,think.keywordId+'Hidden','thinkInnerTable');   
        }   
    }  

//向左翻页,上一页   
    if(window.event.keyCode==37&&think.isPagination)   
    {   
           var lastPage = $("#currentPage").val()*1 - 1;   
              think.currentPage = lastPage;   
              think.think_business.showThinkInfo();   
              trIndex = -1;   
    }   
       
    //向右翻页,下一页   
    if(window.event.keyCode==39&&think.isPagination)   
    {   
           var lastPage = $("#currentPage").val()*1 + 1;   
              think.currentPage = lastPage;   
              think.think_business.showThinkInfo();   
              trIndex = -1;   
    }   
}   
  
//移动的时候设置背景颜色   
   think.setSuggestBgColor = function (trIndex,type,textId,textHiddenId,tableId)   
{   
      if(1==type)   
      {   
           $("#"+textId+"").val($("#"+tableId+" tr:eq("+trIndex+")").find("td").first().text());   
           $("#"+tableId+" tr:eq("+trIndex+")").css("background-color","#dcdcdc");   
      }   
      else if(2==type)   
      {   
           $("#"+textId+"").val($("#"+textHiddenId+"").val());   
              $("#"+tableId+" tr:eq("+trIndex+")").css("background-color","white");   
      }   
      $("#"+tableId+" tr:gt("+trIndex+")").css("background-color","white");   
      $("#"+tableId+" tr:lt("+trIndex+")").css("background-color","white");   
}   
  
//显示联想词汇   
think.pressEnterKey = function ()   
{   
    if(window.event.keyCode==13)   
    {   
          var isShow = $("#thinkInnerDiv").css("display")=="block";   
          var cardNumInput = $("#"+think.keywordId).val();   
           if(!isShow)   
           {   
                var keywords = $("#"+think.keywordId).val();   
                $("#currentPage").val(1);   
                $("#totalPages").val(3);   
                setCardNumberInfoTableValue(1);   
                $("#cardNumberIdHidden").val($("#cardNumberId").val());   
                trIndex = -1;   
           }   
        
     }   
}  

//翻页事件   
    think.goPage = function (page)   
    {   
          var currentPage = $("#currentPage").val()*1;   
          if(typeof page =="number")   
          {   
               currentPage = page;   
          }   
          else if(typeof page =="string")   
          {   
              if(page=="prev")   
              {   
                   currentPage = currentPage-1;   
              }   
              else if(page=="next")   
              {   
                  currentPage = currentPage+1;   
              }   
          }   
          else if(typeof page =="object")   
          {   
               currentPage = page.value*1;   
          }   
          think.currentPage = currentPage;   
          think.think_business.showThinkInfo();   
          trIndex = -1;   
    }   
       
    //设置联想词汇的背景颜色   
    think.setSuggestColor = function (obj,type,trInput)   
    {   
       var hoverColor = think.hoverColor;   
       hoverColor = typeof hoverColor == "string"?hoverColor:"#dcdcdc";   
       if(1==type)   
       {   
           $("#cardNumberId").val($(obj).find("td").first().text());   
           $("#thinkInnerTable tr:gt("+trInput+")").css("background-color","white");   
           $("#thinkInnerTable tr:lt("+trInput+")").css("background-color","white");   
           $(obj).css("background-color",hoverColor);   
           trIndex = trInput;   
       }   
       else if(2==type)   
       {   
           $("#"+think.keywordId+"").val($("#"+think.keywordId+"Hidden").val());   
           $(obj).css("background-color","white");   
       }   
    }  
Jquery--我的总结
查找id等于name的元素:   
var nameTag = $("#name");   
  
查找id等于name的标签的值:   
var name = $("#name").val();   
  
查找所有div元素:    
var divTag = $("div");   
  
查找所有样式类是 "myClass" 的元素     
var myClassTag = $(".myClass");   
  
找到每一个元素   
var allTag = $("*");   
  
找到表单中所有的 input 元素   
var inputTag = $("form input");   
  
获取匹配的第一个元素和最后一个元素   
var firstTag = $("li").first();   
var lastTag = $("li").last();   
  
查找所有未选中的 input 元素   
var notCheckedTag = $("input:not(:checked)");   
  
查找表格的1、3、5...行(奇数行)   
var oddTrTag = $("tr:even");   
  
查找表格的2、4、6...行(偶数行)   
var evenTrTag = $("tr:odd");   
  
查找表格第二行   
var tempTag = $("tr:eq(1)");   
  
查找大于第三的div元素   
var tempTag = $("div:gt(2)");   
  
查找小于第三行的行   
var tempTag = $("tr:lt(2)");   
  
查找所有包含"Wade"的div元素   
var tempTag = $("div:contains('Wade')");   
  
给所有 div 元素添加一个 text 类   
$("div").addClass("text");   
  
查找隐藏的tr/找出type为隐藏域的标签   
var tempTag = $("tr:hidden");   
var tempTag = $("input:hidden");  

查找可见的tr   
var tempTag = $("tr:visible");   
  
查找所有含有id属性的div元素   
var tempTag = $("div[id]");   
  
给样式为sub_title_ico的标签下的strong标签赋值   
$(".sub_title_ico strong").val("555");   
  
给样式为sub_title_ico的标签下的b标签加html代码   
$(".sub_title_ico b").html("555");   
  
查找所有name属性不是wade的input元素默认为选中状态   
$("input[name!='Wade']").attr("checked","true");   
  
查找所有name以'news'开始的input元素   
var tempTag = $("input[name^='news']");   
  
查找所有name以 'news' 结尾的input元素   
var tempTag = $("input[name$=news]");   
  
查找所有name包含'news'的input元素   
var tempTag = $("input[name*=news]");   
  
查找所有name包含'news'且有属性id的input元素   
var tempTag = $("input[name*=news][id]");   
  
查找所有选中的选项元素   
var tempTag = $("select option:selected");   
  
返回文档中第一个图像的src属性值   
var temp = $("img").first().attr("src");   
  
为所有图像设置alt属性   
$("img").attr("alt","select");   
  
为所有图像设置src和alt属性   
$("img").attr({"src":"test.jpg","alt":"select"});   
  
将文档中第一个图像的src属性删除   
$("img").first().removeAttr("src");   
  
为匹配的元素加上 'selected' 类   
$("img[id]").addClass("selected");   
  
为匹配的元素删除 'selected' 类   
$("img[id]").removeClass("selected");  

取得第一个匹配元素的html内容   
var temp = $("#name").html();   
  
取得所有匹配元素的内容   
var temp = $("#name").text();   
  
设置所有匹配元素的文本内容   
$("#name").text("555");   
  
设置每一个匹配元素的值   
$("input").val("hello world!");   
  
要追加到目标中的内容   
$("p[id=name]").append("<b>Hello</b>");   
  
清空目标中的内容   
$("p[id=name]").html("");   
  
在所有段落之后插入一些HTML标记代码   
$("p").after("<b>Hello</b>");   
  
在所有段落之前插入一些HTML标记代码   
$("p").before("<b>Hello</b>");   
  
将所有匹配的元素替换成指定的HTML或DOM元素。   
$("p").replaceWith("<b>Paragraph. </b>");   
  
删除匹配的元素集合中所有的子节点。   
$("p").empty();   
  
从DOM中删除所有匹配的元素。   
$("p").remove();   
  
访问第一个匹配元素的样式属性   
$("p").css("color");   
  
在所有匹配的元素中,设置一个样式属性的值   
$("p").css("color","red");   
  
在所有匹配的元素中,设置多个样式属性的值   
$("p").css({color:"red",background:"blue"});   
$("p").css({color:"red","background-color":"blue"});   
  
取得第一个匹配元素当前计算的高度值/宽度值(px)   
$("p").height();   
$(window).width();   
$(document).height();   
  
设置第一个匹配元素高度值/宽度值(px)   
$("p").height(50);   
$(window).height(50);   
$(document).width(50);   
  
onload事件   
$(document).ready(function(){});   
$("#deptName").ready(function(){});   
$(function()   
{   
   // 文档就绪   
});  


绑定与取消绑定事件   
$(document).bind('click', function()    
{   
   alert(5556);   
});   
$("#deptName").unbind("click");   
blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup,    
mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress,    
keyup, error    
  
绑定一次事件   
$(document).one('click', function()    
{   
    alert(5556);   
});   
  
鼠标悬停的表格加上特定的类   
$("td").hover(   
  function ()    
  {   
    $(this).addClass("hover");   
  },   
  function ()    
  {   
    $(this).removeClass("hover");   
  }   
);   
  
在每一个匹配元素的unload事件中绑定一个处理函数   
$(window).unload( function () { alert("Bye now!"); } );   
  
提交本页的第一个表单   
$("form:first").submit();   
  
在每一个匹配元素的submit事件中绑定的处理函数   
$("form").submit( function ()    
{   
  return false;   
});   
  
AJAX请求   
$.ajax   
({   
   type: "POST",   
   async: true,   
   url: "statistic.do?",   
   timeout:5000,   
   cache: false,   
   data: {"id":id, "commentPoint":commentPoint, "commentContents":commentContents},   
   beforeSend: function(XMLHttpRequest){}   
   //success: function(msg){}    
   success: processData   
});   
  
function processData(data)   
{   
  
}  


触发一些事件   
$("#deptName").click();   
$("#deptName").click(function (){$(this).hide();});   
$("#deptName").blur();   
$("#deptName").keydown();   
$("#deptName").keypress();   
$("#deptName").keyup();   
$("#deptName").load();   
  
去掉左右的空格   
var str = "  7788  877   ";   
str = $.trim(str);   
  
判断是否是数组   
var newArray = new Array();   
$.isArray(newArray);   
  
判断是否是方法   
$.isFunction("setColor");   
function setColor(){};   
  
查看对应元素的位置   
var arr = [ 4, "Pete", 8, "John" ];   
$.inArray("John", arr);  //3   
  
关于json和json数组   
normalArray   
[1,2,3,4,5]   
  
jsonObj   
{   
    "result":"success",   
    "errorCode":"12345"  
}   
  
jsonArray   
[   
    {   
        "id":"324",   
        "tag":"link1234",   
        "objecteID":"HW_076769",   
        "appNumber":"A17959558",   
        "countNum":"1",   
        "indexDB":"WWW_CN",   
        "errorCode":"",   
        "errorDescription":""  
    },   
        {   
        "id":"322",   
        "tag":"link123",   
        "objecteID":"HW_076769",   
        "appNumber":"A17959558",   
        "countNum":"1",   
        "indexDB":"WWW_CN",   
        "errorCode":"",   
        "errorDescription":""  
    }   
]  


import org.json.JSONObject;   
import org.json.JSONArray;   
JSONObject jsonObj = new JSONObject();   
jsonObj.put(1,'ONE');   
jsonObj.put(2,'TWO');   
  
JSONArray jsonArray = new JSONArray();   
jsonArray.put(jsonObj);   
  
$(normalArray).each(function (index)   
{   
    alert(index+"===="+this);   
});   
  
var result = jsonObj.result;   
alert("result==="+result);   
  
$(jsonArray).each(function (index)   
{   
    alert(index+"===="+this.appNumber);   
});   
  
  
  
var nbaWade = {};      
var nbaMcgrady = {};     
var nbaJames = {};   
nbaWade.setting =    
{   
    height:"193cm",   
    avoirdupois:"104.5",   
    club:"HEAT",   
    avgPoint:"28.5",   
    position:"Score guard",   
    inYear:"2003"  
}   
  
nbaWade.load = function (param)   
{   
    var height = nbaWade.setting.height;   
    var avgPoint = nbaWade.setting.avgPoint;   
    document.getElementById("hiddenSpan").innerHTML=avgPoint;   
    if(typeof param == 'function')   
    {   
        alert("function");   
    }   
    if(typeof param == 'number')   
    {   
        alert("number");   
    }   
    if(typeof param == 'string')   
    {   
        alert("string");   
    }   
}   
  
var nbaArray = [nbaWade,nbaMcgrady,nbaJames]; 

  
var isearch = {};   
isearch.isearch_vo={};   
isearch.isearch_vo.TagValuesParamsClientVO = function(callback,appNumber)   
{   
     this.callback = callback;   
     this.appNumber = appNumber;   
}   
  
isearch.isearch_client={};   
isearch.isearch_client.getQueryTagValue = function(searchParams)   
{   
       alert("searchParams.callback====="+searchParams.callback);   
       alert("searchParams.appNumber====="+searchParams.appNumber);   
       if(searchParams.callback!="")   
       {   
              
       }   
      return 6;   
}   
  
 var searchParams = new isearch.isearch_vo.TagValuesParamsClientVO();   
 searchParams.callback="processData";   
 searchParams.appNumber="A3579144";   
 var rrrr = isearch.isearch_client.getQueryTagValue(searchParams);   
alert("rrrr====="+rrrr);   
  
function processData(data)   
{   
     alert("data====="+data);   
}  

后台总结
//oracle 函数   
select to_date('2011-01-12','yyyy-mm-dd') from  t_application_info;   
select to_char(55555555) from  t_application_info;   
select to_char(sysdate,'yyyy-mm-dd') from  t_application_info;   
select to_number('24000000') from  t_application_info;   
  
  
  
  
//表的连接   
select * from t_application_info ap,t_profile t where ap.app_id = t.bussines_id;  --自然连接   
select * from t_application_info ap join t_profile t on  ap.app_id = t.bussines_id;  --等效自然连接,写法不一样而已   
select * from t_application_info ap left join t_profile t on  ap.app_id = t.bussines_id;  --左连接,以左表为基准,右表为空的记录页查询出来   
select * from t_application_info ap right join t_profile t on  ap.app_id = t.bussines_id;  --右连接,以右表为基准,左表为空的记录页查询出来   
select * from t_application_info ap full join t_profile t on  ap.app_id = t.bussines_id;  --全连接,左表和右表为空的记录页查询出来   
select * from t_application_info ap where ap.app_id in(select distinct(t.bussines_id) from t_profile t); --类似自然连接,但只能查询左表的属性   
     
select * from t_application_info ap left join   
(select * from t_application_info ap,t_profile t where ap.app_id = t.bussines_id) w1    
on ap.app_id = w1.bussines_id                                                              --多表连接,原理是把一个或若干个连接的结果当做一个表再与外表进行连

接   
     
select *   
from t_application_info ap,   
(select * from t_profile t1 where t1.bussines_id is not null) t   
where ap.app_id = t.bussines_id;                                                           --原理是把一个或若干个连接的结果当做一个表在与外表自然连接   
     
     
select w2.*   
from (select w1.*, rownum mynum   
from (select * from t_application_info) w1   
where rownum <= 100) w2   
where mynum >= 20                                                                            --分页语句   
 //批量新增数据SQL语句   
   insert into t_profile   
   select SEQ_APPLICATION_INFO.Nextval id,   
     buid.id bussines_id,   
     th.profile_ids,   
     th.profile_names,   
     th.id,   
     th.profile_name,   
     th.profile_type,   
     buid.type,   
     th.language   
     from (select id,'catalog' type   
        from (select b.id   
                from w3cn.catalog b   
               start with b.id = '4517'  
              connect by nocycle prior b.id = b.parentid) c1   
       where c1.id != '4517'  
      union all   
      select d.web_doc_id id,'document' type   
        from w3cn.documentation d   
       where d.cid in (   
                       select *   
                         from (select b.id ID   
                                  from w3cn.catalog b   
                                 start with b.id = '4517'  
                                connect by nocycle prior b.id = b.parentid) c1   
                        where c1.id != '4517')   
         and d.doc_status = 2) buid,   
     (select * from t_profile p where p.bussines_id = '4517') th   
  
  
              //JDBC的批量新增逻辑   
boolean isOperateing = false;   
String sqlStr = " insert into w3en.t_profile(id,language)values (?, ?)";   
if(isOperateing)   
{   
    return false;   
}   
PreparedStatement sm = null;   
for (Object object : items)    
{   
    UserProfileVO item = (UserProfileVO)object;   
    sm.setString(1, item.getId());   
    sm.setString(2, null==item.getBussines_id()?"":item.getBussines_id());   
    sm.addBatch();   
}   
sm.executeBatch();   
              isOperateing = true;  




//找到有重复的数据   
    select a.timestamp, a.userid, a.start_datetime   
    from t_huawei_log_events a   
    where rowid > (select min(rowid)   
                 from t_huawei_log_events b   
                where a.timestamp = b.timestamp   
                and a.start_datetime = b.start_datetime   
                )   
  
   //删除   
   delete from t_huawei_log_events u where to_number(substr(timestamp,0,8)) < 20110901   
  
  
  
    返回字符的内存量   
    function checkStrLen(str)    
    {   
    var valueLen = 0;   
    if (str == "")    
               {   
        return 0;   
    }   
    for (i = 0; i < str.length; i++)    
               {   
        var code = escape(str.charAt(i));   
        if ((code.length >= 4) && (code < "%uFF60" || code > "%uFF9F"))    
                       {   
            valueLen += 3;   
        }    
                       else  
                       {   
            valueLen += 1;   
        }   
    }   
    return valueLen;   
    }   
  
    //去除特殊字符、前后空格   
    word=word.replace(/[\{\}\|\[\]\<\>\#\、\·\!\,\.\;\/\……\(\)\——\”\“\:\’\‘\;\《\》\,\。\【\】\\]/g,"");   
    word = word.replace(/(^\s*)|(\s*$)/g,"");   
  
    //   
      window.setTimeout("alert(5555);",3000);   
      window.setInterval("alert(5555);",1000);  


命令SQL:
Sqlplus/nolog
Conn w3en/w3en@t_websit3



java类在页面上输出代码:
out.print(htmlText);   

java类返回ajax字符窜:
response.getOutputStream().write(timeReturn.getBytes());

jsp页面嵌套另外的JSP页面:
<jsp:include page="../pageShare/seaguojihutle.html"></jsp:include>


国际化:
Locale newlc = new Locale("en","","");
setLocale(request, newlc);





程序执行存储过程
Connection conn = DriverManager.getConnection();
CallableStatement proc = conn.prepareCall("{call create_task_mail()}");
boolean bool = proc.execute();

CREATE OR REPLACE PROCEDURE "SYNC_USER_INFO" is
  v_count integer;
  CURSOR users IS.....

				

              

CSS样式总结
字体   
color:red;   
font-family:Verdana,宋体;   
font-size:12px;   
font-weight:(bold,normal,100,400,700,800,900);                    //字体宽度(加粗,400相当于normal,700相当于blod)   

文本   
text-decoration:(underline,overline,line-through,normal);         //字体格式(下划线,上划线,穿越线,正常)   
text-transform:(uppercase,lowercase,capitalize,normal);           //转换字母(全大写,全小写,首字母大写,正常)   
line-height:20px;                                                 //行高   
letter-spacing:1px;                                               //字母间距   
word-spacing:2px;                                                 //单词间距   
text-indent:5px;                                                  //缩进距离   
text-align:(center,left,right);                                   //文字排版(靠左,靠右,中间)   
word-break:(break-all,normal);                                    //文字是否换行(换行,不换行)   

背景   
background-color:red;                                             //背景颜色   
background-attachment:fixed(scroll);                              //背景图片随内容的转变模式(固定,随着转动)   
background-image:url(images/001.jpg)(none);                       //背景图片的地址   
background-position:20% top;                                      //背景图片的位置(x坐标 y坐标)   
background-repeat:(repeat,no-repeat,repeat-x,repeat-y);           //图片很小的时候是否重叠(重叠,不重叠,水平方向重叠,垂直方向重叠)  
 
定位   
position:(absolute,static,fixed,relative);                                 //显示方式(层叠的,正常的,固定的)   
z-index:3;                                                        //多个层叠的层叠优先级,高的在最上面   
top:20px;                                                         //定位,离顶部距离   
right:20px;                                                       //定位,离右边距离   
left:20px;                                                        //定位,离左边距离   
bottom:20px;                                                      //定位,离底部距离   

尺寸   
height:300px;                                                           
max-height:200%;   
min-height:20%;   
width:20px;   
max-height:200px;   
min-height:20px;  

布局   
clear:(left,right,none,both);                                     //设置不可漂浮的地区,和float一起用(左侧不能漂,右侧不能漂,都能漂,都不能漂,)   
float:(left,right,none);                                          //漂浮的地区,必须另一个div没有设置clear(漂左边,票右边,不漂)   
clip:rect(20,0,30,0);                                             //裁切图片(上,右,下,左)   
overflow:(auto,hidden,scroll);                                    //滚动条设置(自动的,隐藏的,一定有的)   
overflow-x:(auto,hidden,scroll);                                  //X轴滚动条设置(自动的,隐藏的,一定有的)   
overflow-y:(auto,hidden,scroll);                                  //Y轴滚动条设置(自动的,隐藏的,一定有的)   
display:(none,block,inline);                                      //隐藏或出现某段区域(隐藏,显示,内联显示)   
visibilty:(hidden,visible);                                       //东西实际是存在的,只是不可见,但是display设置hidden时东西不存在   
margin:10% 2% 0% 1%;                                              //该标签外侧的绝对定位(上,右,下,左)   
padding:10% 2% 0% 1%;                                             //该标签内侧的绝对定位(上,右,下,左)   
zoom : 0.75;                                                      //查看该标签的缩放比例   

边框   
border-color:#DCDCDC;                                             //边框颜色   
border-style:(solid,none,double,dotted,dashed);                   //边框格式(实线边框,无边框,双线边框,点线边框,虚线边框)   
border-width:2px;                                                 //边框宽度     
border-top-color:#DCDCDC;   
border-top-style:(solid,none,double,dotted,dashed);   
border-top-width:2px;   
border-left-color:#DCDCDC;   
border-left-style:(solid,none,double,dotted,dashed);   
border-left-width:2px;   
border-right-color:#DCDCDC;   
border-right-style:(solid,none,double,dotted,dashed);   
border-right-width:2px;   
border-botton-color:#DCDCDC;   
border-botton-style:(solid,snone,double,dotted,dashed);   
border-botton-width:2px;  

表格   
border-collapse:(collapse,separate);                              //表格的格式(单线的,离线的)   
border-collapse:separate;border-spacing:10px;                     //表格若为离线,设置行与行的边距   
empty-cells:(show,hiddens);                                       //内容为空是否显示边框(显示,隐藏)   
table-layout:(fixed,auto);                                        //表格样式(固定的,灵活的)   
滚动条   
scrollbar-arrow-color:red;                                        //箭头的颜色   
scrollbar-3dlight-color:red;                                      //边框的颜色   
scrollbar-face-color:red;                                         //表面的颜色   
scrollbar-track-color:red;                                        //背景的颜色   
scrollbar-highlight-color:red;                                    //边框、背景的颜色   
scrollbar-base-color:red;                                         //表面、边框、背景的颜色   
  
  
cursor   
auto                                                              //默认值   
all-scroll                                                        //有上下左右四个箭头   
col-resize                                                        //有左右两个箭头,中间由竖线分隔开的光标    
crosshair                                                         //简单的十字线光标   
default                                                           //客户端平台的默认光标   
hand                                                              //竖起一只手指的手形光标   
move                                              //十字箭头光标,用于标示对象可被移动   
help                                  //带有问号标记的箭头   
no-drop                               //带有一个被斜线贯穿的圆圈的手形光标   
not-allowed                           //禁止标记(一个被斜线贯穿的圆圈)光标   
pointer                               //和 hand 一样   
progress                                  //带有沙漏标记的箭头光标   
row-resize                            //有上下两个箭头,中间由横线分隔开的光标   
text                                  //用于标示可编辑的水平文本的光标   
vertical-text                             //用于标示可编辑的垂直文本的光标   
wait                                  //用于标示程序忙用户需要等待的光标   
*-resize                              //用于标示对象可被改变尺寸方向的箭头光标 se-resize,nw-resize   
url(url)                                  //用户自定义光标,使用绝对或相对 url 地址指定光标文件(后缀为 .cur 或者 .ani )  


类型选择符   
div{ font-size:14px; width:120px; }       
table,tr,td,body{color:red;}   
  
属性选择符   
h[title] { color: blue; }    
span[class=demo] { color: red; }    
div[speed="fast"][dorun="no"] { color: red; }    
  
包含选择符   
table[id=123] td{ font-size:14px; }    
div ul>li p{ font-size:14px; }    
  
ID选择符   
#name { font-size:14px; }    
  
类选择符   
div.note { font-size:14px; }    
.dream { font-size:14px; }    
  
  
伪类   
a:link {font-size: 14pt;}                                         //未访问   
a:hover {font-size: 14pt;}                                        //鼠标停留   
a:active {font-size: 14pt;}                                       //点击   
a:visited {font-size: 14pt; }                                     //已访问过   
  
  
滤镜   
filter:progid:DXImageTransform.Microsoft.Gradient(enabled=true,startColorStr=red,endColorStr=blue,GradientType=1)    
filter:progid:DXImageTransform.Microsoft.Alpha(enabled=true,style=0,opacity=4,finishOpacity=67,startX=2,startY=5,finishX=2,finishY=7) 
常用的网址
https://psfthcm.vanceinfo.com:4460/psp/hcmprd/EMPLOYEE/HRMS/c/ROLE_EMPLOYEE.GP_SS_EE_PSLP.GBL?PORTALPARAM_PTCNAV=HC_GP_SS_EE_PSLP_GBL&EOPP.SCNode=HRMS&EOPP.SCPortal=EMPLOYEE&EOPP.SCName=CO_EMPLOYEE_SELF_SERVICE&EOPP.SCLabel=%e8%87%aa%e5%8a%a9%e6%9c%8d%e5%8a%a1&EOPP.SCPTfname=CO_EMPLOYEE_SELF_SERVICE&FolderPath=PORTAL_ROOT_OBJECT.CO_EMPLOYEE_SELF_SERVICE.HC_PAYROLL_COMP.HC_GP_SS_EE_PSLP_GBL&IsFolder=false


常用的网址:
NBA直播清单:http://www.zhibo8.com/
体育频道NBA现场直播:http://tv.lanqm.com/
51博客:http://home.51.com/itmengxiang
新浪博客:http://blog.sina.com.cn/wade399
JAVA教程下载:http://www.eshuba.com/soft/10799.htm
软件下载:http://www.xiazaiba.com/html/786.html#soft_download
加农贝克的篮球教学:http://video.baidu.com/v?ct=301989888&rn=20&pn=0&db=0&s=8&word=%BC%D3%C5%A9%B1%B4%BF%CB%B5%C4%C0%BA%C7%F2%BD%CC%D1%A7&fr=ala0
 
我的账号密码:
51博客:itmengxiang;13713210376
新浪博客:wade@sina.com; 13713210376
中国人才热线:czj399;137132
QQ:287119069;07968576399
百度:wade399;137132
新浪邮箱:wade399@sina.com;13713210376
QQ邮箱:287119069@qq.com;07968576399
网易邮箱:wade399@163.com;137132
网易:wade399@163.com;137132
CSDN:wade399@sina.com;13713210376
JavaEye: wade399;Aa123456
淘宝购物:wade39930753;Aa123!
公积金:
银联借记卡账号:6226 0975 5164 7572
公积金账号:20266853480
密码:861595
社保电脑号:614109493

文思——cao_zhijun-sz;caozhijun001(注:一定是IE浏览器)
高楼迷——地王雄风;Aa123456
赶集网——wade399;Aa123456




吉他学习:   375600201
JAVA编码规范50条 编码规范
编程规范50条 
 
1.程序块要采用缩进风格编写,缩进的空格数为4个 
 
2.分界符(如大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。 在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序都要采用 如上的缩进方式 
 
3.较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分 新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。 
 
4.不允许把多个短语句写在一行中,即一行只写一条语句 
 
5.if, for, do, while, case, switch, default 等语句独占一行,且if, for, do, while等语 句的执行语句无论多少都要加括号{} 
 
6.相对独立的程序块之间、变量说明之后必须加空行 
 
7.比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域 操作符"<<"、"^"等双目操作符的前后加空格 
 
8. "!"、"~"、"++"、"--"、"&"、"."等单目操作符前后不加空格 
 
9. 一般情况下,源程序有效注释量必须在30%以上 
 
10.包的注释写入一个名为 package.html的HTML格式的说明文件放入当前路径,方便JavaDoc 收集,简述本包的作用、描述本包的内容、产品模块名称和版本、公司版权 内容:工单公共应用原子服务接口实现
产品模块名称:BUS
版本:1.1
公司版权:Huawei

11.文件注释写入文件头部,包名之前的位置 
/** * 文件名称:WSForCBSChangeOwnershipPS.java 
* 版本:1.3 
* 描述:修改客户信息的业务逻辑处理
 * 创建人:czj * 创建时间:2010-09-19 
* 修改人:czj * 修改时间:2010-09-25 
* 修改人:wade * 修改时间:2010-11-25 */ 
 
12.项目→模块→包→文件→类(接口)→属性(方法) 
 
13.类和接口的注释放在 package 关键字之后,class 或者 interface 关键字之前,内容为类的 注释主要是一句话功能简述、功能详细描述 
 
14.类属性、公有和保护方法注释:写在类属性、公有和保护方法上面。成员变量注释内容:成员 变量的意义、目的、功能,可能被用到的地方 
 
15.注释与所描述内容进行同样的缩排 
 
16.将注释与其上面的代码用空行隔开
 
 17.边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的 注释要删除 
 
18.注释的内容要清楚、明了,含义准确,防止注释二义性 
 
19.注释语言不统一,影响程序易读性和外观排版,出于对维护人员的考虑,建议使用中文 
 
20.包名采用小写字母 部门内部产品:部门的名称 + 项目名称 产品线的产品:产品的名称 + 模块的名称 
 
21.类名和接口、方法、属性名使用类意义完整的英文描述,每个英文单词的首字母使用大写、其余 字母使用小写的大小写混合法 get + 非布尔属性名() is + 布尔属性名() set + 属性名() 动词() 动词 + 宾语() 
 
22.属性名不能与方法名相同 
 
23.常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用 final static 修饰 
 
24.如果函数名超过15个字母,可采用以去掉元音字母的方法或者以行业内约定俗成的缩写方式 缩写函数名。如Information为Info 
 
25.准确地确定成员函数的存取控制符号,不是必须使用 public 属性的,请使用 protected, 不是必须使用 protected, 请使用 private 
 
26.方法内的单行注释使用 // 
 
27.类属性和类方法不要交叉放置,不同存取范围的属性或者方法也尽量不要交叉放置。前面一 般写属性,后面写方法,范围从大到小 
 
28.明确方法功能,精确(而不是近似)地实现方法设计。一个函数仅完成一件功能,即使简 单功能也应该编写方法实现
 
 29.应明确规定对接口方法参数的合法性检查应由方法的调用者负责还是由接口方法本身负责, 缺省是由方法调用者负责 
 
30.明确类的功能,精确(而不是近似)地实现类的设计。一个类仅实现一组相近的功能。说明: 划分类的时候,应该尽量把逻辑处理、数据和显示分离,实现类功能的单一性
 
 31.数据库操作、IO操作等需要使用结束close()的对象必须在try -catch-finally 的finally 中close(),无论有没有异常,流必须要关闭 
 
32.异常捕获后,如果不对该异常进行处理,则应该纪录日志或者ex.printStackTrace(),不能 什么都不做 
 
33.在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常 和错误码不应该混合使用,推荐使用异常,异常的处理效率比条件分支低,而且异常的跳转流程 难以预测
 
 34.注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级 
 
35.避免使用不易理解的数字,用有意义的标识来替代。涉及物理状态或者含有物理意义的常量,不 应直接使用数字,必须用有意义的静态变量来代替 
 
36.数组声明的时候使用 int[] index,而不要使用 int index[] 
 
37.异常捕获尽量不要直接 catch (Exception ex),应该把异常细分处理 
 
38.集合中的数据如果不使用了应该及时释放,尤其是可重复使用的集合 
 
39.在switch 中每个 case 语句都应该包含 break 或者 return A.不使用break或者 return从匹配的那个数据时一直执行下去; B.使用break执行完匹配的直接跳出switch程序块; C.使用return语句,整个程序执行到匹配的语句结束,不会执行switch之后的语句,除非有finally语句块 
 
40.遇到IO流。Try catch finaly 关闭流 
 
41.方法的参数名不要和类中的方法名相同 
 
42.除了构建器外,不要使用和类名相同的方法名
 
 43.jsp页面不能有业务逻辑的代码出现,用标签代替
 
44.显式初始化所有的局部变量
 
 45.在进行比较的时候,把常量放在右边 
 
46.代码中不要出现硬编码,用常量表示
 
47.多个字符串相加,不用String ,用StringBuffere;
 
48.不要使用不必要的布尔值比较,如:if (a.equals(b)), 而不是 if (a.equals(b)==true) 画蛇添足,多此一举 
 
49.使用国际化,jsp页面不能有硬编码
 
 50. 异常catch后要抛出来,throw e

自定义标签开发步骤
<%@ page language="java" pageEncoding="GBK"%>
<%@ taglib uri="/WEB-INF/wade.tld" prefix="nba"%>
<html>
<head>
<title>自定义标签</title>
</head>
<body>
<nba:wade name="wade" />
</body>
</html>




package com.huawei.w3.framework.tag;

import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

public class WadeTag extends TagSupport {
	
	private static final long serialVersionUID = -2276897778185933655L;
	private String name ;
	
	public String getName()
	{
		return name;
	}
	public void setName(String name)
	{
		this.name = name;
	}

	public int doStartTag()  
	{
		try
		{
			//HttpServletRequest req = (HttpServletRequest) this.pageContext.getRequest();
			JspWriter writer = pageContext.getOut();
			writer.println("Hello,I am "+name);
		}
		catch (Exception e)
		{
		}
        return SKIP_BODY;
	}
}



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>template</shortname>

<tag>
	<name>wade</name>
	<tagclass>com.huawei.w3.framework.tag.WadeTag</tagclass>
	<attribute>
		<name>name</name>
		<required>true</required>
		<rtexprvalue>true</rtexprvalue>
	</attribute>
</tag>

</taglib>



<jsp-config>
	<taglib>
			<taglib-uri>/WEB-INF/wade.tld</taglib-uri>
			<taglib-location>/WEB-INF/wade.tld</taglib-location>
		</taglib>

</jsp-config>

pio操作2003,2007
package com.czj.excel;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

/**
 * 利用PIO解析2003Excel文件
 * 利用PIO解析2007Excel文件
 * 利用PIO创建2003Excel文件
 * 利用PIO创建2003Excel文件
 * @author Administrator
 */
public class PIO2007Excel
{
	/**
	 * main方法
	 * @param args
	 * @throws Exception
	 */
	public static void main(String[] args) throws Exception
	{
		try
		{
			String parseExcel2003 = "F://ECLIPSEDATA/excel2003/wade.xls";
			String parseExcel2007 = "F://ECLIPSEDATA/excel2007/wade.xlsx";
			String toFile2003 = "F://ECLIPSEDATA/excel2003/wadePro.xls";
			String toFile2007 = "F://ECLIPSEDATA/excel2007/wadePro.xlsx";
			PIO2007Excel util = new PIO2007Excel();
			util.read2003Excel(parseExcel2003);
			util.read2007Excel(parseExcel2007);
			util.create2003Excel(toFile2003);
			util.create2007Excel(toFile2007);
			System.out.println("恭喜,所有操作已经顺利完成。。。。。。。。。");
		}
		catch (Exception e)
		{
			throw e;
		}
	}
	
	/**
	 * 读取2003文件
	 * @param file
	 */
	public void read2003Excel(String file)
	{
		try
		{
			InputStream input = new FileInputStream(file);
			POIFSFileSystem fs = new POIFSFileSystem(input);
			HSSFWorkbook wb = new HSSFWorkbook(fs);
			
			//只读第一个sheet
			HSSFSheet sheet = wb.getSheetAt(0);
			Iterator rows = sheet.rowIterator();
			while (rows.hasNext())
			{
				HSSFRow row = (HSSFRow) rows.next();
				Iterator cells = row.cellIterator();
				while (cells.hasNext())
				{
					HSSFCell cell = (HSSFCell) cells.next();
					switch (cell.getCellType())
					{
					case HSSFCell.CELL_TYPE_NUMERIC:
						System.out.println(cell.getNumericCellValue());
						break;
					case HSSFCell.CELL_TYPE_STRING:
						System.out.println(cell.getStringCellValue());
						break;
					case HSSFCell.CELL_TYPE_BOOLEAN:
						System.out.println(cell.getBooleanCellValue());
						break;
					case HSSFCell.CELL_TYPE_FORMULA:
						System.out.println(cell.getCellFormula());
						break;
					default:
						System.out.println("unsuported sell type");
						break;
					}
				}
			}
		}
		catch (IOException ex)
		{
			ex.printStackTrace();
		}

	}
	
	/**
	 * 读取2007文件
	 * @param file
	 */
	public void read2007Excel(String file) throws Exception
	{
		XSSFWorkbook xwb = new XSSFWorkbook(file);
	
		// 只读第一个sheet
		XSSFSheet sheet = xwb.getSheetAt(0);
		XSSFRow row = null;
		String cell = null;
		for (int i = sheet.getFirstRowNum() + 1; i < sheet.getPhysicalNumberOfRows(); i++)
		{
			row = sheet.getRow(i);
			for (int j = row.getFirstCellNum(); j < row.getPhysicalNumberOfCells(); j++)
			{
					cell = row.getCell(j).toString();
					System.out.println(cell + "\t");
				/*
				 *  //获取字体和背景颜色  
				String rgbShort=row.getCell(j).getCellStyle().getFont().getCTFont().getColorArray()[0].xmlText();  
				rgbShort=ReadExcel.substringBetween(rgbShort, "rgb=\"","\"/>");  
				String rgbShort=row.getCell(j).getCellStyle().getFillBackgroundXSSFColor().getCTColor().toString();  
				Color color=new Color(Color.BLUE.getRGB());  
				System.out.print(cell +",index:"+rgbShort+" red:"+color.getRed()+" blue:"+color.getBlue()+"\t");   
				*/
			}
		}
	}
	
	/**
	 * 创建2003文件
	 * @param file
	 */
	public void create2003Excel(String path) throws Exception
	{
		HSSFWorkbook hssfworkbook = new HSSFWorkbook();
		HSSFSheet hssfsheet = hssfworkbook.createSheet();
		hssfworkbook.setSheetName(0, "NBA");
		
		HSSFRow hssfrow0 = hssfsheet.createRow(0);
		hssfrow0.createCell(0).setCellValue("2011NBA球员排行榜");

		HSSFRow hssfrow1 = hssfsheet.createRow(1);
		hssfrow1.createCell(0).setCellValue("名次");
		hssfrow1.createCell(1).setCellValue("中文名");
		hssfrow1.createCell(2).setCellValue("英文名");
		hssfrow1.createCell(3).setCellValue("球队");
		hssfrow1.createCell(3).setCellValue("生日");
		
		HSSFRow hssfrow2 = hssfsheet.createRow(2);
		hssfrow2.createCell(0).setCellValue(1);
		hssfrow2.createCell(1).setCellValue("德维恩-韦德");
		hssfrow2.createCell(2).setCellValue("Dyeane_Wade");
		hssfrow2.createCell(3).setCellValue("热火");
		hssfrow2.createCell(3).setCellValue("1982-12-13");
		
		HSSFRow hssfrow3 = hssfsheet.createRow(3);
		hssfrow3.createCell(0).setCellValue(2);
		hssfrow3.createCell(1).setCellValue("特雷西-麦克格雷迪");
		hssfrow3.createCell(2).setCellValue("Tracy_McGrady");
		hssfrow3.createCell(3).setCellValue("火箭");
		hssfrow3.createCell(3).setCellValue("1979-08-13");
		
		FileOutputStream fileoutputstream = new FileOutputStream(path);
		hssfworkbook.write(fileoutputstream);
		fileoutputstream.close();
		System.out.println("excel 2003已经创建成功。。。。。。。");
	}
	
	/**
	 * 创建2007文件
	 * @param file
	 */
	public void create2007Excel(String path) throws Exception
	{
		XSSFWorkbook hssfworkbook = new XSSFWorkbook();
		XSSFSheet hssfsheet = hssfworkbook.createSheet();
		hssfworkbook.setSheetName(0, "NBA");
		
		XSSFRow firstRow0 = hssfsheet.createRow(0);
		firstRow0.createCell(0).setCellValue("名称");
		firstRow0.createCell(1).setCellValue("名称");
		firstRow0.createCell(2).setCellValue("用户");
		firstRow0.createCell(3).setCellValue("备注");
		
		XSSFRow firstRow1 = hssfsheet.createRow(1);
		firstRow1.createCell(0).setCellValue("名称");
		firstRow1.createCell(1).setCellValue("名称");
		firstRow1.createCell(2).setCellValue("用户");
		firstRow1.createCell(3).setCellValue("备注");
		
		XSSFRow firstRow2 = hssfsheet.createRow(2);
		firstRow2.createCell(0).setCellValue("名称");
		firstRow2.createCell(1).setCellValue("名称");
		firstRow2.createCell(2).setCellValue("用户");
		firstRow2.createCell(3).setCellValue("备注");

		
		FileOutputStream fileoutputstream = new FileOutputStream(path);
		hssfworkbook.write(fileoutputstream);
		fileoutputstream.close();
		System.out.println("excel 2007已经创建成功。。。。。。。");

	}
}
过滤图片的高度和宽度
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;

BufferedImage bigPicImage = ImageIO.read(bifPicFile);

if(bigPicImage.getHeight()!=64||bigPicImage.getWidth()!=64)
{}
SQL语句总结
MVP-韦德 
男 24岁 广东 深圳

写日志SQL语句总结 
查看日志列表 发表于03月19日 11:29 
SQL语句分类: 
1.DML语句,包含Insert、Update、Delete、select等常用语句 

2.DDL语句,包含Create、Alter、Truncate、Drop等常用语句 

3.TCL语句,Commit、Rollback等常用语句 

4.DCL语句,invoke、voke主要用于权限的分配与回收,由于 

与开发关系不是十分密切,不做重点讲解 


范例讲解: 

DML语句 

insert into book(id,name) values(2,"Wade"); 


update book set name="McGrady" where id=2; 


delete book where id=2 


delete book 


Truncate table book 


TCL语句 

declare 

v_idDelete number(10):=3; 

v_idUpdate number(10):=2; 

v_name varchar(20):="James"; 

begin 

delete book where id= v_idDelete; 

update book set name=v_name where id = v_idUpdate; 

commit; 

exception 

when others then 

rollback; 

end; 

/ 


java代码里面使用: 


Connection con = null; 

try 

{ 

con = DriverManager.getConnection(“jdbc:oracle:thin:@127.0.0.1:1521:MyOrcl”, 

”czj”,”cc”); 

con.setAutoCommit(false); 

addBook(book); 

addCostumer(cos); 

updateSum(1); 

con.commit(); 

} 

catch(Exception ex) 

{ 

con.rollback(); 

throw new RuntimeException(“Sorry! System error!”,ex); 

} 

finally 

{ 

con.close(); 

} 



查询语句 

employeeà雇员信息表 

emp_id 雇员编号 NOT NULL NUMBER(4) 

emp_name 雇员姓名 VARCHAR2(10) 

emp_station 工作岗位 VARCHAR2(9) 

emp_managerId 该雇员经理人的编号 NUMBER(4) 

emp_inDate 入职时间 DATE 

emp_salary 薪水 NUMBER(7,2) 

emp_allowance 津贴 NUMBER(7,2) 

emp_depId 雇员所在部门编号 NUMBER(2) 

departmentà部门信息表 

dep_id 部门编号 NOT NULL NUMBER(2) 

dep_name 部门名字 VARCHAR2(14) 

dep_loction 部门所在地 VARCHAR2(13) 

salarygradeà薪水等级表 

Sg_id 薪水等级 NUMBER 

Sg_minSal 该等级的最低薪水值 NUMBER 

Sg_maxSal 该等级的最高薪水值 NUMBER 


●基本查询(消除重复或字段) 

select distinct * from employee; 

select emp_id, emp_name, emp_salary from employee; 


●查询算术表达式语句 

select emp_id, emp_salary*2 from employee; 

select 55/2 from dual; 

select sysdate from employee where emp_id = 3; 

select emp_name, emp_salary *12+ emp_allowance from employee 


●别名 

select emp_id, emp_salary*2 ‘doubleSal’from employee; 

select em.emp_id, em.emp_salary*2 as‘doubleSal’from employee em; 


●where过滤数据 

select * from employee where emp_depId = 3; 

Select * from employee where emp_name = ‘Wade’; 

Select emp_name, emp_salary from employee where emp_salary between 800 and 1500; 

Select emp_name, emp_salary from employee where emp_salary <= 800 or emp_salary >=1500; 

Select * from employee where emp_allowance is not null; 

Select * from employee where emp_allowance is in(100,200,400,800,1000); 

Select * from employee where emp_name is not in(‘Wade’, ‘McGrady’, ‘James’); 

Select * from employee where emp_inDate > ’20-2月-2010’; 

Select * from employee where emp_inDate between ’20-2月-2010’and ’20-4月-2011’; 

Select * from employee where emp_inDate > ’20-2月-2010’and emp_salary>3000; 

Select * from employee where emp_name like‘%Wade%’; 

Select * from employee where emp_name like‘_W%’; 

Select * from employee where emp_name like‘%\%%’; 


●order by 语句 

Select emp_name, emp_salary from employee order by emp_name; 

Select emp_name, emp_salary from employee order by emp_salary desc; 


●常用函数 

Select * from employee where lower(emp_name) like ‘%w%’; 

Select * from employee where upper(emp_name) like ‘%W%’; 

Select substr(“hello”,1,3) from dual; 

Select substr(emp_name,2) from employee; 

Select round(333.4) from employee where emp_id = 44; 

Select to_char(emp_salary,’$99,999.9999’) from employee where emp_id = 44; 

Select to_char(emp_salary,’L00,000.0000’) from employee where emp_id = 44; 

Select to_char(emp_salary,’00.0000’) from employee where emp_id = 44; 

Select to_char(emp_inDate,’YYYY-MM-DD HH24:MI:SS’) 

from employee where emp_id = 44; 

Select * from employee where emp_inDate > to_date 

(‘2010-02-20 00:00:00’,’YYYY-MM-DD HH24:MI:SS’); 

Select * from employee where emp_salary > to_number 

(‘$2,400.0000’,’$9,999.9999’); 

Select sum(emp_salary), avg(emp_salary), max(emp_salary), min(emp_salary) from employee; 


●group by语句 

Select emp_depId , avg(emp_salary) as ‘平均工资’,max(sal) as ‘最大工资’ from employee group by emp_depId having max(sal) > 2000; 


Select emp_depId ,avg(emp_salary) from employee where emp_salary > 1200 group by emp_depId having avg(emp_salary) > 1500 Order by avg(emp_salary); 


使用group by 的规律: 

出现在select列表中的字段,如果没有出现在组函数中,则必须出现在group by子句中。 


●表的连接 

Select emp_name, dep_name from employee e, department d where e.emp_depId = d. dep_id; 

Select e.emp_name,e.emp_salary as sal, s.sg_id from employee e, salarygrade s where s. sg_minSal <= sal and s.sg_maxSal >= sal; 

Select emp_name, dep_name from employee e join department d on e.emp_depId = d. dep_id; 

Select emp_name, dep_name from employee e left join department d on e.emp_depId = d. dep_id; 

Select emp_name, dep_name from employee e right join department d on e.emp_depId = d. dep_id; 

Select emp_name, dep_name from employee e full join department d on e.emp_depId = d. dep_id; 



●子查询(理解子查询的关键-->把它当成一张表) 

Select emp_name,emp_salary from employee where emp_salary =(Select max(emp_salary) from employee); 


按照部门进行分组之后挣钱最多的那个人的名字,部门编号? 

Select emp_salary,emp_name, emp_deptId from employee e , 

(Select max(emp_salary) as‘maxSalary’,emp_deptId from employee group by emp_deptId) t 

where e.emp_salary = t.maxSalary and e.emp_deptId = t.emp_deptId; 

求每个部门的平均薪水等级是多少? 

Select t.avgSalary, t.emp_deptId, s.sg_id from salarygrade s, 

(Select avg(emp_salary) as‘avgSalary’,emp_deptId from employee group by emp_deptId) t where t.avgSalary between s.sg_minSal and s.sg_maxSal group by emp_deptId. 


DDL语句 

表 

create table book 

( 

id number(10) not null, 

name varchar2(50) default ‘wade’ , 

shopId number(10) not null constraint book_shopId_fk refrences shop(id), 

produceDate date default sysdate, 

constraints pk1 primary key(id, produceDate) 

) 


alter table book add(author varchar(20) not null) 

alter table book drop column author 

alter table book modify name default ‘McGrady’ 

alter table book rename author to author2 

drop table book 

truncate table book 


增加约束 

alter table book add constraint id_pk primary key (id, produceDate) 

alter table book add constraint book_shopId_fk foreign key(shopid) refrences shop(id) 


主键三种方式: 

id number(20) primary key , 

constraint pk1 primary key (id) 

alter table book add constraint pk1 primary key (id) 


外键三种方式: 

shopId number(10) constraint fk1 refrences shop(id), 

constraint fk1 foreign key (shopId) refrences shop(id) 

alter table book add constraint fk1 foreign key (shopId) refrences shop(id) 


索引 

create index index1 on book(id) 

create unique index index1 on book(id) 

create index index1 on book(id,name, produceDate) 

drop index index1 

alter index iudex1 rename to index2 

select * from dba_indexs 


视图 

create or replace view v1 as select * from book where id <200 with read only 

drop view v1 


序列 

create sequence s1 increment by 1 start with 1 

drop sequence s1 


游标 

declare 

cursor c1 is select id,name from book ; 

v_id book.id%type; 

v_name book.name%type; 

begin 

open c1; 

loop 

fetch c1 into v_id,v_name ; 

exit when c1%notfound; 

dbms_output.put_line(v_id+”;”+v_name); 

end loop; 

close c1; 

end; 

/ 


触发器 

create or replace trigger t1 after insert or delete or update on book for each row; 

declear 

v_id number(10):=1; 

v_name number(10):=1; 

begin 

loop 

insert into shop(id,name) values(v_id, v_name); 

v_id++; 

v_name++; 

exit when v_id = 100000; 

end loop; 

end; 

/ 


存储过程 

create or replace proceduce p1(v_id in number(10),v_name in varchar(10)) as 

v_id number(10); 

v_name varchar(20); 

begin 

dbms_output.put_line(v_id+”;”+v_name); 

end; 

/ 

declear 

v_id number(10):=10; 

v_name varchar(20):=’wade’; 

exec p1(v_id,v_name); 


查看日志列表   分享  
转载成功!
即将分享, 顺带说句话吧: 

 
 取消 分享成功!
 
   取消 
java邮件
、package com.czj.email;

import java.util.Properties;

public class MailInfo
{
	//邮箱服务器
	private String serverIp;
	
	//邮箱端口号
	private String serverPort;
	
	//发送的地址
	private String toAddress;
	
	//从哪里发出?
	private String fromAddress;
	
	//用户名
	private String mailUser;
	
	//邮箱密码
	private String mailPwd;
	
	//邮箱标题
	private String mailTitle;
	
	//邮箱内容
	private String mailContent;
	
	//附件
	private String[] attachFiles;
	
	//是否要验证身份
	private boolean validate = false; 


	public Properties getProperties()
	{
		 Properties p = new Properties(); 
		    p.put("mail.smtp.host", this.serverIp); 
		    p.put("mail.smtp.port", this.serverPort); 
		    p.put("mail.smtp.auth", validate ? "true" : "false"); 
		    return p; 

	}

	public boolean isValidate() { 
		  return validate; 
		 }  
		 public void setValidate(boolean validate) { 
		  this.validate = validate; 
		 }  

	public String[] getAttachFiles()
	{
		return attachFiles;
	}

	public void setAttachFiles(String[] attachFiles)
	{
		this.attachFiles = attachFiles;
	}

	public String getFromAddress()
	{
		return fromAddress;
	}

	public void setFromAddress(String fromAddress)
	{
		this.fromAddress = fromAddress;
	}

	public String getMailContent()
	{
		return mailContent;
	}

	public void setMailContent(String mailContent)
	{
		this.mailContent = mailContent;
	}

	public String getMailPwd()
	{
		return mailPwd;
	}

	public void setMailPwd(String mailPwd)
	{
		this.mailPwd = mailPwd;
	}

	public String getMailTitle()
	{
		return mailTitle;
	}

	public void setMailTitle(String mailTitle)
	{
		this.mailTitle = mailTitle;
	}

	public String getMailUser()
	{
		return mailUser;
	}

	public void setMailUser(String mailUser)
	{
		this.mailUser = mailUser;
	}

	public String getServerIp()
	{
		return serverIp;
	}

	public void setServerIp(String serverIp)
	{
		this.serverIp = serverIp;
	}

	public String getServerPort()
	{
		return serverPort;
	}

	public void setServerPort(String serverPort)
	{
		this.serverPort = serverPort;
	}

	public String getToAddress()
	{
		return toAddress;
	}

	public void setToAddress(String toAddress)
	{
		this.toAddress = toAddress;
	}

}





package com.czj.email;

import javax.mail.Authenticator;   
import javax.mail.PasswordAuthentication;

public class MyAuthenticator extends Authenticator   
{   
	String userName=null; 
	  String password=null; 
	    
	  public MyAuthenticator(){ 
	  } 
	  public MyAuthenticator(String username, String password) {  
	    this.userName = username;  
	    this.password = password;  
	  }  
	  protected PasswordAuthentication getPasswordAuthentication(){ 
	    return new PasswordAuthentication(userName, password); 
	  } 

  
}  





package com.czj.email;
import java.util.Date;   
import java.util.Properties;   
import javax.mail.BodyPart;   
import javax.mail.Message;   
import javax.mail.MessagingException;   
import javax.mail.Multipart;   
import javax.mail.Session;   
import javax.mail.Transport;   
import javax.mail.internet.AddressException;   
import javax.mail.internet.InternetAddress;   
import javax.mail.internet.MimeBodyPart;   
import javax.mail.internet.MimeMessage;   
import javax.mail.internet.MimeMultipart;   
  
public class MailSender   
{   
  
    /**  
     * @param args  
     */  
    public static void main(String[] args)   
    {   
        MailInfo info = new MailInfo();   
        info.setServerIp("smtp.163.com");   
        info.setServerPort("25");   
        info.setFromAddress("wade399@163.com");   
        info.setToAddress("wade399@sina.com");   
        info.setMailUser("wade399@163.com");   
        info.setMailPwd("137132");   
        info.setMailTitle("邮件程序测试。。。。");   
        info.setValidate(true);  
        info.setMailContent("大家好,我是德维恩-韦德,很高兴TMAC能够来到热火,我相信我们会创造更大的辉煌,五连冠不是梦想!");   
        MailSender sender = new MailSender();   
        try  
        {   
            sender.sendMail(info,"text");   
            sender.sendMail(info,"html");   
            System.out.println("恭喜你,发送邮件成功!");
        } catch (Exception e)   
        {   
        	System.out.println("抱歉啊,发送邮件失败!理由是:"+e);
        }    
    }   
       
    /**
     * 发送邮件逻辑
     * @param info
     * @param type
     * @throws AddressException
     * @throws MessagingException
     */
    public void sendMail(MailInfo info,String type) throws AddressException, MessagingException   
    {   
    	MyAuthenticator authenticator = null;
    	  if (info.isValidate()) {

    		  authenticator = new MyAuthenticator(info.getMailUser(), info.getMailPwd());   
    	  }
        Properties pro = info.getProperties();      
         Session sendMailSession = Session.getDefaultInstance(pro,authenticator);     
       
         Message mailMessage = new MimeMessage(sendMailSession);       
         mailMessage.setFrom(new InternetAddress(info.getFromAddress()));      
         mailMessage.setRecipient(Message.RecipientType.TO,new InternetAddress(info.getToAddress()));       
         mailMessage.setSubject(info.getMailTitle());   
         mailMessage.setSentDate(new Date());       
         if(null!=type&&"text".equals(type))   
         {   
             mailMessage.setText(info.getMailContent());       
         }   
         else  
         {   
            Multipart mainPart = new MimeMultipart();   
            BodyPart html = new MimeBodyPart();   
            html.setContent(info.getMailContent(), "text/html; charset=GBK");   
            mainPart.addBodyPart(html);   
            mailMessage.setContent(mainPart);   
        }   
         Transport.send(mailMessage);      
    }   
}   
小算法I
解压缩zip文件:	
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Expand;
public void unzip(String sourceZip, String destDir) throws Exception
{
	try
	{
		Project p = new Project();
		Expand e = new Expand();
		e.setProject(p);
		e.setSrc(new File(sourceZip));
		e.setOverwrite(false);
		e.setDest(new File(destDir));
		e.setEncoding("gbk");
		e.execute();
	} catch (Exception e)
	{
		throw e;
	}
}


取得日期的下一天:

public String getNextDay(String time) 
	{
		Date dd2 = null;
		DateFormat af = DateFormat.getDateInstance();
		try
		{
			if(null!=time)
			{
				Date dd = af.parse(time);
				dd2 = new Date(dd.getTime()+1000*60*60*24);
			}
		} catch (ParseException e)
		{
			e.printStackTrace();
		}
		return null!=dd2?af.format(dd2):"";
	}


查看是否有子菜单?
public String getTabHaveChild(List rootList,List otherList)
	{
		List<W3WndletInstanceVO> list = new ArrayList<W3WndletInstanceVO>();
		if (null != rootList && rootList.size() > 0)
		{
			list.addAll(rootList);
		}
		if (null != otherList && otherList.size() > 0)
		{
			list.addAll(otherList);
		}
		StringBuffer sb = new StringBuffer("");
		if (null != list && list.size() > 0)
		{
			for (int k = 0; k < list.size(); k++)
			{
				W3WndletInstanceVO vo = list.get(k);
				String tabId = vo.getChannelId();
				boolean isChildFlag = false;
				for (int i = 0; i < list.size(); i++)
				{
					W3WndletInstanceVO vo2 = list.get(i);
					if (null != vo2.getOwner() && vo2.getOwner().equals(tabId))
					{
						isChildFlag = true;
						break;
					}
				}
				if (isChildFlag)
				{
					sb.append(tabId.toString() + ";");
				}
			}
		}
		return sb.toString();
	}


根据年份和周数找出对应的日期
function getDayByWeek(year,week,type)
		{
		    var returnDesc = "";
		    var weekSum = 0;
		    var daySum = 0;
           for(var mon=0;mon<=11;mon++)
           {
		     if(mon==0||mon==2||mon==4||mon==6||mon==7||mon==9||mon==11)
		     {
		        daySum = 31;
		     }
		     else if(mon==3||mon==5||mon==8||mon==10)
		     {
		        daySum =30;
		     }
		     else
		     {
		       if(isRunYear(year)){daySum = 29;}
		       else{daySum = 28;}
		     }
             for(var k=1;k<=daySum;k++)
		     {
		           var dateInstance = new Date();
                   dateInstance.setYear(year);
                   dateInstance.setMonth(mon);
		           dateInstance.setDate(k);
		       if(dateInstance.getDay()==1)
		       {
		          weekSum++;
		       }
		        if(type!=""&&type=="first")
		        {
		          if(weekSum==week)
		          {
		              returnDesc = (dateInstance.getMonth()+1)+"."+dateInstance.getDate();
		              break;
		          }
		        }
		        else
		        {
		           if(weekSum==week&&dateInstance.getDay()==0)
		          {
		              returnDesc = (dateInstance.getMonth()+1)+"."+dateInstance.getDate();
		              break;
		          }
		        }
		       
		     }
               if(returnDesc!="")
 			   {
                   break;
			   }
		 }
		 
		  if(week>weekSum)
		 {
		    var remainWeek = week - weekSum;
		    var seYear = year*1 + 1;
		   returnDesc = getDayByWeek(seYear,remainWeek,type);
		 
		}
		
		if(week==weekSum&&type=="last"&&returnDesc=="")
		{
		   var returnDesc2 = getDayByWeek(year + 1,1,"first"); 
		   var index1 = returnDesc2.substring(0,returnDesc2.indexOf(".")+1);
		   var index2 = returnDesc2.substring(returnDesc2.indexOf(".")+1,returnDesc2.length);
		   var index3 = index2*1-1;
		   returnDesc = index1+index3;
		   
		}
		 
		 
		return returnDesc;
	  }
		
	
      function isRunYear(year)
	 {
		if(year%100==0)
		{
		  if(year%400==0)
		  {
		     return true;
		  }
	    }
	   else
	   { 
		 if(year%4==0)
		 {
		    return true;
		 }
	   }
		   return false;
	 }
漂亮的多选项卡
<html>  
<head>  
<title>简洁Tab</title>  
<style type="text/css">  
body {    
    font-size:12px;font-family:"Verdana";   
}   

#lib_Tab2 {   
    width:602px;   
}   
.lib_tabborder {   
    border:1px solid #DCDCDC;   
}   
.lib_Menubox {   
    height:30px;   
    line-height:30px;   
   position:relative;   
}   
.lib_Menubox ul {   
    margin:0px;   
    padding:0px;   
    list-style:none;   
    position:absolute;   
    top:3px;   
    left:0;   
    margin-left:10px;   
    height:25px;   
    text-align:center;   
}   
.lib_Menubox li {   
   float:left;   
    display:block;   
    cursor:pointer;   
    width:114px;   
    color:#black;   
    font-weight:bold;   
    margin-right:2px;   
    height:25px;   
    line-height:25px;   
    background-color:#DCDCDC   
}   
  
.lib_Menubox li.hover {   
    padding:0px;   
    background:#fff;   
    width:116px;   
    border-left:1px solid #DCDCDC;   
    border-top:1px solid #DCDCDC;   
    border-right:1px solid #DCDCDC;   
    color:#739242;   
    height:25px;   
    line-height:25px;   
}   
.lib_Contentbox {   
    clear:both;   
    margin-top:0px;   
    border-top:none;   
    height:400px;   
    text-align:center;   
    padding-top:8px;   
}   

</style>  
<script>  

function setTab(name,cursel,n){   
 for(i=1;i<=n;i++){   
  var menu=document.getElementById(name+i);   
  var con=document.getElementById("con_"+name+"_"+i);   
  menu.className=i==cursel?"hover":"";   
  con.style.display=i==cursel?"block":"none";   
 }   
}  

</script>  
</head>  
<body>  
<br><br><br>
<center>
<div id="lib_Tab2">  
  <div class="lib_Menubox lib_tabborder">  
    <ul>  
      <li id="two1" onclick="setTab('two',1,5)"  class="hover">产品经理</li>  
      <li id="two2" onclick="setTab('two',2,5)">交付经理</li>  
      <li id="two3" onclick="setTab('two',3,5)">通用角色</li>  
      <li id="two4" onclick="setTab('two',4,5)">客户经理</li>  
      <li id="two5" onclick="setTab('two',5,5)">信息发布</li>  
    </ul>  
  </div>  
  <div class="lib_Contentbox lib_tabborder">  
    <div id="con_two_1" >源码爱好者</div>  
    <div id="con_two_2" style="display:none">最新更新</div>  
    <div id="con_two_3" style="display:none">下载排行</div>  
    <div id="con_two_4" style="display:none">最新更新</div>  
    <div id="con_two_5" style="display:none">88888888888</div>  
  </div>  
</div>  
</center>
</body>  
</html>  
国家省份城市三级联动
国家省份城市三级联动

 

<html>

<title>国家省份城市三级联动</title>

<body>

<form name="form1" method="post">

<font color="green" size="6" face="黑体">国家省份城市三级联动</font><br><br><br><br>

<font color="red" size="4" face="黑体">国家</font>

<select name ="country" onchange="selectProvice()">

<option value ="请选择">请选择</option>

<option value ="中国">中国</option>

<option value ="美国">美国</option>

</select>

<font color="red" size="4" face="黑体">省份(洲)</font>

<select name ="provice" onchange="selectCity()">

<option value ="请选择">请选择</option>

</select>

<font color="red" size="4" face="黑体">城市</font>

<select name ="city" >

<option value ="请选择">请选择</option>

</select>

<br><br>

<input type="button" value="验证" onclick="checkValue()"/>

</form>

<script language ="javascript">

function checkValue()

{

var country =  form1.country.value;

var provice = form1.provice.value;

var city= form1.city.value;

if(country=="请选择"||provice=="请选择"||city=="请选择")

{

alert("您不曾选中某个城市!");

return;

}

alert("您选择的城市是:"+country+"*"+provice+"*"+city);

}

function  selectProvice()

{

var country =  form1.country.value;

var proviceArrays = new Array(

new Array("请选择","请选择","请选择"),

new Array("请选择","中国","请选择"),

new Array("广东","中国","广东"),

new Array("江西","中国","江西"),

new Array("江苏","中国","江苏"),

new Array("浙江","中国","浙江"),

new Array("请选择","美国","请选择"),

new Array("佛罗里达洲","美国","佛罗里达洲"),

new Array("宾夕法尼亚洲","美国","宾夕法尼亚洲"),

new Array("纽约州","美国","纽约州"),

new Array("德克萨斯洲","美国","德克萨斯洲")

);

form1.provice.options.length=0;

for(var i=0;i<proviceArrays.length;i++)

{

if(country==proviceArrays[1])

{

form1.provice.options.add(new Option(proviceArrays[0],proviceArrays[2])); 

}

}

form1.city.options.length=0;

form1.city.options.add(new Option("请选择","请选择")); 

}

function  selectCity()

{

var provice=  form1.provice.value;

var cityArrays = new Array(

new Array("请选择","请选择","请选择"),

new Array("深圳","广东","深圳"),

new Array("广州","广东","广州"),

new Array("佛山","广东","佛山"),

new Array("东莞","广东","东莞"),

new Array("南昌","江西","南昌"),

new Array("吉安","江西","吉安"),

new Array("九江","江西","九江"),

new Array("景德镇","江西","景德镇"),

new Array("南京","江苏","南京"),

new Array("苏州","江苏","苏州"),

new Array("无锡","江苏","无锡"),

new Array("徐州","江苏","徐州"),

new Array("杭州","浙江","杭州"),

new Array("宁波","浙江","宁波"),

new Array("温州","浙江","温州"),

new Array("绍兴","浙江","绍兴"),

new Array("芝加哥","佛罗里达洲","芝加哥"),

new Array("奥兰多","佛罗里达洲","奥兰多"),

new Array("亚特兰大","佛罗里达洲","亚特兰大"),

new Array("底特律","佛罗里达洲","底特律"),

new Array("洛杉矶","宾夕法尼亚洲","洛杉矶"),

new Array("旧金山","宾夕法尼亚洲","旧金山"),

new Array("西雅图","宾夕法尼亚洲","西雅图"),

new Array("犹他","宾夕法尼亚洲","犹他"),

new Array("纽约","纽约州","纽约"),

new Array("新泽西","纽约州","新泽西"),

new Array("波士顿","纽约州","波士顿"),

new Array("克利夫兰","纽约州","克利夫兰"),

new Array("休斯敦","德克萨斯洲","休斯敦"),

new Array("达拉斯","德克萨斯洲","达拉斯"),

new Array("圣安东尼奥","德克萨斯洲","圣安东尼奥"),

new Array("菲尼克斯","德克萨斯洲","菲尼克斯")

);

form1.city.options.length=0;

for(var i=0;i<cityArrays.length;i++)

{

if(provice==cityArrays[1])

{

form1.city.options.add(new Option(cityArrays[0],cityArrays[2])); 

}

}

}

</script>

</body>

</html>







 


 


 


 

 

 

 
String 常用方法大全
package com.umt.czj;
public class StringTest
{
    /**
     * String 的最常见方法集合
     * 也可以叫做String  API大全
     */
    public static void main(String[] args)
    {
        String str = "wade399|rrrr";
        
        //返回索引为2的char值
        char charAt = str.charAt(2);
        System.out.println(charAt);
        
        //返回索引为2的Unicode
        int codePointAt = str.codePointAt(2);
        System.out.println(codePointAt);
        
        /*
         * 与另一个字符窜按照字典顺序比较
         * 等于0:两个字符串完全相等
         * 大于0:前面的在后面的之前
         * 小于0:前面的在后面的之后
         */
        int compareTo = str.compareTo("wade399");
        System.out.println(compareTo);
        System.out.println(str.compareTo("Wade399"));
        System.out.println(str.compareTo("3ade399"));
        System.out.println(str.compareTo("yade399"));
        System.out.println(str.compareToIgnoreCase("WADE399"));
        
        //在字符串结尾处加上字符串
        System.out.println(str.concat("10"));
        
        //与一个StringBuffer比较是否相等
        System.out.println(str.contentEquals(new StringBuffer("waDe399")));
        
        //测试该字符串是否以"64"结尾
        System.out.println(str.endsWith("64"));
        
        //测试该字符串是否与另一字符串内容相等
        System.out.println(str.equals("wade388"));
        
        //测试该字符串是否与另一字符串地址相等
        System.out.println(str=="wade399");
        
        //不计较大小写,是否与另一字符串内容相等
        System.out.println(str.equalsIgnoreCase("WADE399"));
        
        //使用默认字符集将此字符串编码为byte序列并将结果存储到一个新的byte数组中
        byte getBytes[] = str.getBytes();
        System.out.println(getBytes[0]+";"+getBytes[1]+";"+getBytes[2]);
        
        //返回次字符串的哈希吗
        int hashCode = str.hashCode();
        System.out.println(hashCode);
        
        /*
         * 返回指定字符在此字符或字符串中第一次出现的索引,没有出现为-1
         * str.indexOf("r",1)表示从指定的索引开始收索
         */
        int indexOf = str.indexOf("r");
        System.out.println(indexOf);
        System.out.println(str.indexOf('w'));
        System.out.println(str.indexOf("r",1));
        
        //返回长度
        System.out.println(str.length());
        
        //此字符串是否匹配该正则表达式,正则表达式不必出现/^$/等字样
        System.out.println(str.matches("[url=file://\\d]\\d[/url]+"));
        
        /*
         * 通过用newChar替换此字符串中出现的所有oldChar得到的新字符串
         * replaceFirst表示替换首次出现的旧字符串,并非所有的
         */
        System.out.println(str.replace("399", "444"));
        System.out.println(str.replace("9", "8"));
        System.out.println(str.replaceFirst("9", "8"));
        
        /*
         * 根据给定正则表达式的匹配拆分此字符串
         * split("[url=file://\\+|\\-|\\*|\\/]\\+|\\-|\\*|\\/[/url]"):按照"+"或"-"或"*"或"/"把字符串切成块状
         */
        String []split = str.split("\\|");
        System.out.println(split[0]+";"+split[1]);
        System.out.println(str.split("[url=file://\\+|\\-|\\*|\\/]\\+|\\-|\\*|\\/[/url]"));

        //测试该字符串是否以"r"开始
        System.out.println(str.startsWith("r"));
        
        /*
         * 按照规则截取字符串
         * substring(1):从索引为1处开始到结束
         * substring(1,3):从索引为1处到3处组成的新字符串
         */
        System.out.println(str.substring(1));
        System.out.println(str.substring(1,3));
        
        //返回char类型的数组
        char toCharArray[] = str.toCharArray();
        System.out.println(toCharArray);
        
        //返回String形式
        System.out.println(str.toString());
        
        //返回字符串的小写形式
        System.out.println(str.toLowerCase());
        
        //返回字符串的大写形式
        System.out.println(str.toUpperCase());
        
        //去掉前后空格
        System.out.println(str.trim());
        
        /*
         * 返回基本数据类型的String类型
         * String.valueOf(44)效果相当于:new Integer(44).toString()
         * 基本数据类型包括int,long,float,double,short,char,byte
         */
        int i = 99;
        String valueOf = String.valueOf(i);
        System.out.println(valueOf);
        System.out.println(String.valueOf(true));
        System.out.println(String.valueOf(55.7F));
        System.out.println(String.valueOf(444.6));
        System.out.println(String.valueOf(8888L));
       
    }
}
java算法大全
package com.umt.czj;

import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

/**
 * 文 件 名: ArithmeticParse.java 
 * 版 权: Chinasoft Technologies Co. Ltd. All rightsreserved 
 * 描 述: java数字游戏(算法大全) 
 * 创建 人: caozhijun 
 * 修改时间: 2011-02-14 
 * 跟踪单号: WadeHeat3
 * 修改单号: McGrady1 
 * 修改内容: JamesHeat6
 */
public class ArithmeticParse
{
	public static void main(String[] args)
	{
		try
		{
			ArithmeticParse arithmeticParse = new ArithmeticParse();
			arithmeticParse.parseProgramme1();
			arithmeticParse.parseProgramme2();
			arithmeticParse.parseProgramme3();
			arithmeticParse.parseProgramme4();
			arithmeticParse.parseProgramme5();
			arithmeticParse.parseProgramme6();
			arithmeticParse.parseProgramme7();
			arithmeticParse.parseProgramme8();
			arithmeticParse.parseProgramme9();
			arithmeticParse.parseProgramme10();
			arithmeticParse.parseProgramme11();
			arithmeticParse.parseProgramme12();
			arithmeticParse.parseProgramme13();
			arithmeticParse.parseProgramme14();
			arithmeticParse.parseProgramme15();
			arithmeticParse.parseProgramme16();
			arithmeticParse.parseProgramme17();
			arithmeticParse.parseProgramme18();
			arithmeticParse.parseProgramme19();
			arithmeticParse.parseProgramme20();
			arithmeticParse.parseProgramme21();
			arithmeticParse.parseProgramme22();
			arithmeticParse.parseProgramme23();
			arithmeticParse.parseProgramme24();
			arithmeticParse.parseProgramme25();
			arithmeticParse.parseProgramme26();
			arithmeticParse.parseProgramme27();
			arithmeticParse.parseProgramme28();
			arithmeticParse.parseProgramme29();
			arithmeticParse.parseProgramme30();
			arithmeticParse.parseProgramme31();
			arithmeticParse.parseProgramme32();
			arithmeticParse.parseProgramme33();
			arithmeticParse.parseProgramme34();
			arithmeticParse.parseProgramme35();
			arithmeticParse.parseProgramme36();
			arithmeticParse.parseProgramme37();
			arithmeticParse.parseProgramme38();
			arithmeticParse.parseProgramme39();
			arithmeticParse.parseProgramme40();

		}
		catch (Exception ex)
		{
			ex.printStackTrace();
			throw new RuntimeException(
					"Sorry,executing programme failed! the reason is:", ex);
		}
	}

	/**
	 * 有一对兔子,从出生后第3个月起每个月都生一对兔子, 小兔子长到第三个
	 * 月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少只?
	 * 实现思路:假如兔子不死,则每个月呈有规律的递增,2,2,4,6,10,16,26,42.......
	 * 该数列第三个数字等于前两个数字之和,在循环内第3个数字等于前两个数字之和,再把3赋予2,2赋予1,依次循环
	 */
	public void parseProgramme1()
	{
		List<BigInteger> list = new ArrayList<BigInteger>();
		BigInteger dataFirst = new BigInteger("2");
		BigInteger dataSecond = new BigInteger("2");
		BigInteger dataThird = new BigInteger("0");

		// 考虑到数据量超大和系统运行性能,所以只循环到600
		final int MAX_TIMES = 600;
		list.add(dataFirst);
		list.add(dataSecond);

		// 第3个数字等于前两个数字之和,再把3赋予2,2赋予1,依次循环
		for (int i = 0; i < MAX_TIMES; i++)
		{
			dataThird = dataFirst.add(dataSecond);
			dataFirst = dataSecond;
			dataSecond = dataThird;
			list.add(dataThird);
		}

		for (int i = 0; i < list.size(); i++)
		{
			System.out.println("假如兔子不死,第" + (i + 1) + "年有" + list.get(i)
					+ "只兔子!");
		}

	}

	/**
	 * 判断101-200之间有多少个素数,并输出所有素数 
	 * 实现思路:两层循环,如果能被不包括本身的某一个数整除整除,跳出循环,到最后的数字就是素数
	 */
	public void parseProgramme2()
	{
		final int DATA_BEGIN = 101;
		final int DATA_END = 200;
		final int DIVIDE_BEGIN = 2;
		List<Integer> list = new ArrayList<Integer>();
		for (int i = DATA_BEGIN; i <= DATA_END; i++)
		{
			for (int j = DIVIDE_BEGIN; j <= DATA_END; j++)
			{
				// 素数就是能被某一个数整除,本身和1除外
				if (i != j && i % j == 0)
				{
					break;
				}
				if (DATA_END == j)
				{
					list.add(i);
				}
			}
		}

		System.out.println("素数的个数:" + list.size());
		System.out.println("素数:" + list);

	}

	/**
	 * 打印出所有的"水仙花数(narcissus number)",所谓"水仙花数"是指一个三位数,
	 * 其各位数字立方和等于该数本身。例如:153是一个"水仙花数",
	 * 因153=1的三 次方+5的三次方+3的三次方。
	 * 实现思路:直接法,把每个数单独抽出来如果满足条件就是水仙花数。
	 */
	public void parseProgramme3()
	{
		final int DATA_BEGIN = 100;
		final int DATA_END = 999;
		for (int i = DATA_BEGIN; i <= DATA_END; i++)
		{
			String source = new Integer(i).toString();

			// 把三个数字独立出来
			int numberFirst = Integer.parseInt(source.substring(0, 1));
			int numberSecond = Integer.parseInt(source.substring(1, 2));
			int numberThird = Integer.parseInt(source.substring(2, 3));
			if (i == numberFirst * numberFirst * numberFirst + numberSecond
					* numberSecond * numberSecond + numberThird * numberThird
					* numberThird)
			{
				System.out.println("水仙花数:" + i);
			}
		}
	}

	/**
	 * 将一个正整数分解质因数 
	 * 实现思路:质因数就是不能再分解的素数,如果该数只能被本身整除,直接可以分解成N*1,
	 * 如若不是,则找出下属的因数集合list,再循环找出list中元素的因数集合,在list集合里面
	 * 删除该元素,加上子因数集合,直到最后list里面全部变成不能分解的素数,最后用字符串 串联起来OK。
	 */
	public void parseProgramme4()
	{
		final String NOTINTEGER = "The input number is not integer!";
		try
		{
			System.out.println("请输入正整数:");
			Scanner scan = new Scanner(System.in);
			int source = scan.nextInt();

			List<Integer> childrenDatas = getChildrenDatas(source);

			// 如果包含本身则直接写出表达式
			if (isContainSelf(childrenDatas, source))
			{
				System.err.println(source + "=1*" + source + ";");
			}
			else
			{
				// 迭代子因数集合的元素,找出元素的子因数集合
				for (int i = 0; i < childrenDatas.size(); i++)
				{
					Integer childrenData = childrenDatas.get(i);
					List<Integer> grandsonDatas = getChildrenDatas(childrenData);

					// 如果包含本身就结束,否则删除本身,添加子因数继续下一次循环,直到都不能分解
					if (!isContainSelf(grandsonDatas, childrenData))
					{
						childrenDatas.remove(childrenData);
						childrenDatas.addAll(grandsonDatas);
					}
				}

				// 根据集合最终元素获得表达式结果
				String result = "";
				for (int i = 0; i < childrenDatas.size(); i++)
				{
					Integer temp = childrenDatas.get(i);
					result = result + temp + "*";
				}

				System.err.print(source + "="
						+ result.substring(0, result.length() - 1) + ";");
			}
		}
		catch (Exception ex)
		{
			ex.printStackTrace();
			throw new RuntimeException(NOTINTEGER, ex);
		}

	}

	/**
	 * 判断质因数集合是否包含本身
	 * 
	 * @param list
	 * @param temp
	 * @return
	 */
	public boolean isContainSelf(List<Integer> list, Integer data)
	{
		if (null != list && null != data && list.contains(data))
		{
			return true;
		}
		return false;
	}

	/**
	 * 返回该数字的质因数集合
	 * 
	 * @param data
	 * @return
	 */
	public List<Integer> getChildrenDatas(int data)
	{
		final int DATA_BEGIN = 2;
		final int DATA_END = 2147483647;
		List<Integer> list = new ArrayList<Integer>();

		// 找出除了本身外的任意一组子因数
		for (int i = DATA_BEGIN; i <= DATA_END; i++)
		{
			if (data % i == 0)
			{
				int quotient = data / i;
				list.add(quotient);
				list.add(i);
				break;
			}
		}
		return list;
	}

	/**
	 * 利用条件运算符完成此题: 学习成绩>=90分的同学用A表示,
	 * 60-89分之间的用B表示,60分以下的用C表示。 
	 * 实现思路:很简单,没啥好说的
	 */
	public void parseProgramme5()
	{
		final int GRADE_HUNDRED = 100;
		final int GRADE_NINTY = 90;
		final int GRADE_SIXTY = 60;
		final int GRADE_ZERO = 0;
		final String OUT_GRADE_ERROR = "The input grade must between 0 and 100!";
		final String GRADE_GOOD = "恭喜,您的成绩等级为 :A";
		final String GRADE_NORMAL = "还要努力,你的成绩等级为 :B";
		final String GRADE_BADLY = "垃圾,你的成绩等级为 :C";
		System.out.println("请输入成绩:");
		Scanner scan = new Scanner(System.in);
		int grade = scan.nextInt();
		if (grade > GRADE_HUNDRED || grade < GRADE_ZERO)
		{
			throw new RuntimeException(OUT_GRADE_ERROR);
		}

		if (grade >= GRADE_NINTY)
		{
			System.err.println(GRADE_GOOD);
		}
		else if (grade >= GRADE_SIXTY)
		{
			System.err.println(GRADE_NORMAL);
		}
		else
		{
			System.err.println(GRADE_BADLY);
		}
	}

	/**
	 * 输入两个正整数m和n,求其最大公约数和最小公倍数 
	 * 实现思路:在循环内,用集合list将两个数都能整除同一个数封装起来排序
	 * 取最大值就是最大公约数,由于最小公倍数大于或等于两数,所以一旦得到
	 *  都能被一个数整除时跳出循环,这个数就是最小公倍数
	 */
	public void parseProgramme6()
	{
		final int DATA_START = 1;
		final int DATA_END = 2147483647;
		System.out.println("请输入第一个正整数:");
		Scanner scan = new Scanner(System.in);
		int numberFirst = scan.nextInt();

		System.out.println("请输入第二个正整数:");
		int numberSecond = scan.nextInt();

		List<Integer> ChildrenDatas = new ArrayList<Integer>();
		int fatherData = 0;

		for (int i = DATA_START; i <= DATA_END; i++)
		{
			if (numberFirst >= i && numberFirst % i == 0 && numberSecond >= i
					&& numberSecond % i == 0)
			{
				ChildrenDatas.add(i);
			}

			// 由于所有公约数都比公倍数小,所以跳出循环
			if (i >= numberFirst && i % numberFirst == 0 && i >= numberSecond
					&& i % numberSecond == 0)
			{
				fatherData = i;
				break;
			}
		}
		Collections.sort(ChildrenDatas);
		System.out.println("最大公约数:"
				+ ChildrenDatas.get(ChildrenDatas.size() - 1));
		System.out.println("最小公倍数:" + fatherData);
	}

	/**
	 * 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 
	 * 实现思路:把输入字符串的每个单字符抽出来,与整数,字母的正则表达式匹配,
	 * 再与空格比较,匹配成功,相应的数目加1,其它的都是其它字符;
	 */
	public void parseProgramme7()
	{
		System.out.println("请输入一行字符:");
		Scanner scan = new Scanner(System.in);
		String sourceString = scan.nextLine();
		int countNumber = 0;
		int countBlank = 0;
		int countLetter = 0;
		int countOtherCharacter = 0;
		for (int i = 0; i < sourceString.length(); i++)
		{
			String singleCharacter = sourceString.substring(i, i + 1);

			// 匹配整数的正则表达式
			if (singleCharacter.matches("\\d+"))
			{
				countNumber++;
			}

			// 匹配子母的正则表达式,不区分大小写
			else if (singleCharacter.matches("[a-z]+|[A-Z]+"))
			{
				countLetter++;
			}

			// 与空格匹配,注""是空字符串," "是空格;
			else if (" ".equals(singleCharacter))
			{
				countBlank++;
			}
			else
			{
				countOtherCharacter++;
			}
		}
		System.out.println("数字个数:" + countNumber + "; 子母个数:" + countLetter
				+ "; 其它字符个数:" + countOtherCharacter + "; 空格个数:" + countBlank);

	}

	/**
	 * 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
	 * 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
	 * 实现思路:循环时,list设置成数字,最后把list里面的数字相加就是结果
	 */
	public void parseProgramme8()
	{
		final int DATA_START = 1;
		final int DATA_NINE = 9;
		final int DATA_END = 2147483647;

		// 为了保护系统运行性能,该数最好小些。
		System.out.println("请输入相加的个数,该数不大于2147483647:");
		Scanner scan = new Scanner(System.in);
		int count = scan.nextInt();
		System.out.println("请输入相加的数字,只能是一位数,不包括0:");
		Integer number = scan.nextInt();

		// number必须是0~9,count必须是整数,越小越好。
		if (null == number || number.intValue() <= 0
				|| number.intValue() > DATA_NINE || count <= 0
				|| count > DATA_END)
		{
			throw new RuntimeException(
					"The number or count input is not corrent!");
		}
		List<BigInteger> resultList = new ArrayList<BigInteger>();

		for (int i = DATA_START; i <= count; i++)
		{
			List<BigInteger> numberList = new ArrayList<BigInteger>();
			for (int j = 0; j < i; j++)
			{
				// 首先把集合元素设为0
				numberList.add(new BigInteger("0"));
			}
			for (int j = 0; j < i; j++)
			{
				// 在设置元素为相应数字
				numberList.set(j,
						new BigInteger(new Integer(number).toString()));
			}
			String element = "";
			for (int j = 0; j < i; j++)
			{
				element += numberList.get(j);
			}

			BigInteger elementBigInteger = new BigInteger(element);
			resultList.add(elementBigInteger);
		}

		// 最终结果
		BigInteger result = new BigInteger("0");

		// 最终表达式
		String express = "";
		for (int j = 0; j < resultList.size(); j++)
		{
			express += resultList.get(j) + "+";
			result = result.add(resultList.get(j));
		}
		System.out.print(express.subSequence(0, express.length() - 1) + "="
				+ result);
	}

	/**
	 * 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。 
	 * 例如6=1+2+3.编程 找出1000以内的所有完数。
	 * 实现思路:首先把除本身之外的所有因子放在集合中, 
	 * 再把因子之和与该数比较,如果相等即为完数
	 */
	public void parseProgramme9()
	{
		final int DATA_BEIGIN = 1;
		final int DATA_END = 1000;
		for (int i = DATA_BEIGIN; i <= DATA_END; i++)
		{
			List<Integer> list = new ArrayList<Integer>();
			for (int j = DATA_BEIGIN; j <= DATA_END; j++)
			{
				if (i % j == 0 && i > j)
				{
					list.add(j);
				}
			}

			int childrenSum = 0;
			for (int k = 0; k < list.size(); k++)
			{
				childrenSum += list.get(k);
			}
			if (childrenSum == i)
			{
				System.out.println("找到完数:" + i);
			}
		}
	}

	/**
	 * 一球从100米高度自由落下,每次落地后反跳回原高度的一半; 
	 * 再落下求它在 第10次落地时,共经过多少米?第10次反弹多高? 
	 * 实现思路:略
	 */
	public void parseProgramme10()
	{
		final int COUNT = 10;
		double heightTen = 100;
		double halfHeightTen = 0;
		double sumTen = 100;
		double sumFive = 50;
		double halfHeightFive = 0;
		for (int i = 1; i < COUNT; i++)
		{
			halfHeightTen = heightTen * 0.5;
			sumTen = sumTen + halfHeightTen;
			heightTen = halfHeightTen;
			halfHeightFive = heightTen * 0.5;
			sumFive = sumFive + halfHeightFive;
		}
		System.out.println("第10次落地时共经过" + (sumTen + sumFive - halfHeightFive)
				+ "米;第10次反弹" + halfHeightFive + "米。");

	}

	/**
	 * 有随机的5个数字, 能组成多少个互不相同且无重复数字的三位数?都是多少? 
	 * 实现思路:三层循环,满足三个数互不相等,且集合里不存在该数就封装到集合
	 * list中,最后打印出来
	 */
	public void parseProgramme11()
	{
		System.out.println("请输入随机的5个数,谢谢::");
		Scanner scan = new Scanner(System.in);
		String numberSource = scan.next();
		List<String> list = new ArrayList<String>();
		for (int i = 0; i < numberSource.length(); i++)
		{
			String numberFirst = numberSource.substring(i, i + 1);
			for (int j = 0; j < numberSource.length(); j++)
			{
				String numberSecond = numberSource.substring(j, j + 1);
				for (int k = 0; k < numberSource.length(); k++)
				{
					String numberThird = numberSource.substring(k, k + 1);

					// 三个数互不相等,合并字符串
					if (!numberFirst.equals(numberSecond)
							&& !numberFirst.equals(numberThird)
							&& !numberThird.equals(numberSecond)
							&& !"0".equals(numberFirst))
					{
						String element = numberFirst + numberSecond
								+ numberThird;

						// 如果不包含该字符串
						if (!list.contains(element))
						{
							list.add(element);
						}
					}
				}
			}
		}
		System.out.println("能组成" + list.size() + "个互不相同且无重复数字的三位数!它们分别是:"
				+ list);

	}

	/**
	 * 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;
	 * 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万
	 * 元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成
	 * 5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间
	 * 时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分
	 *  按1%提成,从键盘输入当月利润I,求应发放奖金总数?
	 * 实现思路:简单,略。
	 */
	public void parseProgramme12()
	{
		final double DATA_ZERO = 0.0;
		final double DATA_SHIWAN = 100000.0;
		final double DATA_ERSHIWAN = 200000.0;
		final double DATA_SISHIWAN = 400000.0;
		final double DATA_LIUSHIWAN = 600000.0;
		final double DATA_YIBAIWAN = 1000000.0;
		final double RATE_LESSTHAN_SHIWAN = 0.1;
		final double RATE_MORETHAN_SHIWAN = 0.075;
		final double RATE_MORETHAN_ERSHIWAN = 0.05;
		final double RATE_MORETHAN_SISHIWAN = 0.03;
		final double RATE_MORETHAN_LIUSHIWAN = 0.015;
		final double RATE_MORETHAN_YIBAISHIWAN = 0.01;
		System.out.println("请输入当月利润:");
		Scanner scan = new Scanner(System.in);
		Double money = 0.0;
		try
		{
			money = scan.nextDouble();
		}
		catch (Exception ex)
		{
			System.out.println("输入的必须是数字!");
			return;
		}

		// 最终的奖金
		double bonus = 0;
		if (money >= DATA_ZERO && money <= DATA_SHIWAN)
		{
			bonus = money * RATE_LESSTHAN_SHIWAN;
		}
		else if (money > DATA_SHIWAN && money <= DATA_ERSHIWAN)
		{
			bonus = RATE_LESSTHAN_SHIWAN * DATA_SHIWAN + RATE_MORETHAN_SHIWAN
					* (money - DATA_SHIWAN);
		}
		else if (money > DATA_ERSHIWAN && money <= DATA_SISHIWAN)
		{
			bonus = RATE_MORETHAN_ERSHIWAN * (money - DATA_ERSHIWAN);
		}
		else if (money > DATA_SISHIWAN && money <= DATA_LIUSHIWAN)
		{
			bonus = RATE_MORETHAN_SISHIWAN * (money - DATA_SISHIWAN);
		}
		else if (money > DATA_LIUSHIWAN && money <= DATA_YIBAIWAN)
		{
			bonus = RATE_MORETHAN_LIUSHIWAN * (money - DATA_LIUSHIWAN);
		}
		else if (money > DATA_YIBAIWAN)
		{
			bonus = RATE_MORETHAN_YIBAISHIWAN * (money - DATA_YIBAIWAN);
		}
		else
		{
			System.out.println("利润不能为负!");
			return;
		}
		System.out.println(money + "利润的奖金是:" + bonus);
	}

	/**
	 * 一个整数,它加上100后是一个完全平方数, 
	 * 再加上168又是一个完全平方数,请问该数是多少?
	 * 实现思路:利用Math类的sqrt方法得到的double一共有三位 
	 * 且第三位是0表示该数是完全平方数,在循环里只要满足该条
	 * 件可找出该数,找出后立即跳出循环。
	 */
	public void parseProgramme13()
	{
		final int DATA_HUNDRED = 100;
		final int DATA_HUNDREDANDEIGHT = 108;
		for (int i = 1;; i++)
		{
			// 得到2个平方根
			String squareRootFi = new Double(Math.sqrt(i + DATA_HUNDRED))
					.toString();
			String squareRootSe = new Double(Math
					.sqrt(i + DATA_HUNDREDANDEIGHT)).toString();

			// 判断平方根是否为整数
			if (squareRootFi.length() == 3
					&& squareRootFi.substring(2, 3).equals("0")
					&& squareRootSe.length() == 3
					&& squareRootSe.substring(2, 3).equals("0"))
			{
				System.out.println("这个数是:" + i);
				break;
			}
		}
	}

	/**
	 * 输入某年某月某日,判断这一天是这一年的第几天? 
	 * 实现思路:该月前面的天数总和加上本月的天数,如果为平年且该月大于2,则总天数减1.
	 */
	public void parseProgramme14()
	{
		System.out.println("请输入年月日:");
		Scanner scan = new Scanner(System.in);
		String dateInput = scan.next();
		String dates[] = dateInput.split("-");
		Integer year = Integer.parseInt(dates[0]);
		Integer month = Integer.parseInt(dates[1]);
		Integer day = Integer.parseInt(dates[2]);

		// 每月对应的天数映射
		Map<Integer, Integer> map = new HashMap<Integer, Integer>();
		map.put(1, 31);
		map.put(2, 29);
		map.put(3, 31);
		map.put(4, 30);
		map.put(5, 31);
		map.put(6, 30);
		map.put(7, 31);
		map.put(8, 31);
		map.put(9, 30);
		map.put(10, 31);
		map.put(11, 30);
		map.put(12, 31);

		// 最终的天数
		int resultData = 0;
		for (int i = 1; i < month; i++)
		{
			resultData = resultData + map.get(i);
		}

		// 如果为平年且该月大于2,则总天数减1
		if (0 == year % 4 && 0 == year % 100 && 0 != year % 400 && month > 2)
		{
			resultData -= 1;
		}

		System.out.println(dateInput + "是第" + (resultData + day) + "天!");

	}

	/**
	 * 输入五个整数,请把这五个数由小到大输出。 
	 * 实现思路:冒泡排序实现
	 */
	public void parseProgramme15()
	{
		System.out.println("请输入五个数字,用逗号隔开:");
		Scanner scan = new Scanner(System.in);
		String sourceInput = scan.next();
		String numbers[] = sourceInput.split(",");

		// 把五个数放到数组中
		int[] array = { Integer.parseInt(numbers[0]),
				Integer.parseInt(numbers[1]), Integer.parseInt(numbers[2]),
				Integer.parseInt(numbers[3]), Integer.parseInt(numbers[4]) };

		// 冒泡排序算法
		for (int i = 0; i < array.length; i++)
		{
			for (int j = i + 1; j < array.length; j++)
			{
				int temp;
				if (array[i] > array[j])
				{
					temp = array[i];
					array[i] = array[j];
					array[j] = temp;
				}
			}
		}

		System.out.println("排序后的顺序是:" + array[0] + "," + array[1] + ","
				+ array[2] + "," + array[3] + "," + array[4]);

	}

	/**
	 * 输出9*9口诀。 
	 * 实现思路:略
	 */
	public void parseProgramme16()
	{
		for (int i = 1; i <= 9; i++)
		{
			for (int j = 1; j <= i; j++)
			{
				if (i * j < 10)
				{
					// 如果结果小于10,则加上空格格式化
					System.out.print(j + "*" + i + "=" + i * j + "  ");
				}
				else
				{
					System.out.print(j + "*" + i + "=" + i * j + " ");
				}
			}
			System.out.println();
		}
	}

	/**
	 * 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,
	 *  又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
	 * 以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再 
	 * 吃时,见只剩下一个桃子了。求第一天共摘了多少。
	 * 实现思路:逆向思维,根据最后一天的数量求第一天的。
	 */
	public void parseProgramme17()
	{
		int numberEndDay = 1;
		int numberFirstDay = 0;
		for (int i = 0; i < 10; i++)
		{
			numberFirstDay = 2 * numberEndDay + 2;

			numberEndDay = numberFirstDay;
		}
		System.out.println("第一天共摘了" + numberFirstDay + "个桃子!");

	}

	/**
	 * 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。
	 *  已抽签决定比赛名单。有人向队员打听比赛的名单。
	 * a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
	 * 实现思路:根据条件先把一对找到,在集合在删除已配对的,
	 * 再找出第二队后删除,最后只剩下一对
	 */
	public void parseProgramme18()
	{
		List<String> listJia = new ArrayList<String>();
		List<String> listYi = new ArrayList<String>();

		// 甲队的成员
		listJia.add("a");
		listJia.add("b");
		listJia.add("c");

		// 乙队的成员
		listYi.add("x");
		listYi.add("y");
		listYi.add("z");

		// 配对映射
		Map<String, String> map = new HashMap<String, String>();
		for (int i = 0; i < listYi.size(); i++)
		{
			for (int j = 0; j < listJia.size(); j++)
			{
				if (!listYi.get(j).equals("x") && !listYi.get(j).equals("z")
						&& listJia.get(i).equals("c"))
				{
					// 找出第一队加入映射,再删除数据
					map.put(listJia.get(i), listYi.get(j));
					listJia.remove(listJia.get(i));
					listYi.remove(listYi.get(j));
					break;
				}
			}
		}

		for (int i = 0; i < listYi.size(); i++)
		{
			for (int j = 0; j < listJia.size(); j++)
			{
				if (!listYi.get(j).equals("x") && listJia.get(i).equals("a"))
				{
					// 找出第二队加入映射,再删除数据
					map.put(listJia.get(i), listYi.get(j));
					listJia.remove(listJia.get(i));
					listYi.remove(listYi.get(j));
					break;
				}
			}
		}

		// 剩下的只有第三队
		map.put(listJia.get(0), listYi.get(0));
		System.out.println("对位方式:" + map);
	}

	/**
	 * 题目:打印出如下图案(菱形) ** **** ****** **** ** 
	 * 实现思路:
	 */
	public void parseProgramme19()
	{
		int height = 7;
		int width = 8;
		for (int i = 0; i < (height + 1) / 2; i++)
		{
			for (int j = 1; j < width / 2 - i; j++)
			{
				System.out.print(" ");
			}
			for (int k = 1; k < (i + 1) * 2; k++)
			{
				System.out.print('*');
			}
			System.out.println();
		}

		for (int i = 1; i <= height / 2; i++)
		{
			for (int j = 1; j <= i; j++)
			{
				System.out.print(" ");
			}
			for (int k = 1; k <= width - 2 * i - 1; k++)
			{
				System.out.print('*');
			}

			System.out.println();
		}

	}

	/**
	 * 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13... 求出这个数列的前20项之和。
	 * 实现思路:两组集合,分别装分子和分母,再依次相除,最后累加得到结果。
	 */
	public void parseProgramme20()
	{
		List<Integer> listMother = new ArrayList<Integer>();
		List<Integer> listChilren = new ArrayList<Integer>();

		int dataFirst = 1;
		int dataSecond = 2;
		int dataThird = 0;
		listMother.add(dataFirst);
		listMother.add(dataSecond);
		listChilren.add(dataSecond);
		for (int i = 0; i < 19; i++)
		{
			dataThird = dataFirst + dataSecond;
			dataFirst = dataSecond;
			dataSecond = dataThird;

			// 最后一位分母不加
			if (i != 18)
			{
				listMother.add(dataThird);
			}
			listChilren.add(dataThird);
		}

		// 数据累加
		double resultData = 0;
		for (int i = 0; i < listMother.size(); i++)
		{
			double quotient = listChilren.get(i) * 1.0 / listMother.get(i);
			resultData = resultData + quotient;
		}
		System.out.println("这个数列的前20项之和:" + resultData);
	}

	/**
	 * 求1+2!+3!+...+20!的和 
	 * 实现思路:先找出每位数字的阶乘,在累加得到结果
	 */
	public void parseProgramme21()
	{
		final int DATA_END = 20;
		long resultData = 0;
		for (int i = 1; i <= DATA_END; i++)
		{
			long sum = 1;
			for (int j = 1; j <= i; j++)
			{
				sum = sum * j;
			}
			System.out.println(i + "!=" + sum);
			resultData += sum;
		}
		System.err.println("1+2!+3!+...+20!=" + resultData);
	}

	/**
	 * 求100!。 
	 * 实现思路:同上
	 */
	public void parseProgramme22()
	{
		final int DATA_END = 100;
		BigInteger temp = new BigInteger("1");

		for (int j = 1; j <= DATA_END; j++)
		{
			temp = temp.multiply(new BigInteger(new Integer(j).toString()));

		}
		System.out.println("100!=" + temp);
	}

	/**
	 * 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。 
	 * 问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比
	 * 第2人大两岁。问第2个人,说比第一个人大两岁。 最后问第
	 * 一 个人,他说是10岁。请问第五个人多大? 
	 * 实现思路:逆向求值
	 */
	public void parseProgramme23()
	{
		int ageFirst = 10;
		int ageFive = 0;
		for (int i = 0; i < 4; i++)
		{
			ageFive = ageFirst + 2;
			ageFirst = ageFive;
		}
		System.out.println("第五个人的岁数为:" + ageFive);
	}

	/**
	 * 给一个不多于5位的正整数, 
	 * 要求:一、求它是几位数,二、逆序打印出各位数字。 
	 * 实现思路:从大到小输出
	 */
	public void parseProgramme24()
	{
		System.out.println("请输入一个不多于5位的正整数,谢谢合作!");
		Scanner scan = new Scanner(System.in);
		Integer number = scan.nextInt();
		List<Integer> list = new ArrayList<Integer>();
		for (int i = 0; i < number.toString().length(); i++)
		{
			list.add(Integer.parseInt(number.toString().substring(i, i + 1)));
		}
		Collections.sort(list);

		System.out.println("他是" + number.toString().length() + "位数;逆序显示为:");
		for (int i = 0; i < list.size(); i++)
		{
			System.out.print(list.get(list.size() - i - 1) + ",");
		}
	}

	/**
	 * 一个5位数,判断它是不是回文数。 
	 * 即12321是回文数,个位与万位相同,十位与千位相同。 
	 * 实现思路:直接法
	 */
	public void parseProgramme25()
	{
		System.out.println("请输入五位数:");
		Scanner scan = new Scanner(System.in);
		Integer number = 0;
		try
		{
			number = scan.nextInt();
		}
		catch (Exception ex)
		{
			System.out.println("请输入数字!");
			return;
		}

		if (number.toString().substring(0, 1).equals(
				number.toString().substring(4, 5))
				&& number.toString().substring(1, 2).equals(
						number.toString().substring(3, 4)))
		{
			System.out.println(number + "是回文数");
		}
		else
		{
			System.out.println(number + "不是回文数");
		}
	}

	/**
	 * 请输入星期几的第一个字母来判断一下是星期几, 
	 * 如果第一个字母一样, 则继续 判断第二个字母。 
	 * 实现思路:用switch
	 */
	public void parseProgramme26()
	{
		System.out.println("请输入子母:  ");
		Scanner scanner = new Scanner(System.in);
		String sourceInput = scanner.next();
		char inputChar = sourceInput.charAt(0);
		switch (inputChar)
		{
		case 'm':
			System.out.println("星期一");
			break;
		case 't':
			System.out.println("请再输入第二个字符:");
			String inputSecond = scanner.next();
			if (null != inputSecond && inputSecond.equals("u"))
			{
				System.out.println("星期二");
			}
			else if (null != inputSecond && inputSecond.equals("h"))
			{
				System.out.println("星期四");
			}
			else
			{
				System.out.println("无效字符!");
			}
			break;
		case 'w':
			System.out.println("星期三");
			break;
		case 'f':
			System.out.println("星期五");
			break;
		case 's':
			System.out.println("请再输入第二个字符:");
			String inputThird = scanner.next();
			if (null != inputThird && inputThird.equals("a"))
			{
				System.out.println("星期六");
			}
			else if (null != inputThird && inputThird.equals("u"))
			{
				System.out.println("星期日");
			}
			else
			{
				System.out.println("无效字符!");
			}
			break;
		default:
			System.out.println("无效字符!");

		}
	}

	/**
	 * 从控制台中获取字符串,如“hksdfjJHHuhuBJH88...&*$$%56HGGFGH77778JJK”,
	 * 包含字母、数字、特殊字符等,打印出该字符串中出现次数最多的字符和出现的次数,
	 * 如果有多个,则打印出多个;打印出该字符串中出现次数最少的字符和出现的次数, 
	 * 如果也有多个,则打印出多个;区分大小写!
	 * 实现思路:用两个集合list封装字符,一个不能有重复,一个可以重复,循环不重复
	 * 的集合, 找出每个字符出现的次数并用map封装成键值对,
	 * 把map的value(出现的次数)排序,再输出最大的和最小的次数。
	 */
	public void parseProgramme27()
	{
		System.out.println("请输入字符串:  ");
		Scanner scanner = new Scanner(System.in);
		String waitProcessString = scanner.next();

		// 不能重复和可以重复的集合list
		List<String> list_waitProcessString = new ArrayList<String>();
		List<String> list_noRepeat = new ArrayList<String>();

		for (int i = 0; i < waitProcessString.length(); i++)
		{
			list_waitProcessString.add(waitProcessString.substring(i, i + 1));
		}

		for (int i = 0; i < list_waitProcessString.size(); i++)
		{
			String temp = list_waitProcessString.get(i);

			// 如果不包含就加入保证不重复性
			if (!list_noRepeat.contains(temp))
			{
				list_noRepeat.add(temp);
			}
		}
		Map<String, Integer> map = new HashMap<String, Integer>();

		for (int i = 0; i < list_noRepeat.size(); i++)
		{
			int count = 0;
			for (int j = 0; j < list_waitProcessString.size(); j++)
			{
				if (list_waitProcessString.get(j).equals(list_noRepeat.get(i)))
				{
					count += 1;
				}
			}

			// map封装每个字符和所对应的次数
			map.put(list_noRepeat.get(i), count);
		}

		List<Integer> list_values = new ArrayList<Integer>();
		Iterator iterator_values = map.values().iterator();
		while (iterator_values.hasNext())
		{
			Integer value = (Integer) iterator_values.next();
			list_values.add(value);
		}

		// 排序map的value值
		Collections.sort(list_values);
		Iterator iterator_most = list_noRepeat.iterator();
		while (iterator_most.hasNext())
		{
			String singerChar = (String) iterator_most.next();

			// 如果value排序后的最大值等于字符的映射该字符就是出现最多的。
			if (list_values.get((list_values.size() - 1)) == map
					.get(singerChar))
			{
				System.out.println("出现次数最多的字符为: " + singerChar + ";出现最多的次数为:"
						+ list_values.get((list_values.size() - 1)));
			}
		}

		Iterator iterator_least = list_noRepeat.iterator();
		while (iterator_least.hasNext())
		{
			String singerChar = (String) iterator_least.next();

			// 如果value排序后的最小值等于字符的映射该字符就是出现最少的。
			if (list_values.get(0) == map.get(singerChar))
			{
				System.out.println("出现次数最少的字符为: " + singerChar + ";出现最少的次数为:"
						+ list_values.get(0));
			}
		}
	}

	/**
	 * 请写出String的常用方法
	 */
	public void parseProgramme28()
	{
		String str = "wade399|rrrr";

		// 返回索引为2的char值
		char charAt = str.charAt(2);
		System.out.println(charAt);

		// 返回索引为2的Unicode
		int codePointAt = str.codePointAt(2);
		System.out.println(codePointAt);

		/*
		 * 与另一个字符窜按照字典顺序比较 等于0:两个字符串完全相等 大于0:前面的在后面的之前 小于0:前面的在后面的之后
		 */
		int compareTo = str.compareTo("wade399");
		System.out.println(compareTo);
		System.out.println(str.compareTo("Wade399"));
		System.out.println(str.compareTo("3ade399"));
		System.out.println(str.compareTo("yade399"));
		System.out.println(str.compareToIgnoreCase("WADE399"));

		// 在字符串结尾处加上字符串
		System.out.println(str.concat("10"));

		// 与一个StringBuffer比较是否相等
		System.out.println(str.contentEquals(new StringBuffer("waDe399")));

		// 测试该字符串是否以"64"结尾
		System.out.println(str.endsWith("64"));

		// 测试该字符串是否与另一字符串内容相等
		System.out.println(str.equals("wade388"));

		// 测试该字符串是否与另一字符串地址相等
		System.out.println(str == "wade399");

		// 不计较大小写,是否与另一字符串内容相等
		System.out.println(str.equalsIgnoreCase("WADE399"));

		// 使用默认字符集将此字符串编码为byte序列并将结果存储到一个新的byte数组中
		byte getBytes[] = str.getBytes();
		System.out.println(getBytes[0] + ";" + getBytes[1] + ";" + getBytes[2]);

		// 返回次字符串的哈希吗
		int hashCode = str.hashCode();
		System.out.println(hashCode);

		/*
		 * 返回指定字符在此字符或字符串中第一次出现的索引,没有出现为-1 str.indexOf("r",1)表示从指定的索引开始收索
		 */
		int indexOf = str.indexOf("r");
		System.out.println(indexOf);
		System.out.println(str.indexOf('w'));
		System.out.println(str.indexOf("r", 1));

		// 返回长度
		System.out.println(str.length());

		// 此字符串是否匹配该正则表达式,正则表达式不必出现/^$/等字样
		System.out.println(str.matches("[url=file://\\d]\\d[/url]+"));

		/*
		 * 通过用newChar替换此字符串中出现的所有oldChar得到的新字符串 replaceFirst表示替换首次出现的旧字符串,并非所有的
		 */
		System.out.println(str.replace("399", "444"));
		System.out.println(str.replace("9", "8"));
		System.out.println(str.replaceFirst("9", "8"));

		/*
		 * 根据给定正则表达式的匹配拆分此字符串
		 * split("[url=file://\\+|\\-|\\*|\\/]\\+|\\-|\\*|\\/[/url]"):按照"+"或"-"或"*"或"/"把字符串切成块状
		 */
		String[] split = str.split("\\|");
		System.out.println(split[0] + ";" + split[1]);
		System.out.println(str
				.split("[url=file://\\+|\\-|\\*|\\/]\\+|\\-|\\*|\\/[/url]"));

		// 测试该字符串是否以"r"开始
		System.out.println(str.startsWith("r"));

		/*
		 * 按照规则截取字符串 substring(1):从索引为1处开始到结束 substring(1,3):从索引为1处到3处组成的新字符串
		 */
		System.out.println(str.substring(1));
		System.out.println(str.substring(1, 3));

		// 返回char类型的数组
		char toCharArray[] = str.toCharArray();
		System.out.println(toCharArray);

		// 返回String形式
		System.out.println(str.toString());

		// 返回字符串的小写形式
		System.out.println(str.toLowerCase());

		// 返回字符串的大写形式
		System.out.println(str.toUpperCase());

		// 去掉前后空格
		System.out.println(str.trim());

		/*
		 * 返回基本数据类型的String类型 String.valueOf(44)效果相当于:new Integer(44).toString()
		 * 基本数据类型包括int,long,float,double,short,char,byte
		 */
		int i = 99;
		String valueOf = String.valueOf(i);
		System.out.println(valueOf);
		System.out.println(String.valueOf(true));
		System.out.println(String.valueOf(55.7F));
		System.out.println(String.valueOf(444.6));
		System.out.println(String.valueOf(8888L));
	}

	/**
	 * 求一个3*3矩阵对角线元素之和
	 */
	public void parseProgramme29()
	{
		int array1[] = { 1, 2, 3 };
		int array2[] = { 4, 5, 6 };
		int array3[] = { 7, 8, 9 };
		System.out.println("第一组对角线之和为:" + (array1[0] + array2[1] + array3[2]));
		System.out.println("第二组对角线之和为:" + (array1[2] + array2[1] + array3[0]));
	}

	/**
	 * 有一个已经排好序的数组。现输入一个数, 要求按原来的规律将它插入数组中。 
	 * 实现思路:用list装入数组的值和该数,排序后重新杀入到该数组中
	 */
	public void parseProgramme30()
	{
		int array[] = { -1, 2, 13, 44, 57, 59, 105, 177, 678, 2333, 56000,
				567890 };
		List<Integer> list = new ArrayList<Integer>();
		int number = 88;
		for (int i = 0; i < array.length; i++)
		{
			list.add(array[i]);
		}
		list.add(number);
		Collections.sort(list);

		// 初始化一个新的数组,并把list里面的值全部加载到数组中
		int arrayResult[] = new int[array.length + 1];
		for (int i = 0; i < list.size(); i++)
		{
			arrayResult[i] = list.get(i);
		}
		System.out.print("原数组是:");
		for (int i = 0; i < array.length; i++)
		{
			System.out.print(array + ",");
		}
		System.out.println();
		System.out.print("插入" + number + "后数组是:");
		for (int i = 0; i < arrayResult.length; i++)
		{
			System.out.print(arrayResult + ",");
		}
	}

	/**
	 * 求子数组的最大和 
	 * 实现思路:把每种情况加入到集合中排序得到最大值。
	 */
	public void parseProgramme31()
	{
		Long[] array = { 1555L, -2005L, 35L, 916L, -7704L, 667L, 892L, -15L };
		List<Long> list = new ArrayList<Long>();
		Long tempFirst = 0L;
		Long tempOther = 0L;
		for (int i = 0; i < array.length; i++)
		{
			tempFirst = tempFirst + array[i];

			// 添加每位数到集合
			list.add(tempFirst);

			// 清空重新开始
			tempOther = 0L;
			for (int j = i + 1; j < array.length; j++)
			{
				tempOther = tempOther + array[j];

				// 添加每种情况的结果到集合
				list.add(tempOther);
			}
		}
		Collections.sort(list);
		System.out.println("子数组最大和为:" + list.get(list.size() - 1));
	}

	/**
	 * 取一个Long型数字a从右端开始的2~5位。
	 */
	public void parseProgramme32()
	{
		Long source = 2345674445466546L;
		System.out.println("从右端开始的2~5位为:"
				+ source.toString().substring(
						source.toString().length() - 1 - 4,
						source.toString().length() - 1));
	}

	/**
	 * .打印出杨辉三角形(要求打印出10行如下图) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
	 */
	public void parseProgramme33()
	{
		int[][] a = new int[10][10];
		for (int i = 0; i < 10; i++)
		{
			a[0][0] = 1;
			a[0][1] = 1;
		}
		for (int i = 2; i < 10; i++)
		{
			for (int j = 1; j < i; j++)
			{
				a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
			}
		}

		for (int i = 0; i < 10; i++)
		{
			for (int k = 0; k < 2 * (10 - i) - 1; k++)
			{
				System.out.print(" ");
			}
			for (int j = 0; j <= i; j++)
			{
				System.out.print(a[j] + "   ");
			}
			System.out.println();
		}

	}

	/**
	 * 写一程序,输入一个整数要能判断这个整数是否对称 
	 * 实现思路:对称包括两种,偶数个完全对称,奇数个相对中间得数对称
	 */
	public void parseProgramme34()
	{
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入一个整数:");
		String symmetryStr = scan.nextLine();
		if (symmetryStr.substring(0, symmetryStr.length() / 2).equals(
				new StringBuffer(symmetryStr
						.substring(symmetryStr.length() % 2 == 0 ? symmetryStr
								.length() / 2 : symmetryStr.length() / 2 + 1,
								symmetryStr.length())).reverse().toString()) ? true
				: false)
		{
			System.out.println(symmetryStr + "是对称的!");
		}
		else
		{
			System.out.println(symmetryStr + "不是对称的!");
		}
	}

	/**
	 * 输入数组,最大的与第一个元素交换, 最小的与最后一个元素交换,输出数组。 
	 * 实现思路:两层循环,先找到最大的那位数,冒泡排序与第一个交换位置;
	 * 再两层循环,找到最小的那位数,冒泡排序与最后那个交换位置;
	 */
	public void parseProgramme35()
	{
		int array[] = { 1, 33, 2, 45, -6, 77, 0, 465, 7 };

		System.out.print("原数组为:");
		for (int i = 0; i < array.length; i++)
		{
			System.out.print(array + ",");
		}
		for (int i = 0; i < array.length; i++)
		{
			for (int j = 0; j < array.length; j++)
			{
				// 到了最后一位并且前面的数小,冒泡排序与最后那个交换位置
				if (j == array.length - 1 && array[i] <= array[j])
				{
					int temp = 0;
					temp = array[i];
					array[i] = array[array.length - 1];
					array[array.length - 1] = temp;

				}

				// 如果前面的数小,继续下一个循环
				if (array[i] <= array[j])
				{
					continue;
				}

				// 如果前面的数大条件不满足,跳出循环
				else
				{
					break;
				}
			}
		}

		// 找到最大的那位数,冒泡排序与第一个交换位置,方法同上
		for (int i = 0; i < array.length; i++)
		{
			for (int j = 0; j < array.length; j++)
			{
				if (j == array.length - 1 && array[i] >= array[j])
				{
					int temp = 0;
					temp = array[i];
					array[i] = array[0];
					array[0] = temp;

				}

				if (array[i] >= array[j])
				{
					continue;
				}
				else
				{
					break;
				}
			}
		}

		System.out.println();
		System.out.print("处理后数组为:");
		for (int i = 0; i < array.length; i++)
		{
			System.out.print(array + ",");
		}
	}

	/**
	 * 有n个整数,使其前面各数顺序向后移m个位置 最后m个数变成最前面的m个数
	 */
	public void parseProgramme36()
	{
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入整数集合:");
		String source = scan.nextLine();
		System.out.println("请输入需要后移的位数:");
		int m = scan.nextInt();
		System.out.println("使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数结果是:"
				+ source.substring(source.length() - m, source.length())
				+ source.substring(0, source.length() - m));

	}

	/**
	 * 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数), 凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
	 */
	public void parseProgramme37()
	{
		Scanner sc = new Scanner(System.in);
		int n = 0;
		System.out.println("请输入n的值:");
		n = sc.nextInt();
		List<Integer> list = new ArrayList<Integer>();
		for (int i = 1; i <= n; i++)
		{
			list.add(i);
		}
		int i = 0;
		int j = 0;
		while (true)
		{
			if ((i + 1) % 3 == 0)
			{
				System.out.println(list.get(j) + "报" + (i + 1) + "离开了");
				list.remove(j);
				j = j - 1;
			}
			else
			{
				System.out.println(list.get(j) + "报" + (i + 1));
			}
			i++;
			j = (j == list.size() - 1) ? 0 : j + 1;
			if (list.size() == 1)
			{
				break;
			}
		}
		System.out.println(list);

	}

	/**
	 * 给你一个字符串,要你从第i个字符开始删除,删j个,
	 *  删完后把后面剩下的字符和前面的连起来。
	 */
	public void parseProgramme38()
	{
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入字符串:");
		String source = scan.nextLine();
		System.out.println("请输入开始位置:");
		int begin = scan.nextInt();
		System.out.println("请输入结束位置:");
		int end = scan.nextInt();
		System.out.println("新字符串是:" + source.substring(0, begin - 1)
				+ source.substring(end, source.length()));
	}

	/**
	 * 编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n; 
	 * 当输入n为奇数时,调用函数1/1+1/3+...+1/n
	 * 实现思路:先把与待处理数同类型得数被1除后相加得到结果,在判断输出。
	 */
	public void parseProgramme39()
	{
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入数字:");
		int number = scan.nextInt();
		double sum = 0;
		for (int i = 1; i <= number; i++)
		{
			if (number % 2 == 0 && i % 2 == 0)
			{
				double temp = 1.0 / i;
				sum = sum + temp;
			}
			if (number % 2 != 0 && i % 2 != 0)
			{
				double temp = 1.0 / i;
				sum = sum + temp;
			}
		}
		if (number % 2 == 0)
		{
			System.out.println("您输入的是偶数,和为:" + sum);
		}
		else
		{
			System.out.println("您输入的是奇数,和为:" + sum);
		}

	}

	/**
	 * 把十进制数字转化为二进制、八进制、十六进制。 
	 * 实现思路:先得到进制数每位阶乘所得到的结果用映射封装起来,
	 * 再用待处理数与结果比较得到余数,重新把余数赋予结果继续循环。
	 */
	public void parseProgramme40()
	{
		try
		{
			Scanner scan = new Scanner(System.in);
			System.out.println("请输入十进制数字:");

			// 从控制台输入的数字转化为大数字型
			BigInteger number = scan.nextBigInteger();

			System.err.println(number + "的  二进制表示形式为: "
					+ parseProgramme40a(number, 2L));

			System.err.println(number + "的  八进制表示形式为: "
					+ parseProgramme40a(number, 8L));

			System.err.println(number + "的十六进制表示形式为: "
					+ parseProgramme40a(number, 16L));
		}
		catch (Throwable th)
		{
			th.printStackTrace();
			throw new RuntimeException(th);
		}

	}

	/**
	 * 根据数字来源和进制参数得到结果的处理逻辑
	 */
	public String parseProgramme40a(BigInteger number, Long step)
	{
		// 二进制参数
		final Long TWO_NUMBER_STEP = 2L;

		// 八进制参数
		Long EIGHT_NUMBER_STEP = 8L;

		// 十六进制参数
		final Long SIXTEEN_NUMBER_STEP = 16L;

		// 表达式结果长度
		final int NUMBER_STEPS = 32;

		// 十六进制大于等于10用字母代替
		final int NUMBER_TEN = 10;

		// 十六进制小于等于15用字母代替
		final int NUMBER_FIFTEEN = 15;

		// 待处理数字超过二进制范围报错
		final String EXCEED_RANG_BINARY = "The number exceeding rang for binary!";

		// 待处理数字超过八二进制范围报错
		final String EXCEED_RANG_OCTAL = "The number exceeding rang for octal!";

		// 待处理数字超过十六进制范围报错
		final String EXCEED_RANG_HEX = "The number exceeding rang for hex!";

		// 十六进制数字子母映射表
		Map<Long, String> hexMap = new HashMap<Long, String>();

		hexMap.put(10L, "A");
		hexMap.put(11L, "B");
		hexMap.put(12L, "C");
		hexMap.put(13L, "D");
		hexMap.put(14L, "E");
		hexMap.put(15L, "F");

		BigInteger result = new BigInteger(step.toString());
		String numberModel = "00000000000000000000000000000000";
		List<String> numberList = new ArrayList<String>();
		for (int i = 0; i < numberModel.length(); i++)
		{
			numberList.add(numberModel.substring(i, i + 1));
		}

		// 进制的阶乘和结果映射
		Map<Integer, BigInteger> map_step = new HashMap<Integer, BigInteger>();

		for (int i = 0; i < NUMBER_STEPS; i++)
		{
			if (0 == i)
			{
				map_step.put(i, new BigInteger("1"));
			}

			else if (1 == i)
			{
				map_step.put(i, new BigInteger(step.toString()));

			}
			else
			{
				result = result.multiply(new BigInteger(step.toString()));
				map_step.put(i, result);
			}

		}

		// 进制转换逻辑
		for (int i = NUMBER_STEPS - 1; i >= 0; i--)
		{
			BigInteger value = map_step.get(i);
			int index = 0;

			// 待处理数字比映射结果大
			if (number.min(value).equals(value))
			{
				index = i;

				// 相除的结果
				BigInteger divideResult = number.divide(value);
				long divideResultInteger = divideResult.longValue();
				String divideResultString = divideResult.toString();

				// 余数
				BigInteger remainderResult = number.remainder(value);

				// 若为十六进制且相除的结果在10~15之间则取映射结果
				if (SIXTEEN_NUMBER_STEP == step
						&& NUMBER_TEN <= divideResultInteger
						&& NUMBER_FIFTEEN >= divideResultInteger)
				{

					divideResultString = hexMap.get(divideResultInteger);
					numberList
							.set(NUMBER_STEPS - index - 1, divideResultString);
				}
				else
				{
					// 二进制超过范围
					if (TWO_NUMBER_STEP == step
							&& (TWO_NUMBER_STEP - 1 < divideResultInteger || 0 > divideResultInteger))
					{
						return EXCEED_RANG_BINARY;
					}

					// 八进制超过范围
					if (EIGHT_NUMBER_STEP == step
							&& (EIGHT_NUMBER_STEP - 1 < divideResultInteger || 0 > divideResultInteger))
					{
						return EXCEED_RANG_OCTAL;
					}

					// 十六进制超过范围
					if (SIXTEEN_NUMBER_STEP == step
							&& (SIXTEEN_NUMBER_STEP - 1 < divideResultInteger || 0 > divideResultInteger))
					{
						return EXCEED_RANG_HEX;
					}

					// 数字模板集合设值
					numberList.set(NUMBER_STEPS - index - 1, divideResult
							.toString());
				}

				// 把余数赋值给待处理数字,进行下一轮循环,直到最后一轮得到结果
				number = remainderResult;
			}
		}

		// 返回计算结果
		String resultData = "";
		for (int j = 0; j < numberList.size(); j++)
		{
			String tempNumber = numberList.get(j);
			resultData += tempNumber;
		}

		return resultData;
	}

}
java操作zip、jar文件




package com.umt.czj;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.jar.JarOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class DoZipAndJar
{
    
    public static void main(String[] args)
    {
        DoZipAndJar doZip = new DoZipAndJar();
        
        //把f://book1.xls、f://book2.xls文件压缩到f://java/zip 中的book.zip
        try
        {
            List<File> sourceFileZip = new ArrayList<File>();
            
            File sourceFileZip1 = new File("f://book.xls");
            File sourceFileZip2 = new File("f://book2.xls");
            sourceFileZip.add(sourceFileZip1);
            sourceFileZip.add(sourceFileZip2);
            File resultFileZip = new File("f://java/zip/Book.zip");
            
            //如果目录不存在则创建新的目录
            if (!new File("f://java/zip").exists())
            {
                new File("f://java/zip").mkdirs();
            }
            doZip.createZipFile(sourceFileZip, resultFileZip);
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
            System.out.println("Sorry! create zip file failed!");
        }
        System.out.println("Congratulations! create zip file successfully!");
        
        //把f://DoExcel.class、f://bus.service.xml文件打包到f://java/jar 中的bus_cc_r3.jar
        try
        {
            List<File> sourceFileJar = new ArrayList<File>();
            File sourceFileJar1 = new File("f://DoExcel.class");
            File sourceFileJar2 = new File("f://bus.service.xml");
            sourceFileJar.add(sourceFileJar1);
            sourceFileJar.add(sourceFileJar2);
            
            File resultFileJar = new File("f://java/jar/bus_cc_r3.jar");
            if (!new File("f://java/jar").exists())
            {
                new File("f://java/jar").mkdirs();
            }
            doZip.createJarFile(sourceFileJar, resultFileJar);
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
            System.out.println("Sorry! create jar file failed!");
        }
        System.out.println("Congratulations! create jar file successfully!");
    }
    
    /**
     * 把f://book.xls文件压缩到f://java/zip 中的book.zip
     * @param sourceFile
     * @param resultFile
     */
    public void createZipFile(List<File> sourceFileList, File resultFile)
    {
        FileInputStream in = null;
        try
        {
            //实例化Zip文件输出流
            ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(
                    resultFile));
            
            //实例化所要压缩文件集合输入流
            for (File sourceFile : sourceFileList)
            {
                in = new FileInputStream(sourceFile);
                
                //Zip文件输出流装入zip条目
                zipOut.putNextEntry(new ZipEntry(sourceFile.getName()));
                int i = 0;
                
                //压缩文件到指定目录
                while ((i = in.read()) != -1)
                {
                    zipOut.write(i);
                }
                
            }
            in.close();
            zipOut.close();
            
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        
    }
    
    /**
     * 把f://DoExcel.class文件压缩到f://java/jar 中的book.jar
     * @param sourceFile
     * @param resultFile
     */
    public void createJarFile(List<File> sourceFileList, File resultFile)
    {
        FileInputStream in = null;
        try
        {
            //实例化jar文件输出流
            JarOutputStream jarOut = new JarOutputStream(new FileOutputStream(
                    resultFile));
            
            for (File sourceFile : sourceFileList)
            {
                //实例化所要压缩文件集合输入流
                in = new FileInputStream(sourceFile);
                
                //jar文件输出流装入jar条目
                jarOut.putNextEntry(new ZipEntry(sourceFile.getName()));
                int i = 0;
                
                //把文件放到到指定目录
                while ((i = in.read()) != -1)
                {
                    jarOut.write(i);
                }
                
            }
            in.close();
            jarOut.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
}



Excel创建、解析、编辑
package com.umt.czj;

public class Book
{
    private Integer id;
    
    private String name;
    
    private Double price;
    
    private String authorName;
    
    public String getAuthorName()
    {
        return authorName;
    }
    
    public void setAuthorName(String authorName)
    {
        this.authorName = authorName;
    }
    
    public Integer getId()
    {
        return id;
    }
    
    public void setId(Integer id)
    {
        this.id = id;
    }
    
    public Book(Integer id, String name, Double price, String authorName)
    {
        
        this.id = id;
        this.name = name;
        this.price = price;
        this.authorName = authorName;
    }
    
    public Book()
    {
        
    }
    
    public String getName()
    {
        return name;
    }
    
    public void setName(String name)
    {
        this.name = name;
    }
    
    public Double getPrice()
    {
        return price;
    }
    
    public void setPrice(Double price)
    {
        this.price = price;
    }
    
}








package com.umt.czj;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import jxl.write.Number;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

/**
 * 利用java技术对Excel文件进行创建、编辑、解析
 * @author caozhijun
 * 1.创建一个新的excel文件
 * 2.创建之后解析循环输出里面的内容
 * 3.修改文件的内容
 */
public class DoExcel
{
    
    public static void main(String[] args)
    {
        //创建新的excel文件
        DoExcel excel = new DoExcel();
        List<Book> data = new ArrayList<Book>();
        Book book1 = new Book(455, "JAVA se", 103.4, "czj");
        Book book2 = new Book(4009, "Ajax", 66.0, "james");
        Book book3 = new Book(3, "三国志", 77.4, "科比");
        Book book4 = new Book(44, "水浒传", 93.4, "韦德");
        Book book5 = new Book(765, "中国交通地图册", 67.4, "麦蒂");
        data.add(book1);
        data.add(book2);
        data.add(book3);
        data.add(book4);
        data.add(book5);
        excel.writeExcelFile(data);
        System.out.println("Write file successfully!");
        
        //输出解析后的文件内容
        List<Book> list = excel.parseExcelFile();
        for (Book book : list)
        {
            System.out.println(book.getId() + ";" + book.getName() + ";"
                    + book.getPrice() + ";" + book.getAuthorName());
            
        }
        
        //编辑文件
        excel.editExcelFile();
    }
    
    /**
     * 读取文件
     * @return
     */
    public List<Book> parseExcelFile()
    {
        try
        {
            
            List<Book> books = new ArrayList<Book>();
            
            //创建要读取文件对象
            Workbook book = Workbook.getWorkbook(new File("f://book.xls"));
            
            //获得第一页
            Sheet sheet1 = book.getSheet(0);
            for (int j = 1; j < sheet1.getRows(); j++)
            {
                Book bookTemp = new Book();
                
                //对象属性设值
                for (int i = 0; i < sheet1.getColumns(); i++)
                {
                    if (0 == i)
                    {
                        //sheet的getCell(i,j)方法获得第i+1列,第j+1行的单元格
                        bookTemp.setId(new Integer(sheet1.getCell(i, j)
                                .getContents()));
                    }
                    else if (1 == i)
                    {
                        bookTemp.setName(sheet1.getCell(i, j).getContents());
                    }
                    else if (2 == i)
                    {
                        bookTemp.setPrice(new Double(sheet1.getCell(i, j)
                                .getContents()));
                    }
                    else
                    {
                        bookTemp.setAuthorName(sheet1.getCell(i, j)
                                .getContents());
                    }
                }
                
                //把对象加入到集合里面
                books.add(bookTemp);
                
            }
            return books;
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return null;
        
    }
    
    /**
     * 编辑文件 
     */
    public void editExcelFile()
    {
        try
        {
            //获得要编辑的文件
            Workbook book2 = Workbook.getWorkbook(new File("f://book.xls"));
            
            //利用book2得到该文件的副本
            WritableWorkbook bookWri = Workbook.createWorkbook(new File(
                    "f://book.xls"), book2);
            WritableSheet sheet1 = bookWri.getSheet(0);
            
            //此项操作将会覆盖单元格{0,0}的内容,完成编辑的功能
            sheet1.addCell(new Label(0, 0, "编号22"));
            
            //在原有基础上增加第三页
            WritableSheet sheet2 = bookWri.createSheet("第三页", 2);
            sheet2.addCell(new Label(0, 0, "Wade"));
            bookWri.write();
            bookWri.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        
    }
    
    /**
     * 写入文件
     * @param list
     */
    public void writeExcelFile(List<Book> list)
    {
        
        try
        {
            //获得可写的文件对象,
            WritableWorkbook excel = Workbook.createWorkbook(new File(
                    "f://book.xls"));
            
            //创建第一页,名字自由设置
            WritableSheet sheet1 = excel.createSheet("购书清单", 0);
            
            //设置第一行的第一、第二、第三列单元格的内容
            sheet1.addCell(new Label(0, 0, "编号"));
            sheet1.addCell(new Label(1, 0, "书名"));
            sheet1.addCell(new Label(2, 0, "价格"));
            sheet1.addCell(new Label(3, 0, "作者"));
            
            //把集合中的book对象迭代到文件中
            for (int i = 0; i < list.size(); i++)
            {
                Book book = list.get(i);
                for (int j = 0; j < 4; j++)
                {
                    
                    if (0 == j)
                    {
                        //new Number(i,j,44.4)数字类型的表达方式
                        sheet1.addCell(new Number(j, i + 1, book.getId()));
                    }
                    else if (1 == j)
                    {
                        //new Label(i,j,"ll")字符串类型的表达方式
                        sheet1.addCell(new Label(j, i + 1, book.getName()));
                    }
                    else if (2 == j)
                    {
                        sheet1.addCell(new Number(j, i + 1, book.getPrice()));
                    }
                    else
                    {
                        sheet1.addCell(new Label(j, i + 1, book.getAuthorName()));
                    }
                    
                }
                
            }
            
            WritableSheet sheet2 = excel.createSheet("第二页", 1);
            sheet2.addCell(new Label(0, 0, "McGrady"));
            
            //写入操作
            excel.write();
            excel.close();
            
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        
    }
}
十进制转化为二进制、八进制、十六进制
package com.umt.czj;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
/**
* 1.把十进制转化为二进制
* 2.把十进制转化为八进制
* 3.把十进制转化为十六进制
* @author caozhijun
*/
public class NumberTransfer
{
    // 二进制参数
    private static final Long TWO_NUMBER_STEP = 2L;
    
    // 八进制参数
    private static final Long EIGHT_NUMBER_STEP = 8L;
    
    // 十六进制参数
    private static final Long SIXTEEN_NUMBER_STEP = 16L;
    
    // 表达式结果长度
    private static final int NUMBER_STEPS = 32;
    
    // 十六进制大于等于10用字母代替
    private static final int NUMBER_TEN = 10;
    
    // 十六进制小于等于15用字母代替
    private static final int NUMBER_FIFTEEN = 15;
    
    // 待处理数字超过二进制范围报错
    private static final String EXCEED_RANG_BINARY = "The number exceeding rang for binary!";
    
    // 待处理数字超过八二进制范围报错
    private static final String EXCEED_RANG_OCTAL = "The number exceeding rang for octal!";
    
    // 待处理数字超过十六进制范围报错
    private static final String EXCEED_RANG_HEX = "The number exceeding rang for hex!";
    
    // 十六进制数字子母映射表
    private static Map<Long, String> hexMap = new HashMap<Long, String>();
    
    /**
     * main方法
     * @param args
     */
    public static void main(String[] args)
    {
        try
        {
            Scanner scan = new Scanner(System.in);
            System.out.println("请输入十进制数字:");
            
            // 从控制台输入的数字转化为大数字型
            BigInteger number = scan.nextBigInteger();
            
            System.err.println(number + "的  二进制表示形式为: "
                    + getNumberByStep(number, TWO_NUMBER_STEP));
            
            System.err.println(number + "的  八进制表示形式为: "
                    + getNumberByStep(number, EIGHT_NUMBER_STEP));
            
            System.err.println(number + "的十六进制表示形式为: "
                    + getNumberByStep(number, SIXTEEN_NUMBER_STEP));
        }
        catch (Throwable th)
        {
            th.printStackTrace();
            throw new RuntimeException(th);
        }
    }
    
    /**
     * 根据数字来源和进制参数得到结果的处理逻辑
     * @param number
     * @param step
     * @return
     */
    public static String getNumberByStep(BigInteger number, Long step)
    {
        hexMap.put(10L, "A");
        hexMap.put(11L, "B");
        hexMap.put(12L, "C");
        hexMap.put(13L, "D");
        hexMap.put(14L, "E");
        hexMap.put(15L, "F");
        
        BigInteger result = new BigInteger(step.toString());
        String numberModel = "00000000000000000000000000000000";
        List<String> numberList = new ArrayList<String>();
        for (int i = 0; i < numberModel.length(); i++)
        {
            numberList.add(numberModel.substring(i, i + 1));
        }
        
        // 进制的阶乘和结果映射
        Map<Integer, BigInteger> map_step = new HashMap<Integer, BigInteger>();
        
        for (int i = 0; i < NUMBER_STEPS; i++)
        {
            if (0 == i)
            {
                map_step.put(i, new BigInteger("1"));
            }
            
            else if (1 == i)
            {
                map_step.put(i, new BigInteger(step.toString()));
                
            }
            else
            {
                result = result.multiply(new BigInteger(step.toString()));
                map_step.put(i, result);
            }
            
        }
        
        // 进制转换逻辑
        for (int i = NUMBER_STEPS - 1; i >= 0; i--)
        {
            BigInteger value = map_step.get(i);
            int index = 0;
            
            // 待处理数字比映射结果大
            if (number.min(value).equals(value))
            {
                index = i;
                
                // 相除的结果
                BigInteger divideResult = number.divide(value);
                long divideResultInteger = divideResult.longValue();
                String divideResultString = divideResult.toString();
                
                //余数
                BigInteger remainderResult = number.remainder(value);
                
                // 若为十六进制且相除的结果在10~15之间则取映射结果
                if (step == SIXTEEN_NUMBER_STEP
                        && divideResultInteger >= NUMBER_TEN
                        && divideResultInteger <= NUMBER_FIFTEEN)
                {
                    
                    divideResultString = hexMap.get(divideResultInteger);
                    numberList.set(NUMBER_STEPS - index - 1, divideResultString);
                }
                else
                {
                    // 二进制超过范围
                    if (TWO_NUMBER_STEP == step
                            && (TWO_NUMBER_STEP - 1 < divideResultInteger ||  0 > divideResultInteger))
                    {
                        return EXCEED_RANG_BINARY;
                    }
                    
                    // 八进制超过范围
                    if (EIGHT_NUMBER_STEP == step
                            && ( EIGHT_NUMBER_STEP - 1 < divideResultInteger || 0 > divideResultInteger))
                    {
                        return EXCEED_RANG_OCTAL;
                    }
                    
                    // 十六进制超过范围
                    if (SIXTEEN_NUMBER_STEP == step
                            && ( SIXTEEN_NUMBER_STEP - 1 <divideResultInteger|| 0 > divideResultInteger ))
                    {
                        return EXCEED_RANG_HEX;
                    }
                    
                    // 数字模板集合设值
                    numberList.set(NUMBER_STEPS - index - 1,
                            divideResult.toString());
                }
                
                // 把余数赋值给待处理数字,进行下一轮循环,直到最后一轮得到结果
                number = remainderResult;
            }
            
        }
        
        // 返回计算结果
        String resultData = "";
        for (int j = 0; j < numberList.size(); j++)
        {
            String tempNumber = numberList.get(j);
            resultData += tempNumber;
        }
        
        return resultData;
    }
}
Global site tag (gtag.js) - Google Analytics