首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请完成下列Java程序:用swing实现一个简单的学生成绩管理器,显示出学生的姓名,java成绩,c++成绩和这两门课的平均成绩,学生一共有4个人(Mike,Jack等)。要求可以修改学生的姓名和成绩,并且能够直接计算出平均成绩,如改变 Mike的java
请完成下列Java程序:用swing实现一个简单的学生成绩管理器,显示出学生的姓名,java成绩,c++成绩和这两门课的平均成绩,学生一共有4个人(Mike,Jack等)。要求可以修改学生的姓名和成绩,并且能够直接计算出平均成绩,如改变 Mike的java
admin
2009-01-15
62
问题
请完成下列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 ex13_2 extends JFrame{
private JTable it;
private String[][] strData;
public static void main(String[] args){
ex13_2 objl3_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","60.0","80.0","70.0"}
};
jt=new JTable(strData,columnNames);
jt.setPreferredScrollableViewportSize(new Dimension 400,200));
JScrollPane tp=new JScrollPane(jt);
setTitle("exl3_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(fAverage)
解析
本题主要考查用swing基本构件设计图形用户界面,以及对二维数组的基本操作。解题关键是熟悉swing基本构件JTable的使用方法,熟悉swing的基本事件机制,会使用addTableModelListener()来注册该模型的一个TableModelListener,一旦表格内容改变,tableChanged()方法会被执行,使用getFirstRow()方法来得到数据被改变的行并重新计算平均值,由于数组数据是用来存储表格的数据,可以直接更改该数组的值。本题中,第1个空,根据参数nRow和i定位相应的数组中的数据;第 2个空,修改数组中记录平均值的单元中的数据。
转载请注明原文地址:https://kaotiyun.com/show/VIID777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
某县法院在审理一起民事案件中,为查明案件事实,对一当事人的信件进行拆检,弄清了案情并作出了判决。下列说法中正确的是()。
根据《突发事件应对法》的规定,下列说法正确的是()。
某日,刘某因给朋友过生日而喝醉了。在意识不清的情况下,刘某用刀捅死了前来劝阻其闹事的饭店服务员。下列关于刘某行为的判断正确的是()。
价格机制的核心内容是()。
下列选项中,证明时间、空间和物质运动不可分割的理论是()。
在某次地震发生时,甲地为震中区,乙地为地震波及地区,这两个地区的震级和烈度的关系是()。
《上海县竹枝词》有诗云:“卅年求富更求强,造炮成船法仿洋。海面未收功一战,总归虚牝掷金黄。”与上述内容有关的历史事件是()。
关于加快转变经济发展方式的基本要求,下列说法不正确的是()。
(Ⅰ)设有一块平板竖放在比重为p的液体中,选择位于液体表面的某点为原点D,沿铅直线向下方向为Ox轴正方向,深度为x的地方平板宽度为f(x),平板浸入液体的最小深度和最大深度分别为a和b,试用微元法导出整块平板所受的液体的侧压力的积分表达式.(Ⅱ)
下面程序段的输出结果是()。publicclassTest{publicstaticvoidmain(Stringargs[]){inta,b;for(a=1,b=1;a<=100;a++){if(b>=10)bre
随机试题
关系概念是指根据事物之间的相互关系形成的概念。下列属于关系概念的有()
在单元测试中,必须为每个模块单元测试开发_________和承接模块。
限额设计的总目标是在初步设计开始前,根据批准的( )及其投资估算确定的。
建设工程管理工作是一种增值服务工作,其核心任务是为()增值。
自有资金现金流量表从()的角度出发,以()为计算基础,用于计算自有资金财务内部收益率、净现值等评价指标,考查项目自有资金的盈利能力。
完成等待期内的服务或达到规定业绩条件以后才可行权的以现金结算的股份支付,在可行权日之后,股份支付当期公允价值的变动金额应当计入()。
旅游者在住宿时出示合法身份证件、填写住宿登记表是其合法权利。()
关于明朝会审制度,下列说法不能成立的有
以下关于菜单的叙述中,错误的是
下面有关数据库表和自由表的叙述中,错误的是
最新回复
(
0
)