亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? textfindreplace2.java

?? Java程序設(shè)計培訓(xùn)教程2
?? JAVA
字號:
import java.awt.*;import java.awt.event.*;public class TextFindReplace implements MouseListener,WindowListener{    private Frame frObj;    private TextArea taObj;    private TextField tfObj1,tfObj2;    private Button buttonObj1;    private Button buttonObj2;    private Panel pObj1,pObj2,pObj3,pObj4,pObj5;    private Label labObj1,labObj2,labObj3;    boolean boolObj = false;    Dialog diaObj;    Label textLab;    Button butObj2 = new Button("OK");    public static void main(String args[])    {    	TextFindReplace examObj = new TextFindReplace();    	examObj.create();    }    /**create()方法用于創(chuàng)建主界面和創(chuàng)建有關(guān)查找和替換字符串結(jié)果信息的對話框*/    public void create(){    	//下面是創(chuàng)建主界面    	frObj = new Frame("Text find and replace example");    	//taObj代表界面上的文本區(qū)域    	taObj = new TextArea();    	//tfObj1代表用于輸入待查找或替換前的字符串的文本框    	tfObj1 = new TextField();    	//tfObj2代表用于輸入替換后的字符串的文本框    	tfObj2 = new TextField();    	//初始化兩個按鈕對象,分別用來實現(xiàn)”查找“和”替換“操作    	buttonObj1 = new Button("Find");    	buttonObj2 = new Button("Replace");    	//下面的三個Label對象用于顯示有關(guān)的提示信息    	labObj1 = new Label("文本區(qū)域:");    	labObj2 = new Label("待查找或替換前的字符串:");    	labObj3 = new Label("替換后的字符串:");    	//接下來的5個Panel對象用于控制主界面上各組件的位置和大小    	pObj1 = new Panel();    	pObj2 = new Panel();    	pObj3 = new Panel();    	pObj4 = new Panel();    	pObj5 = new Panel();    	//pObj1用于控制文本區(qū)域和相關(guān)提示信息的相對位置    	pObj1.setLayout(new BorderLayout());    	pObj1.add("North",labObj1);    	pObj1.add("Center",taObj);    	//pObj2用于控制第一個文本框和相關(guān)提示信息的相對位置    	pObj2.setLayout(new BorderLayout());    	pObj2.add("North",labObj2);    	pObj2.add("Center",tfObj1);    	//pObj3用于控制第二個文本框和相關(guān)提示信息的相對位置    	pObj3.setLayout(new BorderLayout());    	pObj3.add("North",labObj3);    	pObj3.add("Center",tfObj2);    	//pObj4用于控制Find按鈕和Replace按鈕的相對位置    	pObj4.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));    	pObj4.add(buttonObj1);    	pObj4.add(buttonObj2);    	//pObj5用于控制pObj2、pObj3和pObj4的相對位置    	pObj5.setLayout(new GridLayout(3,1));    	pObj5.add(pObj2);    	pObj5.add(pObj3);    	pObj5.add(pObj4);    	//最后通過frObj控制整體的效果    	frObj.setLayout(new GridLayout(1,2));    	frObj.add(pObj1);    	frObj.add(pObj5);    	//為Find按鈕、Replace按鈕和主窗口添加事件監(jiān)聽器    	buttonObj1.addMouseListener(this);    	buttonObj2.addMouseListener(this);    	frObj.addWindowListener(this);    	//下面兩個語句設(shè)置主界面的大小并讓主界面可見    	frObj.setSize(400,260);    	frObj.setVisible(true);    	    	/*下面的語句用于創(chuàng)建一個對話框,當(dāng)用戶單擊Find按鈕或者Replace按鈕后,根據(jù)結(jié)果顯示    	一個有關(guān)結(jié)果信息的對話框,對話框上有一個Label組件和一個OK按鈕,Label組件用于顯示    	查找或替換字符串的次數(shù)*/    	diaObj = new Dialog(frObj);        diaObj.setLayout(new FlowLayout(FlowLayout.CENTER,40,20));    	       	textLab = new Label("");    	diaObj.add(textLab);  	diaObj.add(butObj2);    	butObj2.addMouseListener(this);    	diaObj.setSize(200,100);   	    }   /**方法mouseClicked用于處理鼠標(biāo)單擊的事件,也就是當(dāng)鼠標(biāo)單擊事件發(fā)生后,程序就會進(jìn)入該方法中執(zhí)行*/    public void mouseClicked(MouseEvent e){   	//下面這個語句用于獲得事件源按鈕   	Button butObj = (Button)(e.getSource());    	//下面的if語句處理事件源是Find按鈕或Replace按鈕時的情況   	if(butObj.getLabel()=="Find"||butObj.getLabel()=="Replace")      	{   	    /*String型變量strObj1和strObj2獲得文本區(qū)域和第一個文本框中的文字內(nèi)容*/   	    String strObj1 = taObj.getText();    	    String strObj2 = tfObj1.getText();    	    //變量matchNum代表字符串匹配的次數(shù),初始值為0    	    int matchNum = 0;    	    //cursorPos代表光標(biāo)當(dāng)前的位置    	    int cursorPos = taObj.getCaretPosition();    	    //實例化一個matchFun類的對象    	    matchFun classObj = new matchFun();   	    //下面的if語句處理單擊Find按鈕事件	    	    if(butObj.getLabel()=="Find")    	    {    	        //通過調(diào)用matchFun類的方法strFind計算出字符串匹配的次數(shù)    	        matchNum = classObj.strFind(strObj1,strObj2,cursorPos);    	    	//下面的一行語句重新設(shè)置對話框上Label對象的文本內(nèi)容    	    	textLab.setText("共找到"+matchNum+"處");    	    	diaObj.show();    	    }    	    //接下來的if語句處理單擊Replace按鈕事件    	    if(butObj.getLabel()=="Replace")    	    {    		//變量strObj3獲得第二個文本框中的字符串    		String strObj3 = tfObj2.getText();    		//通過調(diào)用matchFun類中的strReplace按鈕計算字符串匹配次數(shù)    		matchNum = classObj.strReplace(strObj1,strObj2,strObj3,cursorPos);     		//重新設(shè)置對話框上Label對象的文本內(nèi)容    		textLab.setText("共替換到"+matchNum+"處");    		//下面的語句用于刷新字符串替換后文本區(qū)域的文字顯示    		StringBuffer taText = classObj.repStr;    		taObj.setText(taText.toString());    	    	diaObj.show();    	    }    	}    	//下面的if語句用于處理事件源為OK按鈕時的情況    	if(butObj.getLabel()=="OK")    	{    		//單擊OK按鈕后,信息提示對話框消失,主界面顯示    		diaObj.hide();    		frObj.show();    	}    }    //下面的語句重寫MouseListener和WindowListener接口中的方法    public void mouseEntered(MouseEvent e){}    public void mouseExited(MouseEvent e){}    public void mousePressed(MouseEvent e){}    public void mouseReleased(MouseEvent e){}    //重寫windowClosing方法,關(guān)閉窗口時,程序退出    public void windowClosing(WindowEvent e){    	System.exit(0);    }    public void windowOpened(WindowEvent e){}	    public void windowIconified(WindowEvent e){}    public void windowDeiconified(WindowEvent e){}    public void windowClosed(WindowEvent e){}    public void windowActivated(WindowEvent e){}    public void windowDeactivated(WindowEvent e){}   }/**類matchFun用于處理有關(guān)字符串查找和替換算法*/class matchFun{    public int nextval[];    StringBuffer repStr;    public void getNext(String t)    {    	int i,j,arr;    	arr = t.length();    	i = 1;    	nextval = new int[arr];    	nextval[0] = 0;    	j = 0;    	while( i < t.length()-1)    	{    		if(j == 0 || t.charAt(i) == t.charAt(j))    		{    			++i; ++j;    			if(t.charAt(i)!=t.charAt(j))    				nextval[i] = j;    			else nextval[i] = nextval[j];    		}    		else j = nextval[j];    	}    }    public int indexKMP(String s1,String s2,int pos,int nextval[])    {    	int i,j;    	i = pos;    	j = 0;    	while(i<s1.length()&&j<s2.length())    	{    		if(j==0 || s1.charAt(i)==s2.charAt(j))    			{++i;++j;}    		else j = nextval[j];    	}    	if(j==s2.length()) return 1;    	else return 0;    }    /*方法strFind用于實現(xiàn)字符串查找,返回匹配的次數(shù)*/    public int strFind(String s1,String s2,int pos)    {    	/*變量i和j分別表示主串和模式串中當(dāng)前字符串的位置,k表示匹配次數(shù)*/    	int i,j,k=0;    	//pos代表主串中開始比較的位置    	i = pos;    	j = 0;    	while(i<s1.length()&&j<s2.length())    	{    		if(s1.charAt(i) == s2.charAt(j))    		{    			++i; ++j;    			if(j==s2.length())    			{    			    //j=s2.length()表示字符串匹配成功,匹配次數(shù)加1    			    k = k+1;    			    //將指示主串和模式串中當(dāng)前字符的變量i和j進(jìn)行回退    			    i = i-j+1;    			    j = 0;    			 }    		}    		else {i = i-j+1; j = 0;}    	}    	return k;    }    /*方法strReplace用于實現(xiàn)字符串替換操作,返回替換的次數(shù)*/    public int strReplace(String s1,String s2,String s3,int pos)    {    	/*變量i和j分別表示主串和模式串中當(dāng)前字符串的位置,k表示匹配次數(shù)*/    	int i,j,k=0;    	i = pos;    	j = 0;    	//將s1轉(zhuǎn)化成StringBuffer型進(jìn)行操作    	repStr = new StringBuffer(s1);    	    	while(i<repStr.length()&&j<s2.length())    	{    		if(repStr.charAt(i) == s2.charAt(j))    		{    			++i; ++j;    			if(j==s2.length())    			{    			    /*j=s2.length()表示字符串匹配成功,匹配次數(shù)加1,此外對主串進(jìn)行字符串替換*/    			    k = k+1;    			    repStr.replace(i-j,i,s3);    			    //將j進(jìn)行重新賦值開始新的比較    			    j = 0;    			 }    		}    		else {i = i-j+1; j = 0;}    	}    	return k;    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女同ⅹxx女同tv| 韩国欧美国产一区| 欧美日韩在线播| 国产天堂亚洲国产碰碰| 国产精品中文欧美| 国产精品久久久久久久久搜平片 | 亚洲视频1区2区| 91视视频在线观看入口直接观看www | 亚洲成人在线网站| 欧美精品久久久久久久久老牛影院| 亚洲大型综合色站| 制服丝袜中文字幕一区| 久久国产精品露脸对白| 久久综合九色综合久久久精品综合| 国产一区二区精品久久91| 久久久久久9999| 91在线一区二区三区| 亚洲大片在线观看| 欧美tickling挠脚心丨vk| 欧美电影免费观看完整版| 激情国产一区二区| 中文字幕一区免费在线观看| 欧美怡红院视频| 久久99这里只有精品| 亚洲国产精品成人综合| 欧美亚洲国产bt| 26uuu久久综合| 99精品视频在线观看免费| 亚洲午夜私人影院| 久久亚洲影视婷婷| 色网站国产精品| 看片网站欧美日韩| 亚洲欧美激情在线| 日韩欧美中文字幕公布| 成人高清伦理免费影院在线观看| 亚洲成人动漫在线免费观看| 久久亚洲捆绑美女| 91视视频在线观看入口直接观看www | 一区二区三区不卡视频在线观看| 日韩免费视频线观看| 91在线观看视频| 国产一区视频在线看| 亚洲精品菠萝久久久久久久| 精品国产免费一区二区三区四区| 色欧美88888久久久久久影院| 免费日韩伦理电影| 一区二区视频在线| 久久亚洲一级片| 宅男在线国产精品| 色婷婷精品大视频在线蜜桃视频| 麻豆久久久久久| 亚洲影院在线观看| 中文字幕一区二区三区在线不卡 | 欧美日韩一区二区三区在线| 国产一二三精品| 蜜桃久久久久久| 亚洲r级在线视频| 亚洲色图欧洲色图婷婷| 久久久久久久久99精品| 91精品国产91热久久久做人人| 不卡电影免费在线播放一区| 韩国三级电影一区二区| 天涯成人国产亚洲精品一区av| 国产精品久久久久9999吃药| www久久精品| 亚洲精品在线免费观看视频| 69久久夜色精品国产69蝌蚪网| 91老师国产黑色丝袜在线| 成熟亚洲日本毛茸茸凸凹| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲影院理伦片| 亚洲国产日韩在线一区模特| 亚洲欧美日韩在线不卡| 中文字幕一区日韩精品欧美| 国产喂奶挤奶一区二区三区 | 久久综合色鬼综合色| 91精品国产91热久久久做人人| 欧美日韩一区国产| 欧美日韩视频在线观看一区二区三区| 91小视频在线观看| 91麻豆视频网站| 91福利精品第一导航| 91福利在线免费观看| 欧美日韩中文国产| 欧美久久久影院| 日韩欧美国产综合在线一区二区三区| 欧美一区二区三区日韩| 精品欧美一区二区三区精品久久 | 激情另类小说区图片区视频区| 卡一卡二国产精品| 国产麻豆精品久久一二三| 国产美女在线观看一区| 国产精品资源在线观看| 国产精品一卡二| 国产精品亚洲专一区二区三区| 麻豆精品在线看| 国产在线视频一区二区| 丁香激情综合国产| 成人精品国产免费网站| 成人av中文字幕| 99在线精品免费| 色综合色狠狠综合色| 欧美在线观看一区二区| 欧美日韩中文字幕精品| 欧美三级日韩三级国产三级| 欧美二区三区91| 日韩免费视频一区二区| 欧美一区二区成人| 久久久精品中文字幕麻豆发布| 欧美zozozo| 久久伊99综合婷婷久久伊| 国产欧美一区二区精品秋霞影院 | 国产成人av资源| 国产99久久久国产精品| 不卡免费追剧大全电视剧网站| 日韩国产欧美一区二区三区| 韩国欧美国产1区| 成人精品免费看| 色琪琪一区二区三区亚洲区| 欧美四级电影网| 欧美一区二区三区免费| 久久免费电影网| 欧美国产国产综合| 亚洲色图都市小说| 午夜精品免费在线观看| 国内精品免费**视频| youjizz久久| 91精品婷婷国产综合久久竹菊| 久久综合久久综合久久综合| 国产精品久久精品日日| 亚洲成人一区在线| 国产在线不卡一区| 成人白浆超碰人人人人| 日韩欧美一二三| 亚洲欧美一区二区视频| 美女任你摸久久| av中文一区二区三区| 欧美日韩国产首页| 国产精品成人一区二区三区夜夜夜 | 日韩一区在线播放| 偷窥国产亚洲免费视频| 韩国中文字幕2020精品| 欧美女孩性生活视频| 国产欧美一区二区精品忘忧草| 亚洲色图视频网| 韩国午夜理伦三级不卡影院| 色综合天天综合狠狠| 日韩精品中文字幕一区| 亚洲免费观看高清| 风间由美一区二区av101| 欧美精品乱码久久久久久按摩 | 欧美精品一区二区不卡| 亚洲最大成人综合| 九九精品视频在线看| 在线观看日韩精品| 最新日韩在线视频| 精品在线视频一区| 欧美撒尿777hd撒尿| 国产精品免费看片| 激情五月婷婷综合| 久久这里只有精品首页| 午夜av电影一区| 色综合久久中文综合久久97| 久久久精品国产免大香伊 | 国产99一区视频免费| 91麻豆精品国产91久久久资源速度| 中文字幕在线免费不卡| 国产福利一区在线| 日韩欧美一级精品久久| 久久超碰97人人做人人爱| 欧美日产在线观看| 一区二区三区国产精品| 99re成人精品视频| 欧美大片一区二区| 久久91精品久久久久久秒播| 欧美精品乱码久久久久久按摩| 亚洲精品乱码久久久久久黑人 | 日本一不卡视频| 欧美视频在线不卡| 亚洲男人天堂一区| 97精品超碰一区二区三区| 久久精品人人做人人综合| 韩日av一区二区| 久久久亚洲高清| 精品一区二区三区香蕉蜜桃| 日韩一二三区视频| 国产一区二区导航在线播放| 久久伊人中文字幕| 精品无码三级在线观看视频| 日韩免费看的电影| 日韩高清国产一区在线| 欧美精品一区二区三区蜜臀| 国产精品一区二区在线看| 国产精品久久久久7777按摩| 成人网在线播放| 亚洲欧美偷拍另类a∨色屁股| 欧美久久高跟鞋激| 日本aⅴ免费视频一区二区三区| 久久久电影一区二区三区| 国产成人免费av在线|