版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Good is good, but better carries it.精益求精,善益求善。JAVA課后習(xí)題答案-前言學(xué)習(xí)網(wǎng)址HYPERLINK/第一章Java語言基礎(chǔ)1.指出Java語言的主要特點和ava程序的執(zhí)行過程。答:強類型。編譯和解釋。自動無用內(nèi)存回收功能。面向?qū)ο?。與平臺無關(guān)。安全性。分布式計算。多線程。2.說出開發(fā)與運行Java程序的主要步驟。答:安裝SUN的JDK,配置classpath編寫源文件。編譯。運行。3.如何區(qū)分應(yīng)用程序和小應(yīng)用程序。答:應(yīng)用程序必須在一類中定義一個main()方法,該方法代表應(yīng)用程序的入口。小應(yīng)用程序不必定義main()方法,但是必須繼承applet
2、類。4.說出Java源文件的命名規(guī)則。答:和類命名規(guī)則一樣,首字母大寫。5.選擇一種上機環(huán)境,參照實例,編寫一個輸出“helloworld!”字樣的Java程序。答:選擇SUN的IDE,用UltraEdit-32編寫如下:/HelloWorld.java/*這是第一個程序*author饒林*seeHYPERLINK/*/classHelloWorldpublicstaticvoidmain(Stringargs)System.out.println(HelloWorld!);6.Java用什么字符集?共有多少個不同的字符?答:Java語言使用Unicode字符集,共有65535個字符。7.Ja
3、va語言標(biāo)識符的命名規(guī)則是什么?答:由字母(包括英文字母、下劃線、美元字符、文字字符)和數(shù)字字符組成。限定標(biāo)識符的第一個字符不能是數(shù)字。8.Java有哪些基本的數(shù)據(jù)類型,它們的常量又是如何書寫的?答:基本的數(shù)據(jù)類型也稱為原始數(shù)據(jù)類型,是系統(tǒng)預(yù)先規(guī)定的一些常用類型。它們是:整數(shù)類型、浮點數(shù)(實數(shù))類型、字符(文字)類型、邏輯類型(布爾型)。9.指出下列內(nèi)容那些事Java語言的整形常量,哪些是浮點數(shù)類型常量,那些兩者都不是?1)E-42)A4233)-1E-314)0 xABCL5).32E316)0877)0 xL8)0039)0 x12.510)07711)11E12)056L13)0.14)
4、.0答:整形常量:4,5,6,8,10,12浮點型:1,3,9,13,14兩者都不是:2,7,11第二章運算和語句1.Java字符能參加算術(shù)運算嗎?答:能,例如char類型a自加后變b2.占字節(jié)多的變量能直接賦給占字節(jié)少的變量嗎?答:不能,需強制類型轉(zhuǎn)換。3.試用Java語言表達(dá)式描述以下數(shù)學(xué)計算式或邏輯條件:1)V=(4/3)*math.PI*math.pow(r,3);2)R=1/(1/R1+1/R2)原式3)y=x5+x3+6y=pow(x,5)+pow(x,3)+6;4)F=M1M2/R2F=M1*M2/R*R5)Math.sin(x)/ax+Math.cos(*x/2)0?Math.
5、cos(*x/2):-Math.cos(*x/2);6)0a0&a107)條件x=1與y=2有且只有一個成立(x=1&y!=2)|(x!=1&y=2)4.設(shè)再求以下表達(dá)式之前,整形變量a的值是4,試指出在求表達(dá)式之后變量a,b和c的值。1)b=a*a+;b=16,a=5;2)c=+a+a;c=10,a=5;5.編寫一個程序示意前綴+和后綴+的區(qū)別,前綴和后綴的區(qū)別。答:領(lǐng)悟第四題完全就可以理解前綴+后綴+-亦如此。6.若一個數(shù)恰好等于它的因子之和,則這個數(shù)稱為“完全數(shù)”。編寫程序求1000之內(nèi)的所有完全數(shù)。解析:什么是數(shù)的因子?因子就是所有可以整除這個數(shù)的數(shù),但是不包括這個數(shù)自身./Hello
6、World.java/*這是第二個程序*author饒林*seeHYPERLINK/*/publicclassPraxis2_6publicstaticvoidmain(Stringargs)inti,j,sum;for(i=1;i=1000;i+)/sum歸0必須在此處sum=0;for(j=1;j=i/2;j+)if(i%j)=0)sum=sum+j;if(i=sum)System.out.print(i+);7.編寫輸入正實數(shù)x,求平方不超過x的最大正整數(shù)n,并輸出。解析:/*這是第三個程序*author饒林*seeHYPERLINK/*/importjava.util.*;public
7、classPraxis2_7publicstaticvoidmain(Stringargs)ScannerconsoleScanner=newScanner(System.in);System.out.print(請輸入正實數(shù)X:);intx=consoleScanner.nextInt();inty=(int)(Math.sqrt(x);System.out.println(n=+y);8.輸入正整數(shù)n輸出n行n列星號字符組成三角圖案。/*這是第四個程序*author饒林*seeHYPERLINK/*/importjava.util.*;publicclassPraxis2_8publics
8、taticvoidmain(Stringargs)ScannerconsoleScanner=newScanner(System.in);System.out.print(請輸入正整數(shù)x:);intx=consoleScanner.nextInt();for(inty=0;y0;m-)System.out.print();for(intn=0;ny+1;n+)System.out.print(*);System.out.println();9.設(shè)有整形變量x和y的值分別為5和110.指出執(zhí)行了下列語句后,變量x和y后的值分別是多少?1)while(x=1);X=18,y=0;10.水仙花數(shù)是一
9、個n(=3)位的數(shù),它等于每個數(shù)字的n次冪之和。例如,153是一個水仙花數(shù),153=13+53+33,是編寫一個程序,求小于999的所有水仙花數(shù)。/*這是第五個程序*author饒林*seeHYPERLINK/*/publicclassPraxis2_10publicstaticvoidmain(Stringargs)intx,y,z;for(intm=100;m999;m+)x=m/100;y=(m%100)/10;z=(m%100)%10;if(m=x*x*x+y*y*y+z*z*z)System.out.print(m+);11.編程序解百雞問題:雞翁一,值錢五,雞母一,值錢三,雞鄒三,
10、值錢一,百錢買百雞,求雞翁,雞母,雞鄒各幾何?/*這是第六個程序*author饒林*seeHYPERLINK/*/publicclassPraxis2_11publicstaticvoidmain(Stringargs)for(inti=0;i=100;i+)for(intj=0;j=100;j+)for(intk=0;k=100;k+=3)/雞雛的個數(shù)必須使3的倍數(shù)if(5*i+3*j+k/3)=100)&(i+j+k=100)System.out.println(雞翁:+i+;雞母:+j+;雞雛:+k);12.編寫程序,按下面的公式計算自然對數(shù)底e的值:e=1+1/1!+1/2!+1/3!
11、./*這是第七個程序*author饒林*seeHYPERLINK/*/publicclassPraxis2_12publicstaticvoidmain(Stringargs)intn=1000;/計算精度doublee=1.0;for(inti=1;i=n;i+)e=e+1.0/Praxis2_12.factorial(i);System.out.println(e=+e);staticdoublefactorial(inta)/計算階乘的靜態(tài)方法doublef=1.0;for(intj=1;j=a;j+)f=f*j;returnf;13.編寫程序,用如下公式計算圓周率的近似值:14.回文整
12、數(shù)是正讀反讀相同的整數(shù),編寫一個程序,輸入一個整數(shù),判斷是否為回文整數(shù)。/*這是第八個程序*author饒林*seeHYPERLINK/*/importjava.util.*;publicclassPraxis2_14/輸入整數(shù),判斷是否是回文整數(shù)publicstaticvoidmain(Stringargs)inta=newint100;inti=0;booleanb=true;ScannerconsoleScanner=newScanner(System.in);System.out.print(請輸入一個int型整數(shù):);intx=consoleScanner.nextInt();int
13、test=x;while(test0)/把整數(shù)的各個位上的數(shù)存到數(shù)組里ai=test%10;test=test/10;i+;for(intj=0;ji;j+)if(aj!=ai-j-1)b=false;break;if(b)System.out.println(x+是回文整數(shù));elseSystem.out.println(x+并不是回文整數(shù));15.草地上有一堆野果,有一只猴子每天要吃掉一半又一個,五天后剛好吃完,問有多少個,猴子每天吃多少個?/*這是第九個程序*author饒林*seeHYPERLINK/*/publicclassPraxis2_15publicstaticvoidmain
14、(Stringargs)intday,x1,x2;day=5;x2=0;while(day0)x1=(x2+1)*2;x2=x1;day-;System.out.println(共有+x2+個桃子。);System.out.println(-);for(inti=1;i0?+:)+(b!=0?this.b+i:);returnresult;publicComplexadd(Complexval)Complexresult=newComplex();result.a=this.a+val.a;result.b=this.b+val.b;returnresult;publicclassTestCo
15、mplexpublicstaticvoidmain(Stringargs)Complexcomplex1=newComplex(1.0,2.0);Complexcomplex2=newComplex(2.0,3.0);System.out.println(complex1.add(complex2).Print();第四章數(shù)組和字符串1.舉例說明如何聲明、創(chuàng)建初始化數(shù)組。答:有三種方法。書P69,不一一舉例了。2.略3.一個數(shù)組能存儲不同類型的元素嗎?答:不能。4.編寫一個Java程序,形成以下形式的二維數(shù)組,并輸出。解析:publicclassArrypublicstaticvoidmain
16、(Stringargs)inta=1,2,9,10,25,4,3,8,11,24,5,6,7,12,23,16,15,14,13,22,17,18,19,20,21;for(inti=0;ia.length;i+)for(intj=0;jai.length;j+)if(aij);Stringb=newString();System.out.println(a.concat(b);9.試?yán)胘ava.util.Date類繼承聲明實現(xiàn)MyDate類。解析:10.略11.編寫實現(xiàn)從兩字符串找出最長的相同字符序列的代碼。解析:得到字符串str1,str2后,有一個為空則子列為空。如果都不為空,開始下面
17、的步驟。求得兩列的長度分別為n1,n2。動態(tài)生n2行n1列矩陣(二維數(shù)組)。取str2中每個元素(記位置為i)與str1中元素(記位置為j)逐個比較,如果相等則為矩陣中相應(yīng)行列坐標(biāo)的元素賦值為1,否則為0(可用循環(huán)嵌套完成)。比如str1(abc0cbad)str2(cba1abc)兩串的話,可以得到如圖所示矩陣。然后,不難看出,要進(jìn)行如下步驟。定義strax,用來記錄最大子列中元素個數(shù)。定義數(shù)組ln2,用來記錄最大子列的首字符地址(因為可能有不同最大子列,故用數(shù)組,而不是單個變量)。判斷矩陣中每一個元素,是否為1,如果是則記下此時行地址到l數(shù)組,然后判斷相對于這個元素的下一行下一列的元素是否
18、為1,如果是則繼續(xù)判斷,一直到為0。記下此次判斷(即一個while循環(huán))中“1”的個數(shù)n,存入變量strax。對于矩陣中的每一個元素都這么判斷,如果判斷中n的值大于strax那么把n付給strax,同時把這個子列的首地址付給l0,l0后面的元素全賦值為-1。如果,某次判斷得到的n與strax相同,即有相同最大子列,那么把它的首地址存入l數(shù)組的下一個位置。當(dāng)這個矩陣的每一個元素都判斷完畢后,會得到strax,和數(shù)組l,然后用循環(huán)做如下輸出過程:依次以l數(shù)組中的每個元素為首地址,輸出str2字符串中以相應(yīng)序號開頭的strax個字符,那么完成所有最大子列的輸出。例子:輸入:aabcbcbbcabcb
19、ac輸出:abcbpublicclasstest1publicstaticvoidmain(Stringargs)intmax=0;intcurrent=0;Stringstr1=newString(aabcbcb);Stringstr2=newString(bcabcbac);intlen1=str1.length();intlen2=str2.length();intarr;arr=newintlen1len2;/初始化數(shù)組for(inti=0;istr1.length();i+)for(intj=0;jstr2.length();j+)arrij=0;for(intk=0;kstr1.l
20、ength();k+)chara=str1.charAt(k);for(intl=0;lstr2.length();l+)charb=str2.charAt(l);if(a=b)arrkl=1;elsearrkl=0;for(inti=0;istr1.length();i+)for(intj=0;jstr2.length();j+)if(arrij=1&arri-1j-1=1)arrij=arri-1j-1+1;if(maxW;System.out.println(原來為:+s);s=s.trim();s=s.replaceAll(s+,#);Stringss=s.split(#);Syste
21、m.out.print(替換后:);for(inti=0;iss.length;i+)System.out.print(ssi+);13.略第五章圖形界面設(shè)計(一)1.Swing與AWT有何關(guān)系?答:Swing是AWT的提高和擴展,共存于Java基礎(chǔ)類。AWT依賴于平臺繪制用戶界面組件,而Swing有自己的機制。2.什么是組件對象?什么是容器?容器和其它類型的組件有什么不同?答:略P863.略4.略5.略6.編一小應(yīng)用程序,小應(yīng)用程序窗口有一個按鈕,當(dāng)點擊時點擊的次數(shù)會顯示在按鈕上。解析:先用javac編譯成class字節(jié)碼,再在當(dāng)前文件夾下建一個html頁面源文件如下.。importjava
22、.applet.*;importjavax.swing.*;importjava.awt.event.*;publicclassPraxis5_6extendsAppletimplementsActionListenerintnum=0;JButtonbutton1;publicvoidinit()setSize(300,200);button1=newJButton(+num);button1.addActionListener(this);add(button1);publicvoidactionPerformed(ActionEvente)button1.setText(+num+);/
23、*html頁面*/7.創(chuàng)建一個有文本框和三個按鈕的程序當(dāng)按下某個按鈕時使不同的文字顯示在文本框中。解析:importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassPraxis5_7publicstaticvoidmain(Stringargs)ButtonDemobuttondemo=newButtonDemo();classButtonDemoextendsJFrameimplementsActionListenerJTextFieldtext;JButtonbutton1,button2;ButtonDem
24、o()super(Praxis5_8);Containercon=this.getContentPane();setLayout(newFlowLayout();text=newJTextField(10);button1=newJButton(raoliv);button2=newJButton(歡迎來到);button1.addActionListener(this);button2.addActionListener(this);con.add(text);con.add(button1);con.add(button2);setSize(300,200);setVisible(true
25、);publicvoidactionPerformed(ActionEvente)if(e.getSource()=button1)text.setText(button1.getLabel();elseif(e.getSource()=button2)text.setText(button2.getLabel();8.編寫一個有兩個文本狂的小應(yīng)用程序,在第一個文本框輸入英文單詞,第二個文本框自動顯示漢語解釋,或在第一個文本框輸入單詞,第二個文本框顯示英語。解析:只增加了一個單詞raoliv-饒林饒林-raoliv可以多寫幾個.。importjava.awt.*;importjavax.swi
26、ng.*;importjava.awt.event.*;publicclassPraxis5_8publicstaticvoidmain(Stringargs)MyWindowa=newMyWindow();a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);classMyWindowextendsJFrameimplementsActionListenerJTextFieldtext1,text2;JLabellabel;MyWindow()super(Praxis5_8);setLayout(newFlowLayout();text1=newJ
27、TextField(10);text2=newJTextField(10);text2.setEditable(false);label=newJLabel(輸入字符:);this.getContentPane().add(label);this.getContentPane().add(text1);this.getContentPane().add(text2);text1.addActionListener(this);setSize(400,100);setVisible(true);validate();publicvoidactionPerformed(ActionEvente)S
28、tringword=text1.getText();if(word.equals(raoliv)text2.setText(饒林);elseif(word.equals(饒林)text2.setText(raoliv);elsetext2.setText(沒有找到);9.編寫一個有標(biāo)簽、有文本框、文本區(qū)和兩個按鈕的小應(yīng)用程序。,importjava.util.*;importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassPraxis5_9publicstaticvoidmain(Stringargs)MyWin
29、dowa=newMyWindow();a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);classMyWindowextendsJFrameimplementsActionListenerJLabellabel;JTextFieldtext;JButtonbutton1,button2;JTextAreatextArea;JPanelpan1,pan2;MyWindow()super(Praxis5_9);setSize(300,300);setLayout(newFlowLayout();label=newJLabel();text=newJT
30、extField(15);textArea=newJTextArea(10,10);button1=newJButton(SUM);button2=newJButton(AVG);pan1=newJPanel();pan2=newJPanel();JScrollPanejsp=newJScrollPane(textArea);jsp.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);jsp.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZ
31、ONTAL_SCROLLBAR_ALWAYS);getContentPane().add(jsp);getContentPane().add(button1);getContentPane().add(button2);getContentPane().add(label);getContentPane().add(text);button1.addActionListener(this);button2.addActionListener(this);setVisible(true);validate();publicvoidactionPerformed(ActionEvente)Stri
32、ngs=textArea.getText();StringTokenizert=newStringTokenizer(s,n,;.);intn=t.countTokens();inta=newintn;for(inti=0;in;i+)ai=Integer.parseInt(t.nextToken();if(e.getSource()=button1)label.setText(輸入數(shù)的和為:);intsum=0;for(inti=0;in;i+)sum=sum+ai;text.setText(+sum);elseif(e.getSource()=button2)label.setText(輸
33、入數(shù)平均值為:);intsum=0;for(inti=0;i=360)redSeta=0;x=(int)(80.0*Math.cos(Math.PI/180.0*redSeta);y=(int)(80.0*Math.sin(Math.PI/180.0*redSeta);redPen.setColor(Color.red);redPen.drawOval(20+5,20+5,160,160);redPen.fillOval(100+x,100+y,10,10);tryredBall.sleep(20);catch(InterruptedExceptione)elseif(Thread.curre
34、ntThread()=blueBall)intx=(int)(a*Math.cos(Math.PI/180.0*blueSeta);inty=(int)(b*Math.sin(Math.PI/180.0*blueSeta);bluePen.setColor(Color.gray);bluePen.fillOval(300+x,100+y,10,10);blueSeta+=3;if(blueSeta=360)blueSeta=0;x=(int)(a*Math.cos(Math.PI/180.0*blueSeta);y=(int)(b*Math.sin(Math.PI/180.0*blueSeta
35、);bluePen.setColor(Color.BLUE);bluePen.drawOval(300+5-a,100+5-b,a*2,b*2);bluePen.fillOval(300+x,100+y,10,10);tryblueBall.sleep(20);catch(InterruptedExceptione)4.略5.略6.模擬多人排隊買球票,設(shè)球票五元一張,購票者有持五元的有持5,10,20,50,100的已知排隊者持錢情況序列,試給出排隊購票情況。第九章輸入輸出流1.略2.設(shè)計一個界面,有一個文本區(qū)和一個按鈕,輸出到指定文件中。importjava.util.*;importjav
36、a.awt.*;importjavax.swing.*;importjava.awt.event.*;importjavax.swing.event.*;importjava.io.*;publicclassPraxis9_2publicstaticvoidmain(Stringargs)newMyWindow();classMyWindowextendsJFrameimplementsActionListenerJPanelpanel;JButtonbutton;JTextAreatextArea;JFileChooserfiledialog;Filefile=null;FileWriter
37、filewriter;BufferedWriterout;JLabellabel;MyWindow()super(Praxis9_2);button=newJButton(另存為);panel=newJPanel();textArea=newJTextArea();filedialog=newJFileChooser();label=newJLabel();button.addActionListener(this);panel.add(button);panel.setLayout(newGridLayout(14,1);add(panel,BorderLayout.WEST);add(ne
38、wJScrollPane(textArea),BorderLayout.CENTER);add(label,BorderLayout.SOUTH);setBounds(50,50,500,300);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);validate();setVisible(true);publicvoidactionPerformed(ActionEvente)filedialog.setDialogTitle(另存為);intresult=filedialog.showSaveDialog(this);if(result=JFil
39、eChooser.APPROVE_OPTION)file=filedialog.getSelectedFile();label.setText(+file.getAbsolutePath();saveAsText();elseif(result=JFileChooser.CANCEL_OPTION)label.setText(你沒有選擇任何文件);publicvoidsaveAsText()tryfilewriter=newFileWriter(file);out=newBufferedWriter(filewriter);Stringname=file.getName().substring
40、(file.getName().lastIndexOf(.)+1,file.getName().length();out.write(textArea.getText(),0,(textArea.getText().length();out.flush();out.close();catch(Exceptione)label.setText(+e);3.在一個文件中,每行存的是整數(shù),各行整數(shù)個數(shù)不等,要求讀如這個文件,然后計算每行整數(shù)的和,并存到另一個文件中。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importja
41、vax.swing.event.*;importjava.io.*;importjava.util.*;publicclassPraxis9_3publicstaticvoidmain(Stringargs)newWindow9_3();classWindow9_3extendsJFrameimplementsActionListenerJPanelpanel;JButtonbuttonSave,buttonCount,buttonOpen;JTextAreatextArea;JLabellabel;JFileChooserfiledialog;Filefile=null;Window9_3(
42、)super(第九章,第三題);buttonOpen=newJButton(打開文件);buttonSave=newJButton(保存到文件);buttonCount=newJButton(計算結(jié)果);label=newJLabel();panel=newJPanel();textArea=newJTextArea();filedialog=newJFileChooser();buttonOpen.addActionListener(this);buttonSave.addActionListener(this);buttonCount.addActionListener(this);/給按
43、鈕加監(jiān)控panel.add(buttonOpen);panel.add(buttonCount);panel.add(buttonSave);/把按鈕添加到panel面板上add(panel,BorderLayout.NORTH);add(newJScrollPane(textArea),BorderLayout.CENTER);add(label,BorderLayout.SOUTH);setBounds(50,50,500,300);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);validate();setVisible(true);publ
44、icvoidactionPerformed(ActionEvente)if(e.getSource()=buttonOpen)filedialog.setDialogTitle(打開);intresult=filedialog.showOpenDialog(this);if(result=JFileChooser.APPROVE_OPTION)file=filedialog.getSelectedFile();label.setText(+file.getAbsolutePath();showText();elseif(result=JFileChooser.CANCEL_OPTION)lab
45、el.setText(你沒有選擇任何文件n);if(e.getSource()=buttonSave)filedialog.setDialogTitle(另存為);intresult=filedialog.showSaveDialog(this);if(result=JFileChooser.APPROVE_OPTION)file=filedialog.getSelectedFile();label.setText(+file.getAbsolutePath();saveAsText();elseif(result=JFileChooser.CANCEL_OPTION)label.setTex
46、t(你沒有選擇任何文件n);if(e.getSource()=buttonCount)textArea.setText(null);countResult();publicvoidshowText()tryFileReaderfile_reader=newFileReader(file);BufferedReaderin=newBufferedReader(file_reader);Stringss=newString();while(ss=in.readLine()!=null)textArea.append(ss+n);in.close();catch(FileNotFoundExcept
47、ione2)label.setText(文件沒有找到n);catch(IOExceptione3)textArea.setCaretPosition(0);publicvoidsaveAsText()tryFileWriterfile_writer=newFileWriter(file);BufferedWriterout=newBufferedWriter(file_writer);out.write(textArea.getText(),0,(textArea.getText().length();out.flush();out.close();catch(FileNotFoundExce
48、ptione2)label.setText(文件沒有找到n);catch(IOExceptione3)publicvoidcountResult()tryFileReaderfile_reader=newFileReader(file);BufferedReaderin=newBufferedReader(file_reader);Stringtemp=newString();while(temp=in.readLine()!=null)intnumber=0;StringTokenizertoken=newStringTokenizer(temp,.);while(token.hasMore
49、Tokens()number+=Integer.parseInt(token.nextToken();textArea.append(temp+-相加結(jié)果是:+number+n);in.close();catch(Exceptione2)label.setText(error+e2+n);4.在一個文本區(qū)中輸入數(shù)據(jù),把輸入的數(shù)據(jù)分析成各個單詞,然后排序顯示到第二個文本區(qū)中,并通過文件保存對話框保存到文件中。/在text1輸入英語,在text2輸出排序好的單詞importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjavax
50、.swing.*;importjavax.swing.event.*;importjava.io.*;classWindow9_4extendsJFrameimplementsCaretListener,ActionListenerJTextAreatext1;JTextAreatext2;JButtonbuttonClear,buttonSave;JPanelpanel1,panel2;Filefile;JFileChooserfiledialog=null;JLabellabel;Window9_4()super(第九章,第四題);filedialog=newJFileChooser();
51、text1=newJTextArea(TextArea,15,30);text2=newJTextArea(JTextArea,15,30);buttonClear=newJButton(清空);buttonSave=newJButton(保存到文件);panel1=newJPanel();panel2=newJPanel();label=newJLabel();text2.setEditable(false);text1.addCaretListener(this);buttonClear.addActionListener(this);buttonSave.addActionListene
52、r(this);panel1.add(buttonClear);panel1.add(buttonSave);panel2.add(newJScrollPane(text1);panel2.add(newJScrollPane(text2);add(panel1,BorderLayout.NORTH);add(panel2,BorderLayout.CENTER);add(label,BorderLayout.SOUTH);setBounds(20,20,800,600);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);validate();set
53、Visible(true);publicvoidcaretUpdate(CaretEvente)Strings=text1.getText();StringTokenizerfenxi=newStringTokenizer(s,n);intn=fenxi.countTokens();Stringa=newStringn;for(inti=0;in;i+)Stringtemp=fenxi.nextToken();ai=temp;Arrays.sort(a);text2.setText(null);for(inti=0;ia.length;i+)text2.append(ai+n);publicv
54、oidactionPerformed(ActionEvente)if(e.getSource()=buttonClear)text1.setText(null);if(e.getSource()=buttonSave)filedialog.setDialogTitle(另存為);intresult=filedialog.showSaveDialog(this);if(result=JFileChooser.APPROVE_OPTION)file=filedialog.getSelectedFile();label.setText(+file.getAbsolutePath();saveAsTe
55、xt();publicvoidsaveAsText()tryFileWriterfile_writer=newFileWriter(file);BufferedWriterout=newBufferedWriter(file_writer);out.write(text2.getText(),0,(text2.getText().length();out.flush();out.close();catch(FileNotFoundExceptione2)label.setText(文件沒有找到);catch(IOExceptione3)publicclassPraxis9_4publicsta
56、ticvoidmain(Stringargs)newWindow9_4();5.在一個文本區(qū)中輸入數(shù)據(jù),將文本區(qū)中的數(shù)據(jù)存入文件中,在又用戶指定的序號,程序從文件中讀取對應(yīng)序號數(shù)據(jù),輸出到文本框中。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;importjava.io.*;importjava.util.*;publicclassPraxis9_5publicstaticvoidmain(Stringargs)newWindow9_5();classWindow9_5
57、extendsJFrameimplementsActionListener,ItemListenerJPanelpanel;JButtonbuttonSave;JComboBoxcombo;JTextAreatextArea;JTextFieldtextField;JFileChooserfiledialog;Filefile=null;JLabellabel;StringstringArray=newString100;Window9_5()super(第九章,第五題);buttonSave=newJButton(保存到文件);combo=newJComboBox();panel=newJP
58、anel();label=newJLabel();textArea=newJTextArea();textField=newJTextField(30);filedialog=newJFileChooser();buttonSave.addActionListener(this);combo.addItemListener(this);panel.add(buttonSave);panel.add(combo);panel.add(textField);/把按鈕,check添加到panel面板上add(panel,BorderLayout.NORTH);add(newJScrollPane(t
59、extArea),BorderLayout.CENTER);add(label,BorderLayout.SOUTH);setBounds(50,50,600,300);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);validate();setVisible(true);publicvoidactionPerformed(ActionEvente)if(e.getSource()=buttonSave)filedialog.setDialogTitle(另存為);intresult=filedialog.showSaveDialog(this);
60、if(result=JFileChooser.APPROVE_OPTION)file=filedialog.getSelectedFile();label.setText(+file.getAbsolutePath();saveAsText();elseif(result=JFileChooser.CANCEL_OPTION)label.setText(你沒有選擇任何文件);publicvoiditemStateChanged(ItemEvente)inti=combo.getSelectedIndex();textField.setText(stringArrayi);System.out.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉儲管理大數(shù)據(jù)優(yōu)化策略
- 中學(xué)生創(chuàng)新思維故事解讀
- 娛樂活動安全參與協(xié)議
- 教育機構(gòu)教學(xué)質(zhì)量與學(xué)生管理手冊
- 標(biāo)準(zhǔn)的商鋪門面租賃合同
- 服裝服飾行業(yè)智能供應(yīng)鏈優(yōu)化方案
- 初二如何考數(shù)學(xué)試卷
- 寵物店寄養(yǎng)期間寵物丟失免責(zé)協(xié)議
- 酒店旅游管理軟件開發(fā)合同
- 大學(xué)期末離散數(shù)學(xué)試卷
- 2024-2025學(xué)年七年級上學(xué)期語文期末考前押題卷(統(tǒng)編版2024+含答案)
- 土建定額培訓(xùn)課件
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實踐指導(dǎo)材料之13:“6策劃-6.2創(chuàng)新目標(biāo)及其實現(xiàn)的策劃”(雷澤佳編制-2025B0)
- 二年級上冊《語文園地八》日積月累
- 2024年保護環(huán)境的建議書范文(33篇)
- 2024年中國PVC鞋底料市場調(diào)查研究報告
- 退休人員公益活動合作合同
- 四年級數(shù)學(xué)(四則混合運算帶括號)計算題專項練習(xí)與答案
- 急診創(chuàng)傷疼痛護理
- 2022年期貨從業(yè)資格《期貨基礎(chǔ)知識》考試題庫(含典型題)
- 浙江省湖州市2023-2024學(xué)年高二上學(xué)期期末調(diào)研測試數(shù)學(xué)試題 含解析
評論
0/150
提交評論