首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请完成下列Java程序:用Swing实现一个简单的学生成绩管理器,显示出学生的姓名、Java成绩、C++成绩和这两门课的平均成绩,学生一共有4个人(Mike,Jack等)。要求可以修改学生的姓名和成绩,并且能够直接计算出平均成绩,如改变Mike的java成
请完成下列Java程序:用Swing实现一个简单的学生成绩管理器,显示出学生的姓名、Java成绩、C++成绩和这两门课的平均成绩,学生一共有4个人(Mike,Jack等)。要求可以修改学生的姓名和成绩,并且能够直接计算出平均成绩,如改变Mike的java成
admin
2009-01-15
54
问题
请完成下列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全国计算机二级
相关试题推荐
操作对象是两个表的关系运算是()。
下列不属于软件工程3个要素的是()。
页框控件也称作选项卡控件,在一个页框中可以有多个页面,页面个数的属性是()。
以下数据结构中,属于非线性数据结构的是()。
(1)打开程序文件progen:prg,按文件中给出的功能要求改正其中的错误,以文件名prognew.prg重新保存该文件并运行程序。(2)建立项层表单,表单文件名为myform.scx,表单控件名为myform,表单标题为“顶层表单”。为项层表单建立菜
在考生文件夹下完成下列操作:(1)用命令新建一个名为“外汇”的数据库,并将该命令存储于one.txt中。(2)将自由表“外汇汇率”、“外汇账户”、“外汇代码”加入到新建的“外汇”数据库中。(3)用SQL语句在“外汇”数据库中新建一个数据库表rate,
设有两个数据库表,父表和子表之间是一对多的联系,为控制子表和父表的联系,可以设置“参照完整性规则”,为此要求这两个表
表示2012年9月10目的日期常量是
在VisualFoxPro中,下列关于SOL表定义语句(CREATETABLE)的说法中错误的是
在SOL语言中,删除表命令的关键词是()。
随机试题
A.尿比重>1.020,尿钠<20mmol/LB.尿比重<1.020,尿钠>40mmol/LC.尿比重低,血中血细胞比容下降,补液后尿量每日仍<400ml/dD.尿比重>1.030。血细胞比容增加,补液后尿量显著增加E.每日尿量>1000m
有关公文印章的犯罪,以下说法正确的是()
甲将乙杀害,经鉴定甲系精神病人,检察院申请法院适用强制医疗程序。关于本案,下列哪一选项是正确的?(2016年卷二42题)
关于非法证据的排除,下列哪些说法是正确的?(2012年卷二67题,多选)
下列关于混凝土路面伸缩缝构造设计的表述,哪一条是错误的?[2004年第061题]
根据计量法,下列计量标准器具中,县级以上人民政府计量行政部门需要进行强制检定的有()。
生成性学习就是要训练学生对所阅读的东西产生一个_______,以加强其深层理解。
专政职能是发挥民主职能的社会基础。()
(2011上项管)甲乙两个公司在项目实施过程中,对合同的生效时间产生了分歧。仲裁机构调查时发现以下事实:①双方签署的合同上并没有对合同的生效日期做出规定;②双方签署合同的过程如下:乙公司在拟定好合同文本并签署后以邮寄的方式寄给甲公司,信封上盖有乙公司所在地
AlongwiththegrandviewoftheGreatWall,travelerstoPekingshouldn’tmisstryingthePekingRoastedDuck.Toenjoythefam
最新回复
(
0
)