《Java面向?qū)ο蟪绦蛟O(shè)計》(第2版)課后答案_第1頁
《Java面向?qū)ο蟪绦蛟O(shè)計》(第2版)課后答案_第2頁
《Java面向?qū)ο蟪绦蛟O(shè)計》(第2版)課后答案_第3頁
《Java面向?qū)ο蟪绦蛟O(shè)計》(第2版)課后答案_第4頁
《Java面向?qū)ο蟪绦蛟O(shè)計》(第2版)課后答案_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Java面向?qū)ο蟪绦蛟O(shè)計(編著耿祥義X躍平)習題11.JamesGosling2.使用一個文本編輯器編寫源文件。Java編譯器Java源程序,得到字節(jié)碼文件。Java解釋器Java程序3.Java的源文件是由若干個書寫形式互相獨立的類組成的。應(yīng)用程序中可以沒有public類,若有的話至多可以有一個public類。4.系統(tǒng)環(huán)境path D\jdk\bin;系統(tǒng)環(huán)境classpath D\jdk\jre\lib\rt.jar;.;BJava。Java.class。D8)生成兩個字節(jié)碼文件,這些字節(jié)碼文件的名字Speak.classXiti8.classjavaXiti8javaSpeak的錯誤提示Exceptioninthread"main"java.lang.NoSuchMethodError:main執(zhí)行javaxiti8得到的錯誤提示Exceptioninthread"main"java.lang.NoClassDefFoundError:xiti8(wrongname:Xiti8)執(zhí)行javaXiti8.class得到的錯誤提示Exceptioninthread"main"java.lang.NoClassDefFoundError:Xiti8/classjavaXiti8I'mgladtomeetyou9.屬于操作題,解答略。習題2D【代碼1【代碼2】錯誤 //【代碼3】更正為floatz=6.89F;t對于eXiti4{publicstaticvoidmain(Stringargs[]){charch1='你',ch2='我',ch3='他';System.out.println("\""+ch1+"\"的位置:"+(int)ch1);System.out.println("\""+ch2+"\"的位置:"+(int)ch2);System.out.println("\""+ch3+"\"的位置:"+(int)ch3);}}5.length6.length7】【代碼2】-127【代碼3】 123456.783,123456.783128.【代碼1】false【代碼2】true【代碼3】false【代碼4】35】4.46】8.8習題3輸出110if-else語句書寫的不夠規(guī)X,復(fù)合語句缺少大括號“{}”,代碼不夠清晰。2.你好好酷!!3.publicclassXiti3_3{publicstaticvoidmain(Stringargs[]){intstartPosition=0,endPosition=0;charcStart='а',cEnd='я';startPosition=(int)cStart;//cStart做int型轉(zhuǎn)換據(jù)運算并將結(jié)果賦值給startPositionendPosition=(int)cEnd; //cEnd做int型轉(zhuǎn)換運算,并將結(jié)果賦值給endPositionSystem.out.println("俄文字母表:");for(inti=startPosition;i<=endPosition;i++){charc='\0';c=(char)i; //ichar型轉(zhuǎn)換運算,并將結(jié)果賦值給cSystem.out.print("+c);if((i-startPosition+1)%10==0)System.out.println("");}}}4.publicclassXiti4{ publicstaticvoidmain(Stringargs[]){ doublesum=0,a=1;inti=1;while(i<=20){sum=sum+a;i++;a=a*i;}System.out.println("sum="+sum);}}5.classXiti5{ publicstaticvoidmain(Stringargs[]){inti,j;{for(i=2;i<=j/2;i++){if(j%i==0)break;}if(i>j/2)(""+j);}}}}6.classXiti6{ publicstaticvoidmain(Stringargs[]){ doublesum=0,a=1,i=1;while(i<=20){sum=sum+a;i++;a=(1.0/i)*a;}System.out.println("使用while循環(huán)計算的sum="+sum);for(sum=0,i=1,a=1;i<=20;i++){ sum=sum+a;}System.out.println("使用for循環(huán)計算的sum="+sum);}}7.publicclassXiti7{ publicstaticvoidmain(Stringargs[]){ intsum=0,i,j;{ for(j=1,sum=0;j<i;j++){ if(i%j==0)sum=sum+j;if(sum==i)}

}System.out.println("完數(shù):"+i);}}8.方法之一importjava.util.Scanner;publicclassXiti8{ publicstaticvoidmain(Stringargs[]){System.out.println("請輸入兩個非零正整數(shù),每輸入一個數(shù)回車確認");Scannerreader=newScanner(System.in);intm=0,n=0,temp=0,gy=0,gb=0,a,b;a=m=reader.nextInt();b=n=reader.nextInt();if(m<n){ }intr=m%n;while(r!=0){ n=m;}

m=n;n=temp;m=r;r=m%n;gy=n;gb=a*b/gy;}

System.out.println("最大公約數(shù):"+gy);System.out.println("最小公倍數(shù):"+gb);}8.方法之二importjava.util.Scanner;publicclassXiti8{publicstaticvoidmain(Stringargs[]){System.out.println("請輸入兩個非零正整數(shù),每輸入一個數(shù)回車確認");Scannerreader=newScanner(System.in);intm=0,n=0,t=0,gy=0,gb=0;m=reader.nextInt();n=reader.nextInt();if(m>n){}

t=m;m=n;n=t;for(inti=1;i<=m;i++){if(m%i==0&&n%i==0){gy=i;}}gb=m*n/gy;System.out.println(m+","+n+"的最大公約數(shù)為"+gy);System.out.println(m+","+n+"的最小公倍數(shù)為"+gb);}}9.publicclassXiti9{ publicstaticvoidmain(Stringargs[]){intn=1;longsum=0,t=1;t=n*t;while(true){ sum=sum+t;if(sum>9999)break;n++;t=n*t;}System.out.println("滿足條件的最大整數(shù):"+(n-1));}}//1至7的階乘和是sum=5913.0 //1至8的階乘和是sum=46233.0習題412同,即或者是參數(shù)的個數(shù)不同,或者是參數(shù)的類型不同。構(gòu)造方法可以重載。3.可以。不可以。不可以。static修飾的變量是類變量。那么類變量和實例new運算符可以創(chuàng)建多個不同的對象,不同的對象的量。也就是說對象共享類變量。C,D148.sum=-1009.2710.**20##1005private的成員變量privatepublic成員變量做為子類的成員變量,并且繼承了父類的public里,子類不能繼承父類的友好變量和友好方法。只要子類中聲明的成員變量和父類中的成員變量同名時,子類就隱藏了繼承的成員變量。義的方法稱作子類重寫的方法。子類通過方法的重寫可以隱藏繼承的方法。不可以。3.a(chǎn)bstract4.假設(shè)B類是A類子類或間接子類,當我們用子類B創(chuàng)建一個對象,并把這個對象的引用放到A類的對象中時,稱這個A類對象是子類對象的上轉(zhuǎn)型對象。5.可以把實現(xiàn)某一接口的類創(chuàng)建的對象的引用賦給該接口聲明的接口變量中。那么該接口變量就可以調(diào)用被類實現(xiàn)的接口中的方法。6.A,C,D7.15.08.08.98.0129.classA{ publicfinalvoidf(){charcStart='a',cEnd='z';for(charc=cStart;c<=cEnd;c++)(""+c);}}}classBextendsA{publicvoidg(){charcStart='α',cEnd='ω';for(charc=cStart;c<=cEnd;c++)(""+c);}}}publicclassXiti9{ publicstaticvoidmain(Stringargs[]){Bb=newB();b.f();b.g();}}10.classA{ publicintf(inta,intb){if(b<a){ inttemp=a;}intr=b%a;while(r!=0){ b=a;}

a=b;b=temp;a=r;r=b%a;returna;}}classBextendsA{ publicintf(inta,intb){ intdivision=super.f(a,b);return(a*b)/division;}}publicclassXiti10{ publicstaticvoidmain(Stringargs[]){Aa=newA();Bb=newB();System.out.println("最大公約數(shù):"+a.f(36,24));System.out.println("最小公倍數(shù):"+b.f(36,24));}}習題61可以。不可以。大家好,祝工作順利!5.96乘數(shù)超過99習題71.Strategy是接口。Army不是抽象類。ArmyStrategy是關(guān)聯(lián)關(guān)系。StrategyA,、StrategyCStrategy是實現(xiàn)關(guān)系。2.3.13閉原則。17閉原則。習題8采用新增的策略為選手計算得分。StrategyFourdoublecomputeScore(double[]方法實現(xiàn)為去掉數(shù)組a的元素中的一個最大值和一個最小值,然后計算剩余元素的幾何平均值。importjava.util.Arrays;publicclassStrategyFourimplementsComputableStrategy{publicdoublecomputeScore(double[]a){if(a.length<=2)return0;doublescore=0,multi=1;Arrays.sort(a);intn=a.length-2;for(inti=1;i<a.length-1;i++){multi=multi*a[i];}score=Math.pow(multi,1.0/n);returnscore;}}2.publicinterfacePrintCharacter{publicabstractvoidprintTable(char[]a,char[]b);}具體策略PrintStrategyOne.javapublicclassPrintStrategyOneimplementsPrintCharacter{publicvoidprintTable(char[]a,char[]b){for(inti=0;i<a.length;i++)System.out.print(a[i]+",");}for(inti=0;i<b.length;i++)System.out.print(b[i]+",");}System.out.println("");}}PrintStrategyTwo.javapublicclassPrintStrategyTwo{publicvoidprintTable(char[]a,char[]b){for(inti=0;i<a.length;i++){System.out.print(b[i]+","+a[i]+",");}}}(3)PrintGame.javapublicclasPrintGame{PrintCharacterstrategy;publicvoidsetStrategy(PrintCharacterstrategy){this.strategy=strategy;}publicvoidgetPersonScore(char[]a,char[]b){if(strategy==null)System.out.println("sorry!");elsestrategy.printTable(a,b);}}應(yīng)用以上策略:publicclassApplication{publicstaticvoidmain(Stringargs[]){char[]a=newchar[26];char[]b=newchar[26];for(inti=0;i<=25;i++){a[i]=(char)('a'+i);}for(inti=0;i<=25;i++){b[i]=(char)('A'+i);}PrintGamegame=newPrintGame();//上下文對象game.setStrategy(newPrintStrategyOne()); //上下文對象使用策略一System.out.println("方案1:");game.getPersonScore(a,b);game.setStrategy(newPrintStrategyTwo()); //2:");game.getPersonScore(a,b);}}3.參照本章自主完成。習題91.A,B,DLove:Game3.13abc夏日4.135795.9javaHello6.publicclassXiti6{publicstaticvoidmain(Stringargs[]){Strings1,s2,s3,t1="ABCDabcd";System.out.println(""+t1);s1=t1.toUpperCase();System.out.println(""+s1);s2=t1.toLowerCase();System.out.println("字符串中的大寫字母變成小寫是這個樣子:"+s2);s3=s1.concat(s2);System.out.println("大寫字符串連接小寫字符串是這個樣子:"+s3);}}7.classXiti7{publicstaticvoidmain(Stringargs[])String s="XX國chara=s.charAt(0);charb=s.charAt(6);System.out.println("第一個字: "+a);"+b);}}8.importjava.util.*;classXiti8{ publicstaticvoidmain(Stringargs[]){intyear,month;System.out.println("請輸入年份和月份,每輸入一個數(shù)回車確認");Scannerreader=newScanner(System.in);year=reader.nextInt();month=reader.nextInt();String[]day=newString[42];System.out.println("日一二三四五六");Calendarrili=Calendar.getInstance();rili.set(year,month-1,1);//將日歷翻到y(tǒng)ear年month月1日,注意0表示一月...11表示十二月

int星期幾=rili.get(Calendar.DAY_OF_WEEK)-1;intdayAmount=0;dayAmount=31;dayAmount=30;if(month==2)dayAmount=29;elsedayAmount=28;for(inti=0;i<星期幾;i++)day[i]="";for(inti=星期幾,n=1;i<星期幾+dayAmount;i++){if(n<=9)day[i]=String.valueOf(n)+"";elseday[i]=String.valueOf(n);n++;}for(inti=星期幾+dayAmount;i<42;i++)day[i]="";for(inti=0;i<星期幾;i++){ day[i]="**";}for(inti=0;i<day.length;i++){if(i%7==0)("");}System.out.print(""+day[i]);}}}9.importjava.util.*;classXiti9{ publicstaticvoidmain(Stringargs[]){intyear1,month1,day1,year2,month2,day2;Scannerreader=newScanner(System.in);System.out.println("請輸入第一個日期的年份月份日期,每輸入一個數(shù)回車確認");year1=reader.nextInt();month1=reader.nextInt();day1=reader.nextInt();System.out.println("請輸入第二個日期的年份月份日期,每輸入一個數(shù)回車確認");year2=reader.nextInt();month2=reader.nextInt();day2=reader.nextInt();Calendarcalendar=Calendar.getInstance();calendar.set(year1,month1,day1);longtimeYear1=calendar.getTimeInMillis();calendar.set(year2,month2,day2);longtimeYear2=calendar.getTimeInMillis();long相隔天數(shù)=Math.abs((timeYear1-timeYear2)/(1000*60*60*24));System.out.println(""+year1+"年"+month1+"月"+day1+"日和"+year2+"年"+month2+"月"+day2+"日相隔"+相隔天數(shù)+"天");}}10.publicclassXiti10{ publicstaticvoidmain(Stringargs[]){ doublea=0,b=0,c=0;a=12;b=24;c=Math.max(a,b);System.out.println(c);c=Math.min(a,b);System.out.println(c);c=Math.pow(2,3);System.out.println(c);c=Math.abs(-0.123);System.out.println(c);c=Math.asin(0.56);System.out.println(c);c=Math.cos(3.14);System.out.println(c);c=Math.exp(1);System.out.println(c);c=Math.log(8);System.out.println(c);}}習題101.BorderLayout布局。2.不可以。A,C。4.importjava.util.StringTokenizer;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassXiti4{ publicstaticvoidmain(Stringargs[]){ComputerFramefr=newComputerFrame();fr.setTitle("計算的窗口");}}classComputerFrameextendsJFrameimplementsTextListener{ TextAreatext1,text2;intcount=1;doublesum=0,aver=0;publicComputerFrame(){setLayout(newFlowLayout());text1=newTextArea(6,20);text2=newTextArea(6,20);add(text1);add(text2);text2.setEditable(false);text1.addTextListener(this);setSize(300,320);setVisible(true);addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ System.exit(0);validate();}

}});publicvoidtextValueChanged(TextEvente){ Strings=text1.getText();sum=0;aver=0;StringTokenizerfenxi=newStringTokenizer(s,",'\n'");intn=fenxi.countTokens();count=n;doublea[]=newdouble[n];for(inti=0;i<=n-1;i++){ Stringtemp=fenxi.nextToken();try{a[i]=Double.parseDouble(temp);sum=sum+a[i];}catch(Exceptionee){count--;}}aver=sum/count;text2.setText(null);text2.append("\n和:"+sum);text2.append("\n平均值:"+aver);}}5.importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassXiti5{ publicstaticvoidmain(Stringargs[]){ComputerFramefr=newComputerFrame();fr.setTitle("計算");}}classComputerFrameextendsFrameimplementsActionListener{TextFieldtext1,text2,text3;Buttonbutton1,button2,button3,button4;Labellabel;publicComputerFrame(){setLayout(newFlowLayout());text1=newTextField(10);text2=newTextField(10);text3=newTextField(10);label=newLabel("",Label.CENTER);label.setBackground(Color.green);add(text1);add(label);add(text2);add(text3);button1=new");button2=new");button3=new");button4=new");add(button1);add(button2);add(button3);add(button4);button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);setSize(300,320);setVisible(true);addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ System.exit(0);validate();}

}});publicvoidactionPerformed(ActionEvente){doublen;if(e.getSource()==button1){ doublen1,n2;try{n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1+n2;text3.setText(String.valueOf(n));label.setText("+");}catch(NumberFormatExceptionee){text3.setText("請輸入數(shù)字字符");}}elseif(e.getSource()==button2){ doublen1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1-n2;text3.setText(String.valueOf(n));label.setText("-");}catch(NumberFormatExceptionee){text3.setText("請輸入數(shù)字字符");}}elseif(e.getSource()==button3){doublen1,n2;try{n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1*n2;text3.setText(String.valueOf(n));label.setText("*");}catch(NumberFormatExceptionee){text3.setText("請輸入數(shù)字字符");}}elseif(e.getSource()==button4){doublen1,n2;try{n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1/n2;text3.setText(String.valueOf(n));label.setText("/");}catch(NumberFormatExceptionee){text3.setText("請輸入數(shù)字字符");}}validate();}}6.importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassXiti6{ publicstaticvoidmain(Stringargs[]){ newWindowPanel();}}classMypanelextendsJPanelimplementsActionListener{ Buttonbutton;TextFieldtext;Mypanel(){ button=newButton("");text=newTextField(12);add(button);add(text);button.addActionListener(this);}publicvoidactionPerformed(ActionEvente){ Stringname=text.getText();if(name.length()>0)button.setLabel(name);validate();}}classWindowPanelextendsFrame{ Mypanelpanel1,panel2;WindowPanel(){panel1=newMypanel();panel2=newMypanel();panel1.setBackground(Color.red);panel2.setBackground(Color.blue);add(panel1,BorderLayout.SOUTH);add(panel2,BorderLayout.NORTH);setSize(300,320);setVisible(true);addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ System.exit(0);validate();}

}});}7.參見10.13,參照本章例子10.21。8.importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassXiti8{publicstaticvoidmain(Stringargs[]){ MoveFramef=newMoveFrame();f.setBounds(12,12,300,300);f.setVisible(true);f.setTitle("移動");f.validate();f.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ System.exit(0);}});}}classMoveFrameextendsJFrameimplementsActionListener{ uttoncontrolButton,movedButton;publicMoveFrame(){ controlButton=new");controlButton.addActionListener(this);movedButton=newutton();movedButton.setBackground(newColor(12,200,34));setLayout(null);add(controlButton);add(movedButton);controlButton.setBounds(10,30,130,30);movedButton.setBounds(100,100,10,10);}publicvoidactionPerformed(ActionEvente){ intx=movedButton.getBounds().x;inty=movedButton.getBounds().y;x=x+5;y=y+1;if(x>200){x=100;y=100;}}}9.importjava.awt.*;importjava.awt.event.*;publicclassXiti9{ publicstaticvoidmain(Stringargs[]){ Winwin=newWin();}}classWinextendsFrameimplementsKeyListener{ Buttonb[]=newButton[8];intx,y;Win(){setLayout(newFlowLayout());for(inti=0;i<8;i++){b[i]=newButton(""+i);b[i].addKeyListener(this);add(b[i]);}addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);setBounds(10,10,300,300);setVisible(true);validate();}

}});publicvoidkeyPressed(KeyEvente){ intmoveDistance=1;Componentcom=(Component)e.getSource();intx=(int)com.getBounds().x;inty=(int)com.getBounds().y;Componentcomponent[]=this.getComponents();if(e.getKeyCode()==KeyEvent.VK_UP){ y=y-moveDistance;com.setLocation(x,y);RectanglecomRect=com.getBounds();for(intk=0;k<component.length;k++){ RectangleorthRect=component[k].getBounds();{ y=y+moveDistance;com.setLocation(x,y);break;}}if(y<=0)y=10;}elseif(e.getKeyCode()==KeyEvent.VK_DOWN){ y=y+moveDistance;RectanglecomRect=com.getBounds();for(intk=0;k<component.length;k++){ RectangleorthRect=component[k].getBounds();{ y=y-moveDistance;com.setLocation(x,y);break;}}if(y>=300)y=300;}elseif(e.getKeyCode()==KeyEvent.VK_LEFT){ x=x-moveDistance;com.setLocation(x,y);RectanglecomRect=com.getBounds();for(intk=0;k<component.length;k++){ RectangleorthRect=component[k].getBounds();{ x=x+moveDistance;com.setLocation(x,y);break;}}if(x<=0)x=0;}elseif(e.getKeyCode()==KeyEvent.VK_RIGHT){ x=x+moveDistance;com.setLocation(x,y);RectanglecomRect=com.getBounds();for(intk=0;k<component.length;k++){ RectangleorthRect=component[k].getBounds();{ x=x-moveDistance;com.setLocation(x,y);break;}}if(x>=300)x=300;}}publicvoidkeyTyped(KeyEvente){}publicvoidkeyReleased(KeyEvente){}}習題111.A2.importjava.awt.event.*;importjava.awt.*;importjavax.swing.*;classDwindowextendsFrameimplementsActionListener{ TextFieldinputNumber;TextAreasave;Dwindow(Strings){super(s);inputNumber=newTextField(22);inputNumber.addActionListener(this);save=newTextArea(12,16);setLayout(newFlowLayout());add(inputNumber);add(save);setBounds(60,60,300,300);setVisible(true);validate();addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ System.exit(0);}});}publicvoidactionPerformed(ActionEventevent){ Strings=inputNumber.getText();doublen=0;try{ if(n>1000){ intselect=JOptionPane.showConfirmDialog(this,"1000確認正確嗎?","",if(select==JOptionPane.YES_OPTION){ save.append("\n"+s);}

JOptionPane.YES_NO_OPTION);else

{ inputNumber.setText(null);}}else

{ save.append("\n"+s);}}catch(NumberFormatExceptione){ JOptionPane.WARNING_MESSAGE);inputNumber.setText(null);}}}publicclassE{ publicstaticvoidmain(Stringargs[]){ newDwindow("");}}3.參照以下例子完成Xiti3.javapublicclassXiti3{publicstaticvoidmain(Stringargs[]){WindowColorwin=newWindowColor();win.setTitle("帶顏色對話框的窗口");}}WindowColor.javaimportjava.awt.event.*;importjava.awt.*;importjavax.swing.*;publicclassWindowColorextendsJFrameimplementsActionListener{uttonbutton;WindowColor(){button=newutton("打開顏色對話框");button.addActionListener(this);setLayout(newFlowLayout());add(button);setBounds(60,60,300,300);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}publicvoidactionPerformed(ActionEvente){ColornewColor=JColorChooser.showDialog(this,"調(diào)色板",button.getBackground());if(newColor!=null){button.setBackground(newColor);}}}習題12FileInputStream流。FileInputStream按字節(jié)讀取文件,F(xiàn)ileReader按字符讀取文件。3.不能。使用對象流寫入或讀入對象時,要保證對象是序列化的。么用對象輸入流讀回的對象一定是原對象的一個克隆。6.importjava.io.*;publicclassXiti6{ publicstaticvoidmain(Stringargs[]){ Filef=newFile("E.java");;try{ RandomAccessFilerandom=newRandomAccessFile(f,"rw");random.seek(0);longm=random.length();while(m>=0){ m=m-1;random.seek(m);intc=random.readByte();if(c<=255&&c>=0)((char)c);}else{ m=m-1;random.seek(m);bytecc[]=newbyte[2];random.readFully(cc);System.out.print(newString(cc));}}}catch(Exceptionexp){}}}7.importjava.io.*;publicclassXiti7{ publicstaticvoidmain(Stringargs[]){ Filefile=newFile("E.java");FiletempFile=newFile("temp.txt");try{FileReader inOne=newFileReader(file);BufferedReaderinTwo=newBufferedReader(inOne);FileWritertofile=newFileWriter(tempFile);BufferedWriterout=newBufferedWriter(tofile);Strings=null;inti=0;s=inTwo.readLine();while(s!=null){ i++;out.write(i+""+s);out.newLine();s=inTwo.readLine();}inOne.close();inTwo.close();out.flush();out.close();tofile.close();}catch(IOExceptione)(e);}}}8.屬于操作題目,解答略。9.importjava.util.*;importjava.io.*;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassXiti9{ publicstaticvoidmain(Stringargs[]){ EWindoww=newEWindow();w.validate();}}classEWindowextendsFrameimplementsActionListener,ItemListener{ Stringstr[]=newString[7],s;FileReaderfile;BufferedReaderin;Buttonstart,next;Checkboxcheckbox[];TextField題目,分數(shù);intscore=0;CheckboxGroupage=newCheckboxGroup();EWindow(){ super("");分數(shù)=new=newTextField(70);start=new");start.addActionListener(this);next=new");next.addActionListener(this);checkbox=newCheckbox[4];for(inti=0;i<=3;i++){checkbox[i]=newCheckbox("",false,age);checkbox[i].addItemListener(this);}try{ file=newFileReader("English.txt");in=newBufferedReader(file);}catch(IOExceptione){}setBounds(20,100,660,300);setVisible(true);Boxbox=Box.createVerticalBox();Panelp1=newPanel(),p2=newPanel(),p3=newPanel(),p4=newPanel(),p5=newPanel();p1.add(newLabel("題目:"));p1.add(題目);p2.add(newLabel("選擇答案:"));for(inti=0;i<=3;i++){ p2.add(checkbox[i]);}p3.add(newLabel("您的得分:"));p3.add(分數(shù));p4.add(start);p4.add(next);box.add(p1);box.add(p2);box.add(p3);box.add(p4);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){ System.exit(0);}});add(box,BorderLayout.CENTER);reading();}publicvoidreading(){ inti=0;try{s=in.readLine();if(!(s.startsWith("endend"))){ StringTokenizertokenizer=newStringTokenizer(s,"#");while(tokenizer.hasMoreTokens()){ str[i]=tokenizer.nextToken();i++;}題目.setText(str[0]);for(intj=1;j<=4;j++){ checkbox[j-1].setLabel(str[j]);}}elseif(s.startsWith("endend")){ ");for(intj=0;j<4;j++){ checkbox[j].setLabel("end");in.close();file.close();}}}catch(Exceptionexp){題目.setText("無試題文件");}}publicvoidactionPerformed(ActionEventevent){ if(event.getSource()==start){ score=0;分數(shù).setText("得分:"+score);try{ file=newFileReader("English.txt");in=newBufferedReader(file);}catch(IOExceptione){}reading();}if(event.getSource()==next){ reading();for(intj=0;j<4;j++){ checkbox[j].setEnabled(true);}}}publicvoiditemStateChanged(ItemEvente){ for(intj=0;j<4;j++){if(checkbox[j].getLabel().equals(str[5])&&checkbox[j].getState()){ score++;分數(shù).setText("得分:"+score);}checkbox[j].setEnabled(false);}}}習題1312.8。ABCD。HashMap<K,V>來存儲。5.importjava.util.*;classUFlashKeyimplementsComparable{doubled=0;UFlashKey(doubled){this.d=d;}publicintcompareTo(Objectb){UFlashKeyst=(UFlashKey)b;if((this.d-st.d)==0)return-1;elsereturn(int)((this.d-st.d)*1000);}}classUFlash{Stringname=null;doublecapacity,price;UFlash(Strings,doublem,doublee){name=s;price=e;}}publicclassXiti5{publicstaticvoidmain(Stringargs[]){TreeMap<UFlashKey,UFlash>treemap=newTreeMap<UFlashKey,UFlash>();Stringstr[]={"U1","U2","U3","U4","U5","U6","U7","U8","U9","U10"};doublecapacity[]={1,2,2,4,0.5,10,8,4,4,2};doubleprice[]={30,66,90,56,50,149,120,80,85,65};UFlashUFlash[]=newUFlash[10];for(intk=0;k<UFlash.length;k++){UFlash[k]=newUFlash(str[k],capacity[k],price[k]);}UFlashKeykey[]=newUFlashKey[10];for(intk=0;k<key.length;k++){key[k]=newUFlashKey(UFlash[k].capacity);//關(guān)鍵字按容量成績排列大小}for(intk=0;k<UFlash.length;k++){treemap.put(key[k],UFlash[k]);}intnumber=treemap.size();System.out.p

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論