[多項(xiàng)選擇題] 簡(jiǎn)單應(yīng)用題請(qǐng)完成下列Java程序:用swing實(shí)現(xiàn)一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理器,顯示出學(xué)生的姓名,java成績(jī),c++成績(jī)和這兩門課的平均成績(jī),學(xué)生
[多項(xiàng)選擇題] 簡(jiǎn)單應(yīng)用題請(qǐng)完成下列Java程序:用swing實(shí)現(xiàn)一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理器,顯示出學(xué)生的姓名,java成績(jī),c++成績(jī)和這兩門課的平均成績(jī),學(xué)生一共有4個(gè)人(Mike, Jack等)。要求可以修改學(xué)生的姓名和成績(jī),并且能夠直接計(jì)算出平均成績(jī),如改變Mike的java成績(jī)后,在平均成績(jī)欄會(huì)自動(dòng)更新為新的平均成績(jī)。注意:請(qǐng)勿改動(dòng)main( )主方法和其他已有語句內(nèi)容,僅在下劃線處填入適當(dāng)?shù)恼Z句。程序運(yùn)行結(jié)果如下:import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.table.TableModel;public class ex13_2 extends JFrame{ private JTable jt; private String[][] strData; public static void main(String[] args){ ex13_2 obj13_2=new ex13_2(); obj13_2.pack(); obj13_2.setVisible(true); } public ex13_2(){ String[] columnNames={"name","java","c++","average"}; strData=new String[][]{{"Mike","70.0","80.0","75.0"},{"Jack","70.0","100.0","85.0"},{"David","75.0","95.0","85.0"},{"Tom"
正確答案:(String)jt.getValueAt(nRow,i)strData[nRow][C]=Float.toString(fAverage)
參考解析:本題主要考查用swing基本構(gòu)件設(shè)計(jì)圖形用戶界面,以及對(duì)二維數(shù)組的基本操作。解題關(guān)鍵是熟悉swing基本構(gòu)件JTable的使用方法,熟悉swing的基本事件機(jī)制,會(huì)使用addTableModelListener()來注冊(cè)該模型的一個(gè)TableModelListener,一旦表格內(nèi)容改變,tableChanged()方法會(huì)被執(zhí)行,使用getFirstRow()方法來得到數(shù)據(jù)被改變的行并重新計(jì)算平均值,由于數(shù)組數(shù)據(jù)是用來存儲(chǔ)表格的數(shù)據(jù),可以直接更改該數(shù)組的值。本題中,第1個(gè)空,根據(jù)參數(shù)nRow和i定位相應(yīng)的數(shù)組中的數(shù)據(jù);第2個(gè)空,修改數(shù)組中記錄平均值的單元中的數(shù)據(jù)。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。