Red de conocimiento informático - Conocimiento de la instalación - Código fuente del sitio web del concurso

Código fuente del sitio web del concurso

¡El viejo!

= = = = código = = = =

Paquete com

Importar Java.awt.borderlayout;

Importar Java.awt .diseño de flujo;

Importar evento de acción Java .

Importar evento de Java . list;

Importar javax.swing.jbutton;

Importar javax.swing.jframe;

Importar javax.swing.jlabel;

Importar javax.swing.jlist;

Importar javax.swing.jpanel;

Importar javax.swing.jtextfield;

/**

*Partido de tenis

* @Author Chris

* @ClassName: Partido

* @Version

* @Modify

* @ Copyright @ 2010H&l Technology Company.

* @ fecha 2011-5-24AM 11:29:39

* @Descripción

*/

Implementación de coincidencia de clase pública ActionListener{

JFrame privado f;

JTextField privado tf

Contenedor JPanel privado;

JList privado myList

Mensaje privado de JLabel;

JButton privado b;

/**

* @authorChris

* @title: main

* @fecha 2011-5-23 11:07:27 AM

* @param parámetro void

*/

Vacío estático público main(String[] args) {

Partido t = nuevo Partido();

t go();

}

Public void go(){

F = new JFrame("Competición");

f.setLocation(100, 200);

f .setSize (600, 500);

Contenedor = nuevo JPanel(nuevo BorderLayout());

f.setContentPane(contenedor);

Título de JPanel = nuevo JPanel (nuevo FlowLayout());

TF = nuevo JTextField(10);

título agregar(TF);

b = nuevo JButton( " OK. ");

b . addactionlistener(this);

title . add(b);

mensaje = new JLabel();

title.add(mensaje);

container.add(title, BorderLayout.

Norte);

mi lista = new JList();

container.add(myList, BorderLayout. Center);

f. ;

}

/**

*Muestra los resultados de la competencia.

* @authorChris

* @title:show

* @date 2011-5-24 11:31:05 am

* @param n void

*/

Visualización de vacío privado (entero){

c = nueva crisis(n);

Lista<List<string[]>>result = c.get result();

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

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

StringBuilder sb = new StringBuilder();

Alguien agrega ("ésimo"). Agregar (i+1). append("Día:");

Lista & ltstring[]& gt; matchList = resultado .

for(String[] match : matchList){<. /p>

Alguien agrega ("["). agregar(coincidencia[0]). añadir("-"). añadir(coincidencia[1]). append("]");

}

str[I]= sb .

}

mi lista. . setlistdata(str);

mensaje . settext(" "

f . >/**

*Borrar datos

* @authorChris

* @title:Clear

* @ fecha 2011- 5- 24 a.m. 11:30:36 void

*/

Vacío privado clear(){

string[]str = { " " };

p>

mi lista . setlistdata(str);

mensaje . settext(" ");

}

acción de anulación pública realizada (evento de acción). e){

clear();

cadena s = TF . gettext();

if (s == nulo || " ".

igual(s = s . trim()){

Message.setText("Ingrese un número par");

}

Pruebe {

int n = entero . analizar int(s);

If (n & lt= 0 || n % 2!= 0) {

Message.setText ( "Ingrese un número par");

} De lo contrario {

Mostrar (n); Excepción ex ) {

Message.setText("Ingrese un número par");

}

f . >

}

}

Segunda lección:

Paquete com

Importar Java util .

Importar Java.util.hashmap;

Importar Java.util.lista enlazada;

Importar Java.util.list;

Importar Java.util . map;

Importar Java . util . aleatorio;

Crisis de clase pública {

/* *Número de jugadores*/

Private int n

/* *Juegos que cada atleta nunca ha jugado clave: nombre del jugador, valor: conjunto de juegos a jugar*/

Mapa privado< string, list & ltstring []& gt;& gtplayerMacth

/* *Nombre del jugador*/

Cadena privada[] jugador;

/* *Colección de distribución diaria final del juego * /

Lista de distribución individual<List<string[]>>Result;

/* *Todos los concursos opcionales*/

Lista de distribución personal<List<string[]>>allMatchData[];

/* *Juegos diarios*/

Lista<string[]>dayMatch

/* *Objeto aleatorio*/

Privado aleatorio r;

/* *Número de días calculado actualmente*/

privado int nowDay

Crisis pública (internacional)

this. n = n

playerMacth = new HashMap<String,List<string[]>> ();;

resultado = new ArrayList & ltlist& ltstring[]& gt();

allMatchData = nueva lista enlazada[n-1];

p>

r = new Random()

init(); >go();

}

/ **

*Inicializar reproductor

* @authorChris

* @title: init

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

*/

Init privado void(){

//Define el nombre del jugador, representado por números, a partir de 1 inicio.

jugadores = new string [n];

for(int I = 0; i< jugadores.length; i++) {

//Definición Nombre del jugador.

players[I]= string . value of(I+1);

//Almacena el conjunto de juegos que cada jugador quiere jugar.

List<string[]>matchList = new LinkedList <string[]>();

//Colección de juegos del jugador

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

//Componente del reproductor, sin cambios

//playerlistconst add(players[I]);

}

<. p>//Definir el juego de todos

for(int I = 0; i& ltplayers . length-1; i++) {

for( int j = I+1; j & lt player.length; j++) {

string[]match = {player[i], player[j]} //Definir una competencia

//Agregar este evento al colección de partidos del jugador correspondiente.

jugadorMacth.get(jugadores[i]). agregar(partido);

jugadorMacth.get(jugadores[j]). Agregar (coincidir);

}

}

}

/**

* Obtener aleatoriamente el número actual de días que se puede jugar la combinación de partidos, y la combinación de partidos se elimina del conjunto total.

*Si no hay juegos en los días actuales, obtén los juegos primero y luego al azar.

* @authorChris

* @title: getNowDayMatch

* @date 2011-5-24 09:48:23 a.m.

* @return list<string[]>

*/

Lista de distribución personal<string[]>getNowDayMatch(){

if(allMatchData[nowDay]= = null){

setAllMatchNowDay();

}

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

int index = r . nextint(allMatchData[ahora día].size());

List<string[]>list = allMatchData[ahoraDía]. get(index);

allMatchData[nowDay]. Eliminar(index);

Devolver pedido;

} De lo contrario {

Devolver nulo

}

}

/**

*Cancelar el juego del día anterior.

* @authorChris

* @title:Cancelar ayer

* @ fecha 2065 438+01-5-24 09:56:12 no válido.

*/

Private voidCancelYesterday(){

//Borrar las combinaciones coincidentes opcionales para la fecha actual.

allMatchData[nowDay]= null;

//Revertir la hora al día anterior.

hoy día-;

//Gana el juego del día anterior

List<string[]>matchList = result.get(hoy día

//Cancelar el juego del día anterior.

resultado . remove(nowDay);

//Restaura los juegos en los que no ha participado cada deportista.

for(String[] coincidencia: matchList){

playerMacth.get(partida[0]). agregar(coincidencia);

playerMacth.get(coincidencia[1]). Add(match);

}

}

Public void go(){

//Número de días de bucle

for(now day = 0;now<n-1;) {

//1. Jugar juegos aleatoriamente

List<string[]>matchList = getNowDayMatch( );

//No existe ninguna combinación competitiva. Vuelve al día anterior y cancela el juego del día anterior. Vuelva al día anterior y omita este bucle.

if (matchList == null) {

cancelar ayer();

Continuar

}

//3 Recorre la competencia para eliminar jugadores y elimina a los jugadores que no están compitiendo.

for(String[] coincidencia: matchList){

playerMacth.get(partida[0]). eliminar(coincidencia);

playerMacth.get(coincidencia[1]). eliminar(match);

}

resultado add(matchList);

hoy día++;

}

}

/**

* A partir del jugador 1, obtén todos los eventos combinables del día.

* @authorChris

* @title: setAllMatchNowDay

* @date 2011-5-24 09:42:51 No válido por la mañana.

*/

Nulo privado setAllMatchNowDay(){

allMatchData[nowDay] = nueva lista vinculada<list<string[]>>( );

int n = 1; //Atleta No. 1

//Este atleta no ha participado en competiciones.

Lista & ltstring[]& gt; matchList = player macth . get(string . value of(n)); p>

Lista<string[]>selectedList = new ArrayList <string[]>();

lista seleccionada add(match);

doDetAllMatchNowDay (n+1, lista seleccionada);

}

}

/**

*Todas las combinaciones del juego de hoy

/** p>

* @authorChris

* @title: doDetAllMatchNowDay

* @ fecha 2011-5-24 09:46:05AM

* @param playerNum

* @param selectedList void

*/

private void doDetAllMatchNowDay(int player num, List & ltstring[]& gt; selectedList) {

//Nombre del atleta

cadena jugador = cadena valor de(núm jugador);

Bandera booleana = verdadero;

. //Determinar si este atleta es seleccionado.

for(String[]match:lista seleccionada){

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

flag = false

Break;

}

}

//ha sido seleccionado.

if (flag == false) {

//Última persona

if (playerNum == n) {

allMatchData [ ahoraDía]. add(lista seleccionada);

}De lo contrario {

doDetAllMatchNowDay(núm de jugador+1, lista seleccionada);

}

Regresar ;

}

//Este deportista no ha participado en competiciones.

List<string[]>matchList = player macth.get(player);

//Las coincidencias que este jugador puede elegir.

Lista<string[]>canDoList = nueva ArrayList <string[]>();

for(String[] coincidencia: matchList){

flag = true

for(String[]selected:lista seleccionada){

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

if(match[ 1].equal to(selected[0])){

flag = false

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

bandera = false

}

}else{

if(coincidencia[0].

es igual(seleccionado[0])){

bandera = false

}else if(match[0]. es igual(seleccionado[1]){

bandera = false

}

}

}

si (bandera){

puede agregar lista. (match);

}

}

//Recorre los juegos que este atleta puede elegir

for(String[. ] coincidencia: canDoList){

List& ltstring[]& gt; new list = copyArrayList(lista seleccionada);

//Grabar el juego actual

new list . add(match);

//Última persona

if (playerNum == n) {

allMatchData[nowDay]. >

} En caso contrario {

doDetAllMatchNowDay(número de jugador+1, nueva lista

}

}

}<); /p>

/**

*Copiar colección

* @authorChris

* @title: copyArrayList

* @ fecha 2011-5-24 09:24:44 am

* @param list

* @return list<string[]>

*/

Lista de distribución personal<string[]>copiar ArrayList(List<string[]>List){

List<string[ ]& gt;newList = new ArrayList & ltstring[]& gt;();

for(String[] s : lista){

nuevaLista.add

}

Devolver nuevaLista

}

Lista pública<list<string[]>>getResult() {

Devolver resultados;

}

}