谁能帮我做一下关于“java程序考查的办法”作业。 我感激不尽,做成我还会追加分。

《JAVA程序设计》考查办法

JAVA程序设计课程是我院计算机科学与技术专业高中起点本科及专科起点本科开设的专业必修课程,共3学分,本门课程采用考查方式进行考核,具体办法如下:
一、考查内容:
(一)理论部分:采取综合作业形式,学生在规定时间完成学院安排的作业。
(二)实践部分:在规定时间完成程序设计和设计报告。
从下列题目中选取2个进行设计,要求参看“考查方法与要求”:
1、编写一个记事本程序
要求:
用图形用户界面实现。
能实现编辑、保存、另存为、查找替换等功能。
提示:使用文件输入输出流。
2、模拟龟兔赛跑
要求:
用图形用户界面实现;
能设置比赛时间,马匹的数量等等;
在任意时间段内马匹的速度是随机的;
开始比赛之后以动画显示赛马过程。
提示:使用多线程
3、学生信息管理系统
要求:
使用图形用户界面;
用数据库建立1或2个学生信息表;(不限使用哪种数据库)
能连接数据库并实现查询、增、删、改等功能。
4、图书信息管理系统
要求:
使用图形用户界面;
用数据库建立1或2个图书信息表;(不限使用哪种数据库)
能连接数据库并实现查询、增、删、改等功能。
5、聊天小程序
要求:
使用图形用户界面;
能实现一个聊天室中多人聊天;
可以两人私聊。
提示:使用socket通信
6、万年历
要求:
使用图形用户界面;
实现日期与星期的查询。
7、网络监听程序
要求:
使用图形用户界面;
有服务器和客户端,服务器监听客户端的登陆。即:如果A客户端登陆服务器,则服务器界面上的A字母对应的红灯变成绿色;
绿灯表示连接,红灯表示断线。
提示:socket的监听方法
8、全球通计费程序
要求:
使用图形用户界面;
使用真实的全球通资费标准,模拟统计一个特定号码的一个月的实时话费;
能根据输入实现各种用户的话费的计算并显示月实时帐单。
提示:使用接口和多个子类实现分别表示金卡、银卡等各种套餐的话费计算。
二、考查方法与要求:
(一)理论部分占考查成绩的30%
学生需在课程考试之前将作业交至所属学习中心,由学习中心统一批改,并将作业整理留存,学院定期抽查。
(二)实践部分占考查成绩的70%。
1、题目完成后,要上交一个设计报告,包括下列内容:
1)设计分析(明确题目要求,进行需求分析);
2)程序结构(画流程图);
3)各模块的功能及程序说明;
4)源程序(Java源程序应加上详尽的注释语句,对所设计的类、属性、方法说明其用途,对方法的调用说明其用意和使用参数的原因。特别是有深刻理解、有独特见解的地方,用注释语句加以说明);
5)操作方法(流程);
6)试验结果(包括输入的测试数据和输出结果);
7)设计体会。
2、学生需在课程考试之前完成程序设计和报告,程序设计刻录成光盘,设计报告以文本形式提交,将光盘和报告交至学习中心,由学习中心汇总整理,在规定时间内交于学院。学院根据最终完成的设计报告的格式与内容,以及程序设计的工作量、质量、难易程度进行评定,成绩合格者可取得相应学分。

陕西师范大学网络教育学院

学生信息管理,给分吧。。。。

//
//
package com.lz.db;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Vector;

import javax.swing.*;
import javax.swing.filechooser.FileFilter;
import javax.swing.table.TableColumn;

public class Student extends JFrame implements ActionListener{

JDesktopPane desktop;

public Student(){
super("学生");
int inset = 50;
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(inset, inset,
screenSize.width - inset*2,
screenSize.height - inset*2);

//Set up the GUI.
desktop = new JDesktopPane(); //a specialized layered pane

setContentPane(desktop);
setJMenuBar(createMenuBar());

//Make dragging a little faster but perhaps uglier.
desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
}

//
protected JMenuBar createMenuBar() {
JMenuBar menuBar = new JMenuBar();

JMenu menu = new JMenu("数据库操作");
menu.setMnemonic(KeyEvent.VK_D);
menuBar.add(menu);

JMenuItem menuItem;
//
menuItem = new JMenuItem("浏览");
menuItem.setMnemonic(KeyEvent.VK_N);
menuItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_N, ActionEvent.ALT_MASK));
menuItem.setActionCommand("select");
menuItem.addActionListener(this);
menu.add(menuItem);
//
menuItem = new JMenuItem("增加");
menuItem.setMnemonic(KeyEvent.VK_N);
menuItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_N, ActionEvent.ALT_MASK));
menuItem.setActionCommand("insert");
menuItem.addActionListener(this);
menu.add(menuItem);
//
menuItem = new JMenuItem("修改");
menuItem.setMnemonic(KeyEvent.VK_N);
menuItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_N, ActionEvent.ALT_MASK));
menuItem.setActionCommand("update");
menuItem.addActionListener(this);
menu.add(menuItem);
//
menuItem = new JMenuItem("删除");
menuItem.setMnemonic(KeyEvent.VK_N);
menuItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_N, ActionEvent.ALT_MASK));
menuItem.setActionCommand("delete");
menuItem.addActionListener(this);
menu.add(menuItem);

//Set up the second menu item.
menuItem = new JMenuItem("退出");
menuItem.setMnemonic(KeyEvent.VK_Q);
menuItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_Q, ActionEvent.ALT_MASK));
menuItem.setActionCommand("quit");
menuItem.addActionListener(this);
menu.add(menuItem);

menuBar.add(menu);
return menuBar;
}

//React to menu selections.
public void actionPerformed(ActionEvent e) {
if ("new".equals(e.getActionCommand())) { //new
createFrame();
}
else if("select".equals(e.getActionCommand())){
createBrowFrame();
}
else if("insert".equals(e.getActionCommand())){
createInsertFrame();
}
else if("delete".equals(e.getActionCommand())){
createDeleteFrame();
}
else if("update".equals(e.getActionCommand())){
createUpdateFrame();
}

else { //quit
quit();
}
}

//
protected void createUpdateFrame(){
UpdateFrame frame=new UpdateFrame();
frame.setVisible(true);
desktop.add(frame);

try{
frame.setSelected(true);
}catch(Exception e){

}
}
//
protected void createDeleteFrame(){
DeleteFrame frame=new DeleteFrame();
frame.setVisible(true);
desktop.add(frame);

try{
frame.setSelected(true);
}catch(Exception e){

}
}
//
protected void createInsertFrame(){
InsertFrame frame=new InsertFrame();
frame.setVisible(true);
desktop.add(frame);

try{
frame.setSelected(true);
}catch(Exception e){

}
}

protected void createBrowFrame(){
BrowFrame frame=new BrowFrame();
frame.setVisible(true);
desktop.add(frame);
try{
frame.setSelected(true);
}catch(Exception e){

}
}
//Create a new internal frame.
protected void createFrame() {
BrowFrame frame = new BrowFrame();
frame.setVisible(true); //necessary as of 1.3
desktop.add(frame);
try {
frame.setSelected(true);
} catch (java.beans.PropertyVetoException e) {}
}

//Quit the application.
protected void quit() {
System.exit(0);
}

private static void createAndShowGUI() {
//Make sure we have nice window decorations.
JFrame.setDefaultLookAndFeelDecorated(true);

//Create and set up the window.
Student frame = new Student();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//Display the window.
frame.setVisible(true);
}

public static void main(String[] args) {

javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
class BrowFrame extends JInternalFrame implements ActionListener{
private JLabel label1,label2,label3;
private JTextField snamefield,snofield,sbirthdayfield;
private JButton okButton;
private JPanel p2;
private DbHelper helper;
//public
public BrowFrame(){
super("BROW" ,
true, //resizable
true, //closable
true, //maximizable
true);//iconifiable

this.setTitle("brow");

setSize(700,300);

String sql;
sql="select * from tblstudent";
helper=new DbHelper();
ResultSet rs=helper.getRs(sql);
ResultSetMetaData md;
int columns=0;
Vector columnNames=new Vector();
Vector data=new Vector();

try{
md=rs.getMetaData();
columns=md.getColumnCount();
int i;
for(i=1;i<=columns;i++){
columnNames.addElement(md.getColumnName(i));
}

while(rs.next()){
Vector row=new Vector(columns);
for(i=1;i<=columns;i++){
row.addElement(rs.getObject(i));
}
data.addElement(row);
}

}catch(Exception e){

}
JTable table=new JTable(data,columnNames);
TableColumn col;
int i;
for(i=0;i<table.getColumnCount();i++){
col=table.getColumnModel().getColumn(i);
col.setMaxWidth(250);
}
JScrollPane scrollPane=new JScrollPane(table);
p2=new JPanel();
p2.add(scrollPane);
this.getContentPane().add(p2,BorderLayout.NORTH);

}
public void actionPerformed(ActionEvent e){

}
}
class DeleteFrame extends JInternalFrame implements ActionListener{
private JLabel label1,label2,label3;
private JTextField snamefield,snofield,sbirthdayfield;
private JButton okButton;
private JPanel p2;
private DbHelper helper;
public DeleteFrame(){
super("删除" ,
true, //resizable
true, //closable
true, //maximizable
true);//iconifiable

this.setTitle("delete");

setSize(700,300);
label1=new JLabel("name");
snamefield=new JTextField(10);
label2=new JLabel("sno");
snofield=new JTextField(10);
label3=new JLabel("出生年月");
sbirthdayfield=new JTextField(10);

okButton=new JButton("确定");
okButton.setActionCommand("ok");
okButton.addActionListener(this);

p2=new JPanel();
p2.add(label1);
p2.add(snamefield);
p2.add(label2);
p2.add(snofield);
//p2.add(label3);
//p2.add(sbirthdayfield);

p2.add(okButton);

this.getContentPane().add(p2,BorderLayout.NORTH);

helper=new DbHelper();
}
public void actionPerformed(ActionEvent e){
String sql=null;

if(snamefield.getText().trim().length()!=0 && snofield.getText().trim().length()!=0 ){
sql="delete from tblstudent where sname='"+snamefield.getText().trim()+"' and sno='"
+snofield.getText().trim()+"'";
}
else if(snamefield.getText().trim().length()!=0 ){
sql="delete from tblstudent where sname='"+snamefield.getText().trim()+"'";
}
else if(snofield.getText().trim().length()!=0){
sql="delete from tblstudent where sno='"+snofield.getText().trim()+"'";
}
System.out.println(sql);
if(helper.insert(sql)){
JOptionPane.showMessageDialog(null, "delete success");
}
}
}
class InsertFrame extends JInternalFrame implements ActionListener{
private JLabel label1,label2,label3;
private JTextField snamefield,snofield,sbirthdayfield;
private JButton okButton;
private JPanel p2;
private DbHelper helper;
//public
public InsertFrame(){
super("增加" ,
true, //resizable
true, //closable
true, //maximizable
true);//iconifiable

this.setTitle("insert");

setSize(700,300);

label1=new JLabel("姓名");
snamefield=new JTextField(10);
label2=new JLabel("学号");
snofield=new JTextField(10);
label3=new JLabel("出生年月");
sbirthdayfield=new JTextField(10);

okButton=new JButton("确定");
okButton.setActionCommand("ok");
okButton.addActionListener(this);

p2=new JPanel();
p2.add(label1);
p2.add(snamefield);
p2.add(label2);
p2.add(snofield);
p2.add(label3);
p2.add(sbirthdayfield);

p2.add(okButton);

this.getContentPane().add(p2,BorderLayout.NORTH);

helper=new DbHelper();

}
public void actionPerformed(ActionEvent e){
String sql;
sql="insert into tblstudent([sname],[sno],[sbirthday])values('"+snamefield.getText()+"','"+snofield.getText()
+"','"+sbirthdayfield.getText()+"')";
System.out.println(sql);
if(helper.insert(sql)){
JOptionPane.showMessageDialog(null, "增加成功");
}
}
}
class DbHelper{
private static String filename="E:\\will\\prj\\tmp\\demo.mdb";
private static Connection conn=null;
private static String database="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
private Statement s;
public DbHelper(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection(database+filename,"","");
s =conn.createStatement();

}catch(Exception e){
System.out.println("Error: "+e);
}
}
public Boolean insert(String sql){
Boolean b=false;
try{
s.executeUpdate(sql);
b=true;
}catch(Exception e){
System.out.println("Error: "+e);
}
return b;
}
public ResultSet getRs(String sql){
ResultSet rs =null;
try{
rs=s.executeQuery(sql);
}catch(Exception e){
System.out.println(e);
}
return rs;
}

}
class UpdateFrame extends JInternalFrame implements ActionListener{

private JTextField snamefield,snofield,sbirthdayfield,oldsnamefield;
private JLabel label1,label2,label3,label4;
private JButton okButton;

public UpdateFrame(){
super("update" ,
true, //resizable
true, //closable
true, //maximizable
true);//iconifiable

this.setTitle("update");
setSize(700,300);

label1=new JLabel("oldname");
oldsnamefield=new JTextField(10);
label2=new JLabel("new name");
snamefield=new JTextField(10);
label3=new JLabel("new no");
snofield=new JTextField(10);
label4=new JLabel("new birthday");
sbirthdayfield=new JTextField(10);

okButton=new JButton("确定");
okButton.setActionCommand("ok");
okButton.addActionListener(this);

p2=new JPanel();
p2.add(label1);
p2.add(oldsnamefield);
p2.add(label2);
p2.add(snamefield);
p2.add(label3);
p2.add(snofield);
p2.add(label4);
p2.add(sbirthdayfield);

p2.add(okButton);

this.getContentPane().add(p2,BorderLayout.CENTER);

helper=new DbHelper();
}
private DbHelper helper;

public void actionPerformed(ActionEvent e){
String sql;
sql="update tblstudent set sname='"+snamefield.getText().trim()+"',sno='"+snofield.getText().trim()
+"',sbirthday='"+sbirthdayfield.getText().trim()+"' where sname='"+oldsnamefield.getText().trim()+"'";
System.out.println(sql);
if(helper.insert(sql)){
JOptionPane.showMessageDialog(null, "update success");
}
}
private JPanel p2,p3;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-12
简单是简单,可不是两分钟就能弄出来的,以前有过一些什么记事本之类的程序,可不在这电脑上。自己上网找一个就行了本回答被网友采纳
第2个回答  2010-08-12
100不够哦
第3个回答  2010-08-14
100不够哦

请教java高手,下面关于this()构造函数的代码错在哪里?我是初学者,最好...
1、main方法是不属于任何类,只是一个入口。所以你在类里面用ob这个对象就是不对的,而将ob的地方可以用this关键字了。代表本类的对象。所以这个地方也会报错的。2、你在调用get方法的时候你的get方法都写了参数,而你在调用 的时候却没给传值,当然会找不到这个方法 3、Alone5_6() ob=new Alo...

JAVA面试试题,我是初学者下面的题都不会,请大家帮我做做,谢谢了感激不...
23:数组里没有length()这个方法,String中有length()这个方法;24:标识符就是常量、变量、函数自定义的名称。Java标识符由数字、字母、下划线、$组成。首位不能是数字,Java关键字不能当作Java标识符。25:两个if需要执行两次逻辑判定。一个if判定一次,且与else是互补的关系。26:public static void...

请广大网友帮我一下这道Java题目,感激不尽!!在线等,挺急的。。
import java.util.Scanner;public class Account { \/\/私有化变量 private double balance;\/\/get方法 public double getBalance() { return balance;} \/\/set方法 public void setBalance(double balance) { this.balance = balance;} public double deposit(int b){ this.balance=b+this.balance;return...

哪位老师可以带带我学java啊???感激不尽。。。
所以我建议:如果你基本功扎实,你完全可以在简历上写上你已经在企业里实习了半年了,至于在什么 公司你可以和你已经工作的同学商量下,写你同学的公司。实在不行就写我们公司。企业里 看简历主要就是看项目经验,所以你一定要把你的项目经历写详细,用什么架构,有什么功能 等等都写上。有了工作经历肯...

JAVA关于双重for循环的逻辑问,我至今没有想通!!我是初学者,请大家一定...
arr[1][2]=6;第三行arr[2], 然后列从0开始加1(内层循环)arr[2][0]=7,arr[2][1]=8,arr[2][2]=9;这个第一行第二行第三行,则对应的是外层的循环;第二个问题:arr[i][j] 既然知道第一个参数表示行,第二个参数表示列;那调换一下即可,列边行,行变列 a[j][i]

...个黑客给监控了,重装系统没用,哪位兄台能彻底帮帮我。感激不尽...
然后添加需要的tcp 和UDP端口就可以了~如果对端口不是很了解的话,不要轻易进行过滤,不然可能会导致一些程序无法使用。 19、胡言乱语 (1)、TT浏览器 选择用另外一款浏览器浏览网站.我推荐用TT,使用TT是有道理的。 TT可以识别网页中的脚本,JAVA程序,可以很好的抵御一些恶意的脚本等等,而且TT即使被感染,你删除掉...

我记得张悬有首歌。是这样唱的。有点像五月天的回来吧。歌词好像是什么...
张悬-亲爱的 专辑:亲爱的…我还不知道 作词:张悬 作曲:张悬 深深的话要浅浅地说 长长的路要挥霍的走 大大的世界要率真地感受 会痛的伤口要 轻轻的揉 被抱紧的时候 去勇敢的祝福 不被了解的时候 相信自己 值得 永远心疼做过的梦 张悬-亲爱的 作词:张悬 作曲:张悬 在乎的人要傻傻地爱 经历...

帮我总结一下各种文体(记叙文、说明文、议论文)的相关知识。
三、说明的方法 1、常见的说明方法有:举例子、分类别、下定义、摹状貌、作诠释、打比方、列数字、列图表、引用说明。 2、常见说明方法的作用: ①、举例子:通过举具体的实例对事物的特征\/事理加以说明,从而使说明更具体,更有说服力。 ②、分类别:对事物的特征\/事理分门别类加以说明,使说明更有条理性。 ③、...

大三理工科女生,现面临一个培训,但不知是选Java还是嵌入式,跪求业内人...
1.请问去培训的话,选Java还是嵌入式?当然要选择嵌入式,JAVA现在的工资很低,我同事做JAVA四年经验上海也就4500的工资,而嵌入式一般新手就能拿那样的工资,鄙人就是做了多年的嵌入式。2.请问去培训的话,选Java还是嵌入式?先说JAVA,现在的人才已经很多了,所以工资就不高,还有就是JAVA要入门太简单了,导致两年后一些...

JAVA请大家帮帮小弟我,怎么实现输出显示下一页,还有字符串功能的使用...
2. 对齐可以通过预先定义一个固定长度的空格字符串,然后再用 string.replace("")这个方法替换相应的字符 3. 控制台显示交互界面用来学习还可以,真正做的时候不会这么做的。如果做桌面系统,你可以看一下Swing的教程,或者看一下如何用JSP生成html。学习java基础我推荐你个网站 http:\/\/hackerrank.com\/...

相似回答