Red de conocimiento de divisas - Consulta hotelera - Generador de números de lotería de diseño de cursos JAVA

Generador de números de lotería de diseño de cursos JAVA

Tengo un código de Super Lotto que se genera en la consola pero no cuenta la probabilidad del premio. Espero que pueda ayudarte: 1. Hablemos primero de la idea: a. matrices de variables Coloque los 35 números en el área frontal y los 12 números en el área posterior respectivamente. Las variables son las longitudes b de estas dos matrices. Primero, obtenga aleatoriamente los 5 números en el área frontal: Random .nextInt (la variable. de la longitud del área frontal) para obtener el número aleatorio, busque el elemento cuyo subíndice es este número aleatorio en la primera matriz, sáquelo y colóquelo en una variable. Aquí puede determinar el formato. expresiones para determinar si es un dígito y, de ser así, complételo con 0. Luego, elimine este elemento de la matriz. Por supuesto, la variable que almacena la matriz debe restarse en 1 y luego repetir lo anterior 4 veces. obtenga 5 números no repetidos del 1 al 35. c. Igual que el anterior 2. Código adjunto SuperJoyful.javaimport java.util .ArrayList;

importar java.util.Arrays;

importar java.util.List;

importar java.util.Random;

importar java.util.regex.Matcher;

importar java.util. regex.Pattern;/**

* La siguiente es una simulación de una función de selección de números aleatorios de súper lotería, generada estrictamente por probabilidad

* @author Jack

*

*/

public class SuperJoyful {

// Declara una lista para almacenar el número del área frontal

private Listlt; Integergt; objFrontList = new ArrayListlt;

// Declara una lista para almacenar el número del área posterior

private Integergt; );

// Declara un objeto de expresión regular para que coincida si es de un solo dígito, para verificar al generar

Pattern objP = Pattern.compile("\\d");

// La cadena a operar

Matcher objM = null

String[] Front = new String[5]; p> String[] Back = new String[2]; // Inicializa el número de lotería

public void init() {

for (int i = 1; i lt; = 35 ; i) {

objFrontList.add(i);

}

para (int i = 1; i lt; = 12; i) {

objBackList.add(i);

}

} // Iniciar lotería

public void beginLottery(

) {

Random objRandom = new Random();

int nFrontCount = 35; // Número total de números del área frontal

int nBackCount = 12; / Atrás Número total de números de área // Borrar la LISTA antes de la lotería y luego inicializar

objFrontList.clear();

//System.out.println(objFrontList);

objBackList.clear();

//System.out.println(objBackList);

this.init();

/ **

* Genera 5 números de área frontal

*/

para (int i = 0; i lt; 5; i) {

//System.out.println("nFrontCount:" nFrontCount);

//Inicialmente hay 35 códigos de área frontal y se genera un índice aleatoriamente

int nIndex = objRandom.nextInt (nFrontCount);

// Almacena temporalmente el número seleccionado en una variable, con verificación de expresión regular

int nTemp = objFrontList.get(nIndex);

String strTemp = new Integer(nTemp).toString();

// Relaciona el número obtenido con la expresión regular

objM = objP.matcher(strTemp);

boolean flag = objM.matches();

// Si es un solo dígito, agregue ceros delante

if (flag) {

Frontal[i] = ("0" strTemp " ");

} else {

Frontal[i] = (strTemp " ");

}

// Elimina el número de este índice en la LISTA, porque si seleccionas uno, no lo volverás a colocar

objFrontList.remove( nIndex);

//El número total se reduce en uno

nFrontCount--;

}

Arrays.sort(Front );

para (int n = 0

; n lt; Frente.longitud; n ) {

Sistema.out.print(Frontal[n] "\t"); .out.print(" ");

/**

* Generar 2 números de área posterior

*/

para ( int i = 0; i lt; 2; i) {

//System.out.println("nBackCount:" nBackCount);

// Inicialmente hay 12 después del código de área, se genera un índice aleatoriamente

int nIndex = objRandom.nextInt(nBackCount);

// Almacena temporalmente el número seleccionado en una variable, con verificación de expresión regular

int nTemp = objBackList.get(nIndex);

String strTemp = new Integer(nTemp).toString();

// Compara el número obtenido con una expresión regular coincidencia

objM = objP.matcher(strTemp);

boolean flag = objM.matches();

// Si es un solo dígito, entonces rellenar ceros delante

if (flag) {

Back[i] = ("0" strTemp " ");

} else {

Back[i] = (strTemp " ");

}

// Elimina el número en este índice en la LISTA, porque seleccionar uno ya no lo devolverá.

objBackList.remove(nIndex);

// for(int n = 0; nlt; objBackList.size(); n ){

// System.out.println("objBackList:" objBackList.get( n ));

// }

//El número total se reduce en uno

nBackCount--;

}

Arrays.sort(Back);

para (int n = 0; n lt; Back.length; n) {

System.out.print(Volver[n] "\t");

// Ingresa después de generar una apuesta

System.out.println("");

} // Muestra el número de apuestas de lotería según sea necesario

public void outPutLottery(int vnCount) {

for (int i = 0; i lt; vnCount; i) {

this.beginLottery()

}

} /**

* @param args

*/

public static void main(String[] args) {< / p>

SuperJoyful objSJ = new SuperJoyful();

EnterConsole objEC = new EnterConsole();

// Declara un objeto de expresión regular para que coincida si es un número

Patrón objP = Pattern.compile("\\d{1,}");

// La cadena sobre la que se operará

Matcher objM = null ;

//Recibir entrada de la consola

String objTemp = (String) objEC.printConsole();

//String strTemp = (String)objTemp;

objM = objP.matcher(objTemp);

bandera booleana = objM.matches();

int nTemp = 0; > if (flag) {

nTemp = new Integer(objTemp);

} else {

System.out.println("Lo siento, solo ingresa el número ! ");

}

objSJ.outPutLottery(nTemp);

}

}EnterConsole.javaimport java.io.BufferedReader;

importar java.io.IOException;

importar java.io.InputStreamReader;

clase pública EnterConsole

{

public Object printConsole(){

System.out.print("Ingrese cuántas notas desea seleccionar aleatoriamente, confirme y presione Enter:");

BufferedReader objBR = nuevo BufferedReader(n

ew InputStreamReader(System.in));

String strValue = null;

try

{

strValue = (String)objBR .readLine();

}

catch (IOException e)

{

// TODO Bloque de captura generado automáticamente

e.printStackTrace();

}

devuelve strValue

}

}

上篇: ¿Cuánto RMB son 500 dólares estadounidenses? 下篇: Precalentamiento de fotografía 2013
Artículos populares