日程安排源代码java 日程表源码

求助:循环赛—java源代码

以前的!

成都创新互联主营镇坪网站建设的网络公司,主营网站建设方案,app软件开发,镇坪h5成都小程序开发搭建,镇坪网站营销推广欢迎镇坪等地区企业咨询

====代码====

package com;

import java.awt.BorderLayout;

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.List;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JList;

import javax.swing.JPanel;

import javax.swing.JTextField;

/**

* 网球赛

* @author Cris

* @ClassName: Match

* @Version

* @ModifiedBy

* @Copyright @ 2010 HL Technology Inc.

* @date 2011-5-24 上午11:29:39

* @description

*/

public class Match implements ActionListener{

private JFrame f;

private JTextField tf;

private JPanel container;

private JList myList ;

private JLabel message;

private JButton b;

/**

* @author Cris

* @title: main

* @date 2011-5-23 上午11:07:27

* @param args void

*/

public static void main(String[] args) {

Match t = new Match();

t.go();

}

public void go(){

f = new JFrame("比赛");

f.setLocation(100, 200);

f.setSize(600,500);

container = new JPanel(new BorderLayout());

f.setContentPane(container);

JPanel title = new JPanel(new FlowLayout());

tf = new JTextField(10);

title.add(tf);

b = new JButton("确定");

b.addActionListener(this);

title.add(b);

message = new JLabel();

title.add(message);

container.add(title,BorderLayout.NORTH);

myList = new JList();

container.add(myList,BorderLayout.CENTER);

f.setVisible(true);

}

/**

* 显示比赛结果

* @author Cris

* @title: show

* @date 2011-5-24 上午11:31:05

* @param n void

*/

private void show(int n){

Cris c = new Cris(n);

ListListString[] result = c.getResult();

String[] str = new String[result.size()];

for (int i = 0; i result.size(); i++) {

StringBuilder sb = new StringBuilder();

sb.append("第").append(i+1).append("天: ");

ListString[] matchList = result.get(i);

for(String[] match : matchList){

sb.append("[").append(match[0]).append("-").append(match[1]).append("] ");

}

str[i] = sb.toString();

}

myList.setListData(str);

message.setText("");

f.setVisible(true);

}

/**

* 清空数据

* @author Cris

* @title: clear

* @date 2011-5-24 上午11:30:36 void

*/

private void clear(){

String[] str = {""};

myList.setListData(str);

message.setText("");

}

public void actionPerformed(ActionEvent e) {

clear();

String s = tf.getText();

if (s == null || "".equals(s = s.trim()) ) {

message.setText("请输入一个偶数");

}

try {

int n = Integer.parseInt(s);

if (n = 0 || n % 2 != 0) {

message.setText("请输入一个偶数");

}else{

show(n);

}

} catch (Exception ex) {

message.setText("请输入一个偶数");

}

f.setVisible(true);

}

}

第二个类:

package com;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.LinkedList;

import java.util.List;

import java.util.Map;

import java.util.Random;

public class Cris {

/**选手数量*/

private int n ;

/**各个运动员还没进行的比赛 key:球员名称,value:需进行的比赛集合*/

private MapString, ListString[] playerMacth ;

/**球员人名*/

private String[] players ;

/**最终每天的比赛分布集合*/

private ListListString[] result;

/**所有可选的比赛*/

private ListListString[] allMatchData[];

/**每天的比赛*/

ListString[] dayMatch ;

/**一个随机对象*/

private Random r;

/**当前运算到的天数*/

private int nowDay;

public Cris(int n){

this.n = n;

playerMacth = new HashMapString, ListString[]()

result = new ArrayListListString[]();

allMatchData = new LinkedList[n-1];

r = new Random();

init();

go();

}

/**

* 初始化球员

* @author Cris

* @title: init

* @date 2011-5-23 下午04:22:32 void

*/

private void init(){

//定义球员人名,以数字代表,从1开始

players = new String[n];

for (int i = 0; i players.length; i++) {

//定义球员的名字

players[i] = String.valueOf(i+1);

//存放每个球员要进行的比赛的集合

ListString[] matchList = new LinkedListString[]();

//球员赛事集合

playerMacth.put(players[i], matchList);

//球员集合,不变

// playerListConst.add(players[i]);

}

//定义每个人的比赛

for (int i = 0; i players.length -1; i++) {

for (int j = i+1; j players.length ; j++) {

String[] match = {players[i],players[j]};//定义一个比赛

//把此赛事添加到相应球员需比赛集合中

playerMacth.get(players[i]).add(match);

playerMacth.get(players[j]).add(match);

}

}

}

/**

* 随机获得一个当前天数可进行的比赛组合,并把此比赛组合从总集合中移除

* 如果当前天数无比赛,则先获得比赛,再随机

* @author Cris

* @title: getNowDayMatch

* @date 2011-5-24 上午09:48:23

* @return ListString[]

*/

private ListString[] getNowDayMatch(){

if (allMatchData[nowDay] == null) {

setAllMatchNowDay();

}

if (! allMatchData[nowDay].isEmpty()) {

int index = r.nextInt(allMatchData[nowDay].size());

ListString[] list = allMatchData[nowDay].get(index);

allMatchData[nowDay].remove(index);

return list;

}else {

return null;

}

}

/**

* 取消前一天的比赛

* @author Cris

* @title: cancelYesterday

* @date 2011-5-24 上午09:56:12 void

*/

private void cancelYesterday(){

//清空当前天数的可选比赛组合

allMatchData[nowDay] = null ;

//时间恢复到前一天

nowDay--;

//获得前一天的比赛

ListString[] matchList = result.get(nowDay);

//取消前一天的比赛

result.remove(nowDay);

//恢复每个运动员未进行的比赛

for(String[] match : matchList){

playerMacth.get(match[0]).add(match);

playerMacth.get(match[1]).add(match);

}

}

public void go(){

//循环比赛天数

for ( nowDay = 0; nowDay n -1; ) {

//1.随机一个比赛

ListString[] matchList = getNowDayMatch();

//无比赛组合 ,返回上一天 取消上一天的比赛,时间回退到前一天,跳过此次循环

if (matchList == null) {

cancelYesterday();

continue;

}

//3遍历比赛 去除运动员 去除运动员的未进行比赛

for(String[] match : matchList){

playerMacth.get(match[0]).remove(match);

playerMacth.get(match[1]).remove(match);

}

result.add(matchList);

nowDay++;

}

}

/**

* 从1号队员开始,获得当前天数所有可组合的赛事

* @author Cris

* @title: setAllMatchNowDay

* @date 2011-5-24 上午09:42:51 void

*/

private void setAllMatchNowDay(){

allMatchData[nowDay] = new LinkedListListString[]();

int n = 1;//1号运动员

//此运动员未进行的比赛

ListString[] matchList = playerMacth.get(String.valueOf(n));

for(String[] match : matchList){

ListString[] selectedList = new ArrayListString[]();

selectedList.add(match);

doDetAllMatchNowDay(n+1, selectedList);

}

}

/**

* 今天比赛的所有组合

* @author Cris

* @title: doDetAllMatchNowDay

* @date 2011-5-24 上午09:46:05

* @param playerNum

* @param selectedList void

*/

private void doDetAllMatchNowDay(int playerNum,ListString[] selectedList){

//运动员名称

String player = String.valueOf(playerNum);

boolean flag = true;

//判断此运动员是不是已被选过

for(String[] match : selectedList){

if (match[0].equals(player) || match[1].equals(player)) {

flag = false;

break;

}

}

//已被选过

if ( flag == false) {

//最后一个人员

if (playerNum == n) {

allMatchData[nowDay].add(selectedList);

}else{

doDetAllMatchNowDay(playerNum+1, selectedList);

}

return;

}

//此运动员未进行的比赛

ListString[] matchList = playerMacth.get(player);

//此运动员可选择的比赛

ListString[] canDoList = new ArrayListString[]();

for(String[] match : matchList){

flag = true;

for(String[] selected : selectedList){

if(match[0].equals(player)){

if(match[1].equals(selected[0])){

flag = false;

}else if(match[1].equals(selected[1])){

flag = false;

}

}else{

if(match[0].equals(selected[0])){

flag = false;

}else if(match[0].equals(selected[1])){

flag = false;

}

}

}

if (flag) {

canDoList.add(match);

}

}

//遍历此运动员可选择的比赛

for(String[] match : canDoList){

ListString[] newList = copyArrayList(selectedList);

//记录当前比赛

newList.add(match);

//最后一个人员

if (playerNum == n) {

allMatchData[nowDay].add(newList);

}else{

doDetAllMatchNowDay(playerNum+1, newList);

}

}

}

/**

* 复制集合

* @author Cris

* @title: copyArrayList

* @date 2011-5-24 上午09:24:44

* @param list

* @return ListString[]

*/

private ListString[] copyArrayList(ListString[] list){

ListString[] newList = new ArrayListString[]();

for(String[] s : list){

newList.add(s);

}

return newList;

}

public ListListString[] getResult() {

return result;

}

}

java怎么实现日历日程提醒

用数据库吧

首先,保存事件的表蔽岩mem

create table mem(

mid varchar(10) not null prmary key,

mdate date not null,

mem varchar(255),

userid varchar(20) not null

)

-- 如果是简单的单用户的话可以不要这个。

-- 然后用户登录的时候你就可以使用select mem from mem where userid='当前用户' and m_date='今天的日期'就可以盯并镇查询出这个用户添加的凯粗日程提醒了。

求Java日程管理程序代码,急。

图形界面的java开发工具 JDK Borland 的JBuilder JBuilder,JDeveloper,VisualAge for Java jcreater. 常见的十五种Java开发工具的特点 1、JDK (Java Development Kit)Java开发工具集 从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系, 有利于理解Java面向对象的设计思想。JDK的另一个显著特点是随着Java (J2EE、J2SE 以及J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java 应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。 2、Java Workshop 3、NetBeans 与Sun Java Studio 5 NetBeans是开放源码的Java集成开发环境(IDE),适用于各种客户机和Web应用。 Sun Java Studio是Sun公司最新发布的商用全功能Java IDE,支持Solaris、Linux和Win dows平台,适于创建和部告灶署2层Java Web应用和n层J2EE应用的企业开发人员使用。 NetBeans是业界第一款支持创新型Java开发的开放源码IDE。开发人员可以利用业界 强大的开发工具来构建桌面、Web或移动应用。同时,通过NetBeans和开放的API的模块 化结构,第三方能够非常轻松地扩展或集成NetBeans平台。 NetBeans3.5.1主要针对一般Java软件的开发者,而Java One Studio5则主要针对企 业做网络服务等应用的开发者。Sun不久还将推出Project Rave,其目标是帮助企业的开 发者进行软件开发。NetBeans 3.5.1版本与其他开发工具相比,最大区别在于不仅能够唤空 开发各种台式机上的应用,而且可以用来开发网络服务方面的应用,可以开发基于J2ME 的移动设备上的应用等。在NetBeans 3.5.1基础上,Sun开发出了Java One Studio5,为用户提供了一个更加先进的企业编程环境。在新的Java One Studio5里有一个应用框架,开发者可以利用这些模块快速开发自己在网络服务方面 的各种应用程序。 4、Borland 的JBuilder Jbuilder进入了Java集成开发环境的王国,它满足很多方面的应用,尤其是对于服 务器方以及EJB开发者们来说。下面简单介绍一下Jbuilder的特点: 1)Jbuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean以及EJB (Enterprise JavaBeans)的应用。 2)用户可以自动地生成基于后端数据库表的EJB Java类,Jbuilder同时还简化了EJ B的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布 应用程序所必需的接口定义语言Interface Definition Language)和控制远程对象。 3)Jbuilder支持各种应用服务器。Jbuilder与Inprise Application Server紧密集 成,同时支持WebLogic Server,支持EJB 1.1和EJB 2.0,可以快速开发J2EE的电子商务 应用。 4)Jbuilder能用Servlet和JSP开发和调试动态Web 应用。 5)利用Jbuilder可创建(没有专有代码和标记)纯Java2应用。由于Jbuilder是用纯J ava语言编写的,其代码不含任何专属代码和标记,它支持最新的Java标准。 6)Jbuilder拥有专业化的图形调试介面,支持远程调试和多线程调试,调试器支持 各种JDK版本,包括J2ME/J2SE/J2EE。 JBuilder环境开发程序方便,它是纯袜链扮的Java 开发环境,适合企业的J2EE开发;缺点 是往往一开始人们难于把握整个程序各部分之间的关系,对机器的硬件要求较高,比较 吃内存,这时运行速度显得较慢。 5、Oracle 的JDeveloper Oracle9i JDeveloper(定为9.0版,最新为10g)为构建具有J2EE功能,XML和Web services的复杂的,多层的Java应

日程提醒功能(java)

给你一个思路咯,,如果用在提示用在jsp页面的推荐你用js来实现,当页面加载的时候就执行一个判断,判断需要提醒是时间是不是今天,如果汪陆燃是今天就让执行提醒的js代码进入执行状态困虚 即:window.setTimeout(fun,s) 方法,s (等待悉孝时间) 的值需要计算的,假如是10分钟后执行 那们s的值就是 10*1000 以此类推, 如果提醒的时间不是今天那 setTimeout 这个方法就不要执行 这样说部知道你能理解不?


文章标题:日程安排源代码java 日程表源码
文章链接:http://scyanting.com/article/ddpcpej.html