影音先锋AⅤ天堂资源站,13小箩利洗澡无码视频APP,午夜理论片日本中文在线,最近新免费韩国日本电影

萬能百科  > 計算機?  > 

[問答題] 下面是一個Applet程序,其功能是實現(xiàn)一個計數(shù)器,每隔0.15秒計數(shù)器數(shù)值加1,數(shù)值動態(tài)變化,并且能夠控制計數(shù)器的暫停和繼續(xù)。要求通過使用swin

2021-07-20   

[問答題] 下面是一個Applet程序,其功能是實現(xiàn)一個計數(shù)器,每隔0.15秒計數(shù)器數(shù)值加1,數(shù)值動態(tài)變化,并且能夠控制計數(shù)器的暫停和繼續(xù)。要求通過使用swing的構(gòu)件建立圖形用戶界面,主要包括一個文本區(qū)域,用于顯示計數(shù)器結(jié)果;兩個按鈕,一個使計數(shù)器暫停,一個使計數(shù)器繼續(xù)工作。請改正程序中的錯誤(有下劃線的語句),使程序能輸出正確的結(jié)果。注意:不改動程序的結(jié)構(gòu),不得增行或刪行。

import javax, swing. *

import java. awt. *

import java. awt. event. *

/*

<applet code= "ex4_2. class" width=800 height=400>

</applet>

*/

public class ex4_2 extends JApplet

private JTextField jtf=new JTextField(15);

private JButton Hold = new JButton ("Hold"), resume = new JButton ( "Resume" );

private ex4_2th obj4_2th= new ex4_2th();

class ex4_2th extends Thread

private int cnt=0;

private boolean bIsHold=false;

public ex4_2th() start();

public void hold()

bIsHold=true

public synchronized void fauxResume()

bIsHold=false;

wait( );

正確答案:

notify()wait()jtf.setText(Integer.toString(cnt++))

參考解析:

本題主要考查圖形用戶界面,swing以及線程同步、共享、死鎖相結(jié)合的綜合應(yīng)用。解題關(guān)鍵是熟悉wait()方法和notify()方法的含義。 wait()必須被聲明為synchronized,這樣它才能擁有對象鎖。fauxResume()把bIsHold標志設(shè)為false,并調(diào)用notify(),為了喚醒synchronized子句中的wait(),所以notify()也必須被聲明為 synchronized,這樣才能在調(diào)用notify()之前獲得對象鎖(然后該對象鎖才能在wait()執(zhí)行時被運用)。本題中,第一和第二處,應(yīng)該在bIsHold為true時調(diào)用wait(),而在fauxResume()中調(diào)用notify();第三處,需要對int類型作轉(zhuǎn)換才能夠作為String類型輸出,并且要對計數(shù)器變量 cnt做累加。

詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。

標簽

<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>