首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请完成下列Java程序:用Swing实现一个简单的学生成绩管理器,显示出学生的姓名、Java成绩、C++成绩和这两门课的平均成绩,学生一共有4个人(Mike,Jack等)。要求可以修改学生的姓名和成绩,并且能够直接计算出平均成绩,如改变Mike的java成
请完成下列Java程序:用Swing实现一个简单的学生成绩管理器,显示出学生的姓名、Java成绩、C++成绩和这两门课的平均成绩,学生一共有4个人(Mike,Jack等)。要求可以修改学生的姓名和成绩,并且能够直接计算出平均成绩,如改变Mike的java成
admin
2009-01-15
53
问题
请完成下列Java程序:用Swing实现一个简单的学生成绩管理器,显示出学生的姓名、Java成绩、C++成绩和这两门课的平均成绩,学生一共有4个人(Mike,Jack等)。要求可以修改学生的姓名和成绩,并且能够直接计算出平均成绩,如改变Mike的java成绩后,在平均成绩栏会自动更新为新的平均成绩。
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
源程序文件清单如下:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.TableModel;
public class ex03_2 extends JFrame
{
private JTable jt;
private String[][] strData;
public static void main(String[] args)
{
ex03_2 obj03_2=new ex03_2();
obj03_2.pack();
obj03_2.setVisible(true);
}
public ex03_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","60.0","80.0","70.0"}
};
jt=new JTable(strData,columnNames);
jt.setPreferredScrollableViewportSize(new Dimension(400,200));
JScrollPane tp=new JScrollPane(jt);
setTitle("ex03_2");
Container cp=getContentPane();
cp.add(tp,BorderLayout.CENTER);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
}
jt.setSelectionMode(ListSelectionModel.SINGLE SELECTION);
TableModel tm=jt.getModel();
tm.addTableModelListener(new TableModelListener()
{
public void tableChanged(TableModelEvent tme)
{
int nRow=tme.getFirstRow();
float fNum;
float fSum=0;
for(int i=1;i<=2;i++)
{
fNum=Float.parseFloat(_);
fSum+=fNum;
}
float fAverage=fSum/2;
______;
}
}
}
}
选项
答案
(String)jt.getValueAt(nRow,i) strData[nRow][3]=Float.toString(fAve rage)
解析
本题主要考查用swing基本构件设计图形用户界面,以及对二维数组的基本操作。解题关键是熟悉swing基本构件JTable的使用方法,熟悉swing的基本事件机制,会使用 addTableModelListener()来注册该模型的一个 TableModelListener,一旦表格内容改变,tableChanged()方法会被执行,使用getFirstRow()方法来得到数据被改变的行并重新计算平均值,由于数组是用来存储表格的数据,可以直接更改该数组的值。本题中,第1个空,根据参数nRow和i定位相应的数组中的数据;第2个空,修改数组中记录平均值的单元中的数据。
转载请注明原文地址:https://kaotiyun.com/show/SWnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
在VisualFoxPro中,执行SQL的DELETE命令和传统的非SQLDELETE命令都可以删除数据库表中的记录,下面对它们正确的描述是()。
把一个项目编译成一个应用程序时,下面的叙述正确的是()。
在一个空的表单中添加一个选项按钮组控件,该控件可能的默认名称是()。
下列关于类、对象、属性和方法的叙述中,错误的是()。
(1)建立数据库bookauth.dbc,把表books.dbf和authors.dbf添加到该数据库。(2)为authors表建立主索引,索引名“pk”,索引表达式“作者编号”。(3)为books表分别建立两个普通索引,一个索引名为“rk”,索引表达
(1)建立一个文件名和表单名均为two的表单,然后为表单two建立一个名为quit的新方法(单击选择表单后,从“表单”菜单中选择“新建方法程序”命令),并在该方法中写一条语句Thisform.release:最后向表单中添加一个命令按钮(Commandl)
在项目管理器中,将一程序设置为主程序的方法是
下列关于SQL对表的定义的说法中,不正确的选项是()。
接口可以看作是仅容纳上【】、常量,而又不能直接生成对象的特殊抽象类。
下列()不是合法标识符。
随机试题
一辆轿车乘坐5人,其重心高度为hg=0.7m,该车轮距B=1.414m,行驶在水平沥青路面上,附着系数φ=0.6;转弯时转弯半径R=16m,求,此时该车不发生侧滑及侧翻的安全车速是多少?
A.麻疹B.风疹C.水痘D.猩红热E.肠道病毒感染皮肤弥漫性充血,上有密集针尖大小丘疹的是
某男,50岁。体力劳动者,长期从事站立负重工作。双下肢筋脉盘曲突起如蚯蚓状,瘤色紫暗,喜暖,下肢轻度肿胀;伴形寒肢冷,口不渴,小便清长;舌淡暗,苔白腻,脉弦细。诊断为筋瘤,宜选用()
行政诉讼中适用于特殊地域管辖的案件是()。
集装单元化是物流现代化的标志,其实质就是要形成集装单元化系统。()
下列近代重大历史事件按时间先后顺序排列正确的是()。①俄国十月革命②中国共产党成立③五四运动④辛亥革命
根据《行政处罚法》的规定,下列选项中哪个不属于应当依法从轻或者减轻行政处罚的情形?()
下列关于SELECT短语的描述中错误的是
Sociologists(社会学家)tellusthatweareheadingforasocietyleisure.Thetrendisunmistakable.Onehundredyearsago,theypo
Ifyougetintodifficulties,don’thesitatetoask______advice.
最新回复
(
0
)