
大作业要求:
(1)最后提大作业报告电子版,报告内容格式见“JAVA程序设计(大作业)报告格式”要求。
(2)每个学生可任意选择下述十三个题目之一作为大作业,一人一组,完成。
大作业题目:
1、基于java 的记事本
要求:(1) 设计一个登录界面,如果密码正确,则进入主界面(文件编辑器),如果不正确,则给出消息框,提示正确的密码
(2)主界面JFrame的接口至少用到2个
(3)主界面JFrame的窗体要美观,利用Java能够把文本、图像、声音集成在一起。
2、Java版即时聊天程序
功能要求:
(1)用户登录及登录验证:用户能够使用固定帐号(帐号程序内置即可,无需完成额外的注册功能)登录系统,系统能对预定的帐号、密码进行验证。
(2)聊天功能:能够在两台以上的机器上登录运行程序,能使用不同帐号完成在线的即时消息发送(聊天)。
(3)好友管理:能够显示好友列表,并能够添加、修改、删除好友。
(4)在线、离线状态显示:能够显示好友的在线状态或离线状态。
(5)聊天记录管理:能够以文件或数据库形式将聊天记录进行存储,并能打开、显示、删除所存储的聊天记录。
3、【swing类 GUI编程】编写交通信号灯的程序
要求:
(1)设计信号灯组件,该组件提供信号的红,绿,黄三种信号显示输出.
(2)另外,在javax.swing.Timer的定时控制下, 轮流输出三种信号.
(3)在窗口中应该有启动按钮,停止按钮. 并且有时间设置功能.
设置三种状态的显示时间.
(4)可供参考的类有:
java.awt包中
Canvas
Button
TextField
Frame
(5)实现支持信号灯的点击事件, 例如,用鼠标点击红灯, 那么红灯立刻亮,然后再进入到定时三种信号的转换输出.
4、JAVA简易时间日历程序
通过编写一个基于JAVA的应用系统综合实例,自定义一个日历组件显示日期和时间并进行适当的功能扩充,实践Java语言编程技术。
功能:
1)显示当月日历、当前日期、当前时间;
2)可查寻任意月以及任意年的日历;
3)使用图形化界面能够弹出对话框;
5)正常退出程序。
5、设计一个形如windows操作系统附件中的计算器界面,如图所示,界面可以自定义。
主要完成功能:
(1)完成窗口的关闭按钮的功能;
(2)完成清空键功能;(即清空文本框中的内容)
(3)完成数字按钮的功能;(即文本框显示对应数字)
(4)完成基本的”+” ,”-”,”*”,”/”四则运算;
6、模拟龟兔赛跑
要求: 用图形用户界面实现。 能设置比赛时间,马匹的数量等等。 在任意时间段内马匹的速度是随机的。 开始比赛之后以动画显示赛马过程。
7、学生信息管理系统
要求: 使用图形用户界面 实现查询、增、删、改等功能。
8、图书信息管理系统
要求: 使用图形用户界面 实现查询、增、删、改等功能。
9、ATM柜员机模拟程序
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
public class MenuTester extends JFrame implements ActionListener
{
private static final long serialVersionUID = 1L;
private static final String FILE = "d:/1.txt";
JTextArea textArea;
JScrollPane scrollPane;
public MenuTester ()
{
setTitle ("MenuTester");
setLayout (new BorderLayout ());
JMenuBar menuBar = new JMenuBar ();
JMenu[] menu = new JMenu[] { new JMenu ("文件"), new JMenu ("编辑") };
JMenuItem[] menuItem1 = new JMenuItem[] { new JMenuItem ("新建"), new JMenuItem ("打开"), new JMenuItem ("保存"), new JMenuItem ("关闭") };
JMenuItem[] menuItem2 = new JMenuItem[] { new JMenuItem ("复制"), new JMenuItem ("粘贴"), new JMenuItem ("剪切") };
for ( int i = 0; i < menu.length; i++ )
{
menuBar.add (menu[i]);
}
for ( int i = 0; i < menuItem1.length; i++ )
{
menu[0].add (menuItem1[i]);
}
for ( int i = 0; i < menuItem2.length; i++ )
{
menu[1].add (menuItem2[i]);
}
menuItem1[0].addActionListener (this);
menuItem1[1].addActionListener (this);
menuItem1[2].addActionListener (this);
menuItem1[3].addActionListener (this);
setJMenuBar (menuBar);
textArea = new JTextArea ();
scrollPane = new JScrollPane (textArea);
scrollPane.setVisible (false);
add (scrollPane, BorderLayout.CENTER);
setResizable (false);
setSize (800, 600);
setLocationRelativeTo (null);
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
setVisible (true);
}
public static void main ( String[] args )
{
SwingUtilities.invokeLater (new Runnable ()
{
@Override
public void run ()
{
new MenuTester ();
}
});
}
@Override
public void actionPerformed ( ActionEvent e )
{
String command = e.getActionCommand ();
if ("新建".equals (command))
{
scrollPane.setVisible (true);
validate ();
}
else if ("关闭".equals (command))
{
scrollPane.setVisible (false);
textArea.setText ("");
validate ();
}
else if ("打开".equals (command))
{
scrollPane.setVisible (true);
validate ();
try
{
FileReader fr = new FileReader (FILE);
char[] cs = new char[1];
while (-1 != ( fr.read (cs) ))
{
textArea.append (new String (cs));
}
fr.close ();
}
catch (Exception e1)
{
e1.printStackTrace ();
}
}
else if ("保存".equals (command))
{
try
{
FileWriter fw = new FileWriter (FILE);
fw.write (textArea.getText ());
fw.flush ();
fw.close ();
}
catch (IOException e1)
{
e1.printStackTrace();
}
}
}
| } | 
谢谢啦
10、
要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: 1、查询余额:初始余额为10000元 2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。 3、ATM存款:不能出现负存款。 4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
11、电子英汉词典
要求:
能够编辑词典库中的信息 能够实现英译汉,汉译英。
12、加密与解密
要求:
1、给定任意一个文本文件,进行加密,生成另一个文件。
2、对加密后的文件还原。
13、小游戏
要求:
程序随机产生20—50根火柴,由人与计算机轮流拿,每次拿的数量不超过3根,拿到最后一根为胜。
14、 敏感词汇分析
要求:
任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。
