版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、一閱讀分析下面程序,將程序中的代碼補(bǔ)充完整,并回答問題。1/ FirstApplet.javaimport java.applet.*; import java.awt.*;public class FirstApplet extends Applet public void paint(Graphics g) 【代碼:g.setColor(Color.blue);】 /將當(dāng)前字體顏色設(shè)置為藍(lán)色 g.drawString("這是一個(gè)Java Applet 程序",10,30); /在Java Applet中繪制一行文字:“這是一個(gè)Java Applet 程序” 【代碼:g.
2、setColor(Color.red);】 /將當(dāng)前字體顏色設(shè)置為紅色 g.setFont(new Font("宋體",Font.BOLD,36); 【代碼:g.drawString(“我改變了字體”,10,100);】/在Java Applet中坐標(biāo)(10,100)處繪制一行文字:“我改變了字體” (1) 將源文件保持為FirstApplet.java,編譯源文件。編譯命令:【代碼javac FirstApplet】(2) 編寫一個(gè)html文件FirstApplet.html,將該文件和源程序保持在同一目錄下。文件內(nèi)容如下: <html> <applet
3、 code="【代碼】" height=300 width=400> </applet> </html>(3) 若用appletviewer打開FirstApplet.html文件。運(yùn)行命令為:【代碼appletviewer FirstApplet】2. 要求:從鍵盤輸入任意兩個(gè)實(shí)數(shù),比較兩個(gè)數(shù)字的大小,將較大的數(shù)輸出。數(shù)據(jù)輸入和輸出用Java的標(biāo)準(zhǔn)輸入流和輸出流來實(shí)現(xiàn)。閱讀分析下面程序,將程序中的代碼補(bǔ)充完整,實(shí)現(xiàn)數(shù)據(jù)比較功能。import java.util.Scanner;public class CompareTwoNumbers do
4、uble number1,number2;Scanner scanner;public CompareTwoNumbers()System.out.println("請(qǐng)輸入兩個(gè)數(shù)字:");scanner=new Scanner( 代碼1:system.in );/實(shí)例化一個(gè)Scanner對(duì)象;number1= 代碼2 :scanner.nextDouble() ;/從鍵盤輸入一個(gè)實(shí)數(shù)賦值給number1;number2= 代碼3 :scanner.nextDouble(); ;/ 從鍵盤輸入一個(gè)實(shí)數(shù)賦值給number2;System.out.println("較大
5、的數(shù)值是:"+ 代碼4 :Math.max(number1,number2) );/將number1和number2中的較大值輸出;public static void main(String args)CompareTwoNumbers ct=new CompareTwoNumbers ();System.exit(0); 3猜數(shù)字游戲閱讀分析下面程序,將程序中的代碼補(bǔ)充完整,編輯運(yùn)行查看結(jié)果。/GuessNumber.javaimport javax.swing.JOptionPane;public class GuessNumber public static void mai
6、n (String args ) System.out.println("給你一個(gè)1至100之間的整數(shù),請(qǐng)猜測(cè)這個(gè)數(shù)"); int realNumber=(int)(Math.random()*100)+1; int yourGuess=0; String str=JOptionPane.showInputDialog("輸入您的猜測(cè):"); yourGuess=Integer.parseInt(str); while(【代碼1 : yourGuess != realNumber】) /循環(huán)條件 if(【代碼2 : yourGuess > real
7、Number】) /條件代碼 str=JOptionPane.showInputDialog("猜大了,再輸入你的猜測(cè):"); yourGuess=Integer.parseInt(str); else if(【代碼3 : yourGuess < realNumber】) /條件代碼 str=JOptionPane.showInputDialog("猜小了,再輸入你的猜測(cè):"); yourGuess=Integer.parseInt(str); System.out.println("猜對(duì)了!"); 4String類的常用方法。
8、閱讀分析下面程序,把程序中的代碼補(bǔ)充完整,并查看結(jié)果。/StringExample.javaclass StringExample public static void main(String args) String s1=new String("you are a student"), s2=new String("how are you"); if(【代碼1 :s1.equals(s2)】) / 使用equals方法判斷s1與s2是否相同 System.out.println("s1與s2相同"); else System.ou
9、t.println("s1與s2不相同"); String s3=new String("22030219851022024"); if(【代碼2 :s3.startWith(“220302”)】) /判斷s3的前綴是否是“220302”。 System.out.println("吉林省的身份證"); String s4=new String("你"), s5=new String("我"); if(【代碼3 :pareTo(s5) > 0】)/按著字典序s4大于s5的表達(dá)式。 Syste
10、m.out.println("按字典序s4大于s5"); else System.out.println("按字典序s4小于s5"); int position=0; String path="c:javajspA.java" String fileName=【代碼4 :path.concat(“A.java”);】/獲取path中“A.java”子字符串。 System.out.println("c:javajspA.java中含有的文件名:"+fileName); String s6=new String(&q
11、uot;100"), s7=new String("123.678"); int n1=【代碼5 :Integer.parseInt(s6);】 /將s6轉(zhuǎn)化成int型數(shù)據(jù)。 double n2=【代碼6 :Double.parseDouble(s7);】 /將s7轉(zhuǎn)化成double型數(shù)據(jù)。 double m=n1+n2; System.out.println(m); String s8=【代碼7 :String.valueOf(m);】 /String調(diào)用valuOf(int n)方法將m轉(zhuǎn)化為字符串對(duì)象 position=s8.indexOf(".&
12、quot;); String temp=s8.substring(position+1); System.out.println("數(shù)字"+m+"有"+temp.length()+"位小數(shù)") ; String s9=new String("ABCDEF"); char a=【代碼8 :s9.toCharArray();】 /將s9存放到數(shù)組a中。 for(int i=a.length-1;i>=0;i-) System.out.print(" "+ai); 5掌握嵌套類和內(nèi)部類的概念和用
13、法編寫一個(gè)程序要求定義一個(gè)外部類Outer,然后在Outer類中定義一個(gè)內(nèi)部類Inner和局部類Local,內(nèi)部類Inner和局部類Local的任務(wù)都是顯示出外部類中的數(shù)組元素,然后求出這些數(shù)組元素的平均值。請(qǐng)按模版要求,將代碼補(bǔ)充完整。class Outer private int data;Outer(int x) data = x;void checkInner() Inner innerObj = new Inner();【補(bǔ)充代碼 : innerObj.show();】 / 調(diào)用Inner對(duì)象的show()方法System.out.println("內(nèi)部類計(jì)算的平均值: &
14、quot; + innerObj.average();void checkLocal() class Local void show() System.out.print("從局部類顯示數(shù)組元素:");for (int i = 0; i < data.length; i+) System.out.print(datai + " ");System.out.println();int average() int sum = 0;for (int i = 1; i < data.length; i+) sum += datai;【補(bǔ)充代碼 ret
15、urn (sum/data.length);】 / 返回data數(shù)組的平均值Local localObj = new Local();localObj.show();System.out.println("局部類計(jì)算的平均值: " + localObj.average();class Inner void show() System.out.print("從內(nèi)部類顯示數(shù)組元素:");for (int i = 0; i < data.length; i+) 【補(bǔ)充代碼 system.out.print(“ “ + datai);】 / 打印data數(shù)
16、組的每個(gè)元素System.out.println();int average() int sum = 0;for (int i = 1; i < data.length; i+) sum += datai;return sum / data.length;public class InnerClassTest public static void main(String args) int a = 6, 8, 9, 22, 34, 7, 2, 1, 15 ;Outer outerObj = new Outer(a);outerObj.checkInner();【補(bǔ)充代碼 outerObj
17、.checkLocal();】 / 調(diào)用outerObj對(duì)象的checkLocal方法6通過一個(gè)簡單的例子理解多態(tài)的概念/* * 人民警察 */public interface IPolice /* * 抓小偷 */ public void catchThief();/* * 一個(gè)警察,執(zhí)行抓小偷任務(wù). */public class PoliceReal implements IPolice public void catchThief() System.out.println("抓住小偷了"); /* * 另一個(gè)警察,也執(zhí)行抓小偷任務(wù). */public class Po
18、liceHyp implements IPolice public void catchThief() System.out.println("大冷天的抓什么小偷啊,不如偷個(gè)菜."); /* * 市民 */public class Citizen private String mName; public Citizen(String name) mName = name; /* * 市民報(bào)案 */ public void report(IPolice police) System.out.println(String.format("市民%s丟失手機(jī),向警察報(bào)案抓
19、小偷.", mName); police.catchThief(); 案情:市民雖然向警察報(bào)了案, 但你不知道能不能把小偷抓住, 甚至你都不知道他們有沒有去抓小偷, 還有可能你在電影里看到的劇情真的發(fā)生了. 事情經(jīng)過可能是這樣:public class Main public static void main(String args) Citizen citizen = new Citizen("張三"); IPolice police = getPolice(); citizen.report(police); private static IPolice ge
20、tPolice() return new PoliceReal(); 事情結(jié)果一:市民張三丟失手機(jī),向警察報(bào)案抓小偷.抓住小偷了事情經(jīng)過也可能是這樣:public class Main public static void main(String args) Citizen citizen = new Citizen("張三"); IPolice police = getPolice(); citizen.report(police); private static IPolice getPolice() return new PoliceHyp(); 事情結(jié)果二:市民張三
21、丟失手機(jī),向警察報(bào)案抓小偷.大冷天的抓什么小偷啊,不如偷個(gè)菜.事情經(jīng)過還可能是這樣:public class Main public static void main(String args) Citizen citizen = new Citizen("張三"); IPolice police = getPolice(); citizen.report(police); private static IPolice getPolice() return new PoliceReal() Override public void catchThief() System.ou
22、t.println("抓小偷?笑話,抓了小偷我哪兒收保護(hù)費(fèi)去啊."); ; 事情結(jié)果三:市民張三丟失手機(jī),向警察報(bào)案抓小偷.抓小偷?笑話,抓了小偷我哪兒收保護(hù)費(fèi)去啊.7閱讀并分析以下程序,將程序中的代碼補(bǔ)充完整。public class CalendarFrame extends Frame implements ActionListener Label labelDay=new Label42; Button titleName=new Button7; String name="日","一","二","
23、;三", "四","五","六" Button nextMonth,previousMonth; int year=2006,month=10; CalendarBean calendar; Label showMessage=new Label("",Label.CENTER); public CalendarFrame() Panel pCenter=new Panel(); 【代碼1 :pCenter.setLayout(new GridLayout(7,7);】 /將pCenter的布局設(shè)置為7行
24、7列的GridLayout 布局。 for(int i=0;i<7;i+) titleNamei=new Button(namei); 【代碼2 : pCenter.add(titleNamei);】/pCenter添加組件titleNamei。 for(int i=0;i<42;i+) labelDayi=new Label("",Label.CENTER); 【代碼3 : pCenter.add(labelDayi);】/pCenter添加組件labelDayi。 calendar=new CalendarBean(); calendar.setYear(y
25、ear); calendar.setMonth(month); String day=calendar.getCalendar(); for(int i=0;i<42;i+) labelDayi.setText(dayi); nextMonth=new Button("下月"); previousMonth=new Button("上月"); nextMonth.addActionListener(this); previousMonth.addActionListener(this); Panel pNorth=new Panel(), pSou
26、th=new Panel(); pNorth.add(previousMonth); pNorth.add(nextMonth); pSouth.add(showMessage); showMessage.setText("日歷:"+calendar.getYear()+"年"+ calendar.getMonth()+"月" ); ScrollPane scrollPane=new ScrollPane(); scrollPane.add(pCenter); 【代碼4 :add(“Center”,scollPane);】/ 窗口添加
27、scrollPane在中心區(qū)域 【代碼5 :add(“North”,pNorth);】/ 窗口添加pNorth 在北面區(qū)域 【代碼6 :add(“South”,pSouth);】/ 窗口添加pSouth 在南區(qū)域。 public void actionPerformed(ActionEvent e) if(e.getSource()=nextMonth) month=month+1; if(month>12) month=1; calendar.setMonth(month); String day=calendar.getCalendar(); for(int i=0;i<42;
28、i+) labelDayi.setText(dayi); else if(e.getSource()=previousMonth) month=month-1; if(month<1) month=12; calendar.setMonth(month); String day=calendar.getCalendar(); for(int i=0;i<42;i+) labelDayi.setText(dayi); showMessage.setText("日歷:"+calendar.getYear()+"年"+calendar.getMon
29、th()+"月" ); 8使用滾動(dòng)條改變背景顏色程序功能:移動(dòng)滾動(dòng)條可以改變背景顏色。閱讀并分析以下程序,將程序中的代碼補(bǔ)充完整。public class KY7_2 extends Applet implements AdjustmentListener Scrollbar r1, r2, r3;int red, green, blue;TextField t;Label a;public void init() setLayout(null);r1 = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255);r2 = new
30、Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255);r3 = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255);t = new TextField("0", 5);t.setEditable(false);a = new Label("移動(dòng)滾動(dòng)條可改變背景顏色", Label.CENTER);add(a);a.setBounds(120, 10, 150, 15); 代碼1 :add(r1) ; /添加滾動(dòng)條r1r1.setBounds(20, 30, 100, 2
31、0); 代碼2 :add(r2) ; /添加滾動(dòng)條r2r2.setBounds(140, 30, 100, 20); 代碼3 :add(r3) ; /添加滾動(dòng)條r3r3.setBounds(260, 30, 100, 20);add(t);t.setBounds(20, 120, 220, 18);r1.addAdjustmentListener(this); 代碼4 :r2.addAdjustmentListener(this) ; 代碼5 :r3.addAdjustmentListener(this) ;public void adjustmentValueChanged(Adjustme
32、ntEvent e) red = r1.getValue(); 代碼6 :green = r2.getValue() ; 代碼7 :blue = r3.getValue() ; t.setText("red 的值" + String.valueOf(r1.getValue() + ",green 的值"+ String.valueOf(r2.getValue() + ",blue 的值"+ String.valueOf(r3.getValue();Color c = new Color(red, green, blue); 代碼8 :
33、setBackground(c) ; /設(shè)置背景色9創(chuàng)建電閃雷鳴的動(dòng)畫程序功能:本程序可以通過按鈕控制聲音和動(dòng)畫的開始和停止操作。動(dòng)畫顯示了電閃雷鳴的場(chǎng)面。注意:圖像文件要分別表現(xiàn)不同時(shí)間段的電閃場(chǎng)面,這樣才會(huì)有動(dòng)畫效果。閱讀并分析以下程序,將程序中的代碼補(bǔ)充完整。import java.awt.*;import java.applet.*;import java.awt.event.*;public class KY7_3 extends Applet implements Runnable, ActionListener Image iImages; / 圖像數(shù)組Thread aThrea
34、d;int iFrame; / 圖像數(shù)組下標(biāo)AudioClip au; / 定義一個(gè)聲音對(duì)象Button b1, b2;public void init() int i, j;iFrame = 0;aThread = null;iImages = new Image10;for (i = 0; i < 10; i+) iImagesi = getImage(getCodeBase(), "images/" + "tu" + (i + 1)+ ".JPG");au = getAudioClip(getDocumentBase(),
35、 "Wav/receivemedia.au"); 代碼1 :au.play(); / 播放一次聲音文件Panel p1 = new Panel();b1 = new Button("開始");b2 = new Button("停止");p1.add(b1);p1.add(b2);b1.addActionListener(this);b2.addActionListener(this);setLayout(new BorderLayout();add(p1, "South");public void start()
36、if (aThread = null) aThread = new Thread(this); 代碼2 :aThread.star(); / 線程啟動(dòng)b1.setEnabled(false);public void stop() if (aThread != null) 代碼3 :aTerrupt(); / 線程中斷aThread = null; 代碼4 :au.stop(); / 停止播放聲音文件public void run() while (true) iFrame+;iFrame %= (iImages.length); / 下一幅圖像的下標(biāo)repaint();try
37、 Thread.sleep(100); catch (InterruptedException e) / 中斷時(shí)拋出break; / 退出循環(huán)public void update(Graphics g) g.drawImage(iImagesiFrame, 0, 0, this);public void actionPerformed(ActionEvent e) if (e.getSource() = b1) && (aThread = null) / 單擊 Start 按鈕時(shí)觸發(fā)aThread = new Thread(this); 代碼5 :aThread.star();
38、 / 線程啟動(dòng)b1.setEnabled(false);b2.setEnabled(true); 代碼6 :au.loop(); / 循環(huán)播放聲音文件if ( 代碼7 :au.stop(); ) / 單擊 Stop 按鈕時(shí)觸發(fā)aTerrupt(); / 線程中斷aThread = null;b1.setEnabled(true);b2.setEnabled(false);au.stop(); / 停止播放聲音文件10要求設(shè)計(jì)一個(gè)能通過Runnable接口實(shí)現(xiàn)多線程動(dòng)態(tài)地顯示時(shí)間的Applet程序。閱讀并分析以下程序,將程序中的代碼補(bǔ)充完整,編譯并運(yùn)行程序,查看結(jié)果。impor
39、t javax.swing.*; / Jappletimport java.util.*; / Calendarimport java.awt.*; / Graphicspublic class AppletThreaded extends JApplet 代碼1 :implements Runnable Thread appletThread; int hours, mins, secs; Boolean stopFlag;/ applet的start( )方法 public void start() appletThread = new Thread(this); 代碼2 :appletT
40、hread.star(); ; /啟動(dòng)線程 stopFlag=false; / 線程的run( )方法 public void run() while (true) try 代碼3 :Thread.sleep(1000) ; 讓線程休眠時(shí)間為1000 catch(InterruptedException exception) exception.printStackTrace(); /產(chǎn)生一個(gè)代表當(dāng)前時(shí)間的Calendar子類的實(shí)例 Calendar time = Calendar.getInstance(); hours = time.get(Calendar.HOUR); mins = t
41、ime.get(Calendar.MINUTE); secs = time.get(Calendar.SECOND); System.out.println("秒 : " + secs); 代碼4 :repaint(); ; /刷新顯示時(shí)間 if(stopFlag) break; public void stop() stopFlag=true; public void paint(Graphics g) super.paint(g); g.drawString(String.valueOf(hours) + ":" + String.valueOf(m
42、ins) + ":" + String.valueOf(secs), 50 , 50); 11編寫一個(gè)應(yīng)用程序,除了主線程外,還有兩個(gè)線程:first和second。first負(fù)責(zé)模擬一個(gè)紅色的按鈕從坐標(biāo)(10,60)運(yùn)動(dòng)到(100,60);second負(fù)責(zé)模擬一個(gè)綠色的按鈕從坐標(biāo)(100,60)運(yùn)動(dòng)到(200,60)。閱讀并分析以下程序,將程序中的代碼補(bǔ)充完整。/MoveButton.javaimport java.awt.*;import java.awt.event.*;public class MoveButton extends Frame implements
43、Runnable,ActionListener 【代碼1:Thread first,second;】 /用Thread類聲明first,second兩個(gè)線程對(duì)象 Button redButton,greenButton,startButton; int distance=10; MoveButton() 【代碼2 :first = new Thread ();】 /創(chuàng)建first線程,當(dāng)前窗口做為該線程的目標(biāo)對(duì)象 【代碼3 : second = new Thread ();】 /創(chuàng)建second線程,當(dāng)前窗口做為該線程的目標(biāo)對(duì)象 redButton=new Button(); greenBut
44、ton=new Button(); redButton.setBackground(Color.red); greenButton.setBackground(Color.green); startButton=new Button("start"); startButton.addActionListener(this); setLayout(null); add(redButton); redButton.setBounds(10,60,15,15); add(greenButton); greenButton.setBounds(100,60,15,15); add(
45、startButton); startButton.setBounds(10,100,30,30); setBounds(0,0,300,200); setVisible(true); validate(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); public void actionPerformed(ActionEvent e) try first.start(); second.start(); catch(Exception exp
46、) public void run() while(true) if(【代碼4 :Thead.currentThread() = first】) /判斷當(dāng)前占有CPU資源的線程是否是first moveComponent(redButton); try Thread.sleep(20); catch(Exception exp) if(【代碼5 :Thread.currentThread() = second】) /判斷當(dāng)前占有CPU資源的線程是否是second moveComponent(greenButton); try Thread.sleep(10); catch(Exception exp) public synchronized void moveComponent(Component b) if(Thread.currentThread()=first) while(distance>100&&distance<=200) try wait(); catch(Exception exp) distance=distance+1; b.setLocation(distance,60); if
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度塔吊司機(jī)應(yīng)急救援預(yù)案編制合同4篇
- 2025年度專業(yè)消防滅火器批發(fā)與零售合同
- 二零二五年度水泥市場(chǎng)拓展銷售代理合同
- 2025年度房屋買賣合同更名及過戶手續(xù)辦理協(xié)議
- 2025年度自建房農(nóng)村集體土地經(jīng)營權(quán)流轉(zhuǎn)合同
- 2025年度貴重首飾物品借款抵押擔(dān)保協(xié)議
- 2025年度餐飲管理公司營業(yè)執(zhí)照轉(zhuǎn)讓及連鎖經(jīng)營合同
- 2025年度河道疏浚與河道綠化合同書簡版
- 二零二五年度門面房屋租賃合同(含物聯(lián)網(wǎng)技術(shù)在商業(yè)應(yīng)用)
- 2025年度原創(chuàng)小說著作權(quán)許可使用及改編協(xié)議
- 2024年上海核工程研究設(shè)計(jì)院股份有限公司招聘筆試沖刺題(帶答案解析)
- 眼的解剖結(jié)構(gòu)與生理功能課件
- 2024年銀行考試-興業(yè)銀行筆試參考題庫含答案
- 泵站運(yùn)行管理現(xiàn)狀改善措施
- 2024屆武漢市部分學(xué)校中考一模數(shù)學(xué)試題含解析
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術(shù)標(biāo)準(zhǔn)》
- 浙教版七年級(jí)下冊(cè)科學(xué)全冊(cè)課件
- 弧度制及弧度制與角度制的換算
- 瓦楞紙箱計(jì)算公式測(cè)量方法
- DB32-T 4004-2021水質(zhì) 17種全氟化合物的測(cè)定 高效液相色譜串聯(lián)質(zhì)譜法-(高清現(xiàn)行)
- DB15T 2724-2022 羊糞污收集處理技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論