Entero es igual al código fuente
= = = = código = = = =
Paquete com
Importar Java.awt.borderlayout;
Importar Java.awt .diseño de flujo;
Importar evento de acción Java .
Importar evento de acción 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;
/**
* @autor Chris
* @title: principal
* @fecha 2011-5-23 11:07:27 AM
* @param parámetro void
*/
Público estático void main(String[] args) {
Partido t = nuevo Partido();
t go();
}
<. p>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(new 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.North);
mi lista = nueva JList();
contenedor.add(myList, BorderLayout. center);
f set visible(true);
}
/**
< p. >*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 lt lista ltstring[] gt; gt resultado = c . obtener resultado(); cadena[]str = nueva cadena[resultado()]; I = 0; i ltresult . tamaño(); i ) {
StringBuilder sb = new StringBuilder();
sb append("primero"). adjuntar(i 1).
append("Día:");
Lista ltstring[] gt; matchList = resultado.
for(String[] coincidencia: matchList){
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: Borrar
* @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 { p >
int n = entero . analizar int(s);
If (n lt= 0 || n 2!= 0) {
Message.setText(" Introduzca un número par");
} De lo contrario, {
Mostrar (n);
}
} captura (Excepción ex ) {
Message.setText("Ingrese un número par");
}
f . p>}
}
Segunda lección:
Paquete com
Importar Java util . > Importar Java .hashmap;
Importar Java .lista enlazada; ;
Importar Java . util . random;
Crisis de clase pública {
/* *Número de jugadores*/
Int privado n;
/* *Juegos que cada atleta nunca ha jugado clave: nombre del jugador, valor: conjunto de juegos a jugar*/
Mapa privado lt string, lista ltstring[] gt; gtplayerMacth
/* *Nombre del jugador*/
Jugador privado [];
/* *Recopilación final de distribución diaria del juego*/ p>
Lista de distribución personal lt list ltstring [] gt; resultados
/* *Todas las competiciones opcionales*/
Lista de distribución personal lt list ltstring[] gt ; ];
/* *Juego diario*/
Lista ltstring[] gt; dayMatch
/* *Objeto aleatorio*/
Privado aleatorio r;
/* *Número de días calculado actualmente*/
privado int nowDay
Crisis pública (internacional)
this.n = n
playerMacth = nueva cadena HashMap lt, lista ltstring[] gt();;
resultado = nueva ArrayList ltstring[] gt; );
allMatchData = nueva lista enlazada[n-1];
r = new Random();
init();
go();
}
/**
*Inicializar el reproductor
* @author gramos Reese
* @title: init
* @date 2011-5-23 04: 22: 32 pm invalid
*/
Inicio anulado privado (){
//Define el nombre del jugador, expresado como un número, empezando por 1.
jugadores = new string [n];
for(int I = 0; iltplayer.length; i) {
//Definir el nombre de los jugadores.
players[I]= string . value of(I 1);
//Almacena el conjunto de juegos que cada jugador quiere jugar.
Lista ltstring[] gt; matchList = new LinkedList ltstring[] gt ();
//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 competición
//This El evento se agrega a la colección de partidos del jugador correspondiente.
jugadorMacth.get(jugadores[i]). agregar(partido);
jugadorMacth.get(jugadores[j]). Add(match);
}
}
}
/**
* 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 am
* @return list ltstring[] gt;
*/
Lista de distribución personal ltstring[] gt; getNowDayMatch(){
if(allMatchData[ nowDay] = = null){
setAllMatchNowDay();
}
if (!allMatchData[nowDay].isEmpty()) {
int index = r . nextint(allMatchData[now day].size());
Lista ltstring[] gt; allMatchData[nowDay]. get(index);
allMatchData[nowDay]. Eliminar(index);
Devolver pedido;
} De lo contrario {
Devolver nulo
}
}
/**
*Cancelar el juego del día anterior.
* @authorChris
* @title: Cancelar ayer
* @date 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.
día actual-;
//Gana el juego del día anterior
Lista ltstring[] gt; matchList = resultado.
p>
//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; nowltn-1;) {
//1. Jugar juegos aleatoriamente
List ltstring[] gt; matchList = getNowDayMatch();
//No hay combinaciones competitivas. 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.
*/
Private void setAllMatchNowDay(){
allMatchData[nowDay] = nueva lista vinculada lt list ltstring [] gt (); p>
p>
int n = 1; //Atleta No. 1
//Este atleta no ha participado en competiciones.
Lista ltstring[] gt; matchList = jugador macth . get(string . value of(n));
Lista ltstring[] gt; lista seleccionada = new ArrayList ltstring[] gt (); lista seleccionada
doDetAllMatchNowDay(n 1, lista seleccionada). );
}
}
/**
*Todas las combinaciones para el juego de hoy
* @ Autor Chris
* @title: doDetAllMatchNowDay
* @ fecha 2011-5-24 09:46:05AM
* @param playerNum
* @param selectedList void
*/
private void doDetAllMatchNowDay(int player num, List ltstring[] gt; selectedList){
// Atleta nombre
cadena jugador = cadena valor de(núm jugador);
Bandera booleana = verdadero;
//Determina si este atleta está 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(jugador número 1, lista seleccionada
}
Regresar;
}
//Este deportista no ha participado en competiciones.
Liststring[] gt; matchList = player macth .
//Los juegos que este atleta puede elegir.
Lista ltstring[] gt; canDoList = new ArrayList ltstring[] gt (); for(String[] coincidencia: matchList){
flag; = true
for(String[]selected:lista seleccionada){
if(match[0].Equals(player)){
if(match [1]. es igual a(seleccionado[0])){
bandera = false
}si no(coincidencia[1].
es igual a(seleccionado[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){
Lista ltstring[] gt; nueva lista = copyArrayList(lista seleccionada);
//Registrar el juego actual
nueva lista add(match);
//Última persona
if (playerNum == n) {
allMatchData[nowDay]; >}En caso contrario{
doDetAllMatchNowDay(jugador número 1, nueva lista);
}
}
}
/**
*Copiar colección
* @authorChris
* @title: copyArrayList
* @date 2011-5 -24 09:24:44 am
* @param list
* @return list ltstring[] gt;
* /
Lista de distribución personal ltstring[] gt; copiar ArrayList(List lt; string[] gt; list) {
List ltstring[] gt; newList = new ArrayList ltstring[] gt;();
for(String[] s: lista){
newList.add
}
return newList
}
Lista pública lt list ltstring[] gt; gtgetResult() {
Devuelve el resultado
}
}