0% encontró este documento útil (0 votos)
15 vistas14 páginas

Programas

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas14 páginas

Programas

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PROGRAMAS EN JAVA DE NUMEROS ALEATORIOS

1.- Numero aleatorio de dado gráfico.

Este programa en Java crea una interfaz gráfica que permite al usuario lanzar una cantidad

de dados a su elección, mostrando visualmente el resultado de cada dado mediante imágenes.

Se utiliza la clase JFrame de Swing para diseñar la ventana principal, donde se incluyen

botones estilizados para lanzar los dados y finalizar el juego. El programa también calcula y

muestra la suma total de los dados lanzados, almacenando los resultados de cada ronda. Al

finalizar, se presenta una lista de todas las sumas obtenidas en cada lanzamiento antes de

cerrar la aplicación.

/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package dadograficoestetico;
import [Link].*;
import [Link].*;
import [Link].*;
import [Link];
import [Link];

public class DadoGraficoEstetico extends JFrame {


private JLabel resultadoLabel;
private Random random;
private JButton botonLanzar;
private JButton botonFinalizar;
private JPanel panelBoton;
private int numDados;
private ArrayList<Integer> sumatorias; // Lista para guardar las sumas
de cada lanzamiento
private JPanel panelImagenes;

// Constructor
public DadoGraficoEstetico() {
random = new Random();
sumatorias = new ArrayList<>(); // Inicializa la lista para
almacenar las sumatorias de los lanzamientos

setTitle("Lanzamiento de Dados");
setSize(600, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new BorderLayout());

// Preguntar cuántos dados lanzar


String input = [Link](this, "¿Cuántos dados
deseas lanzar?");
try {
numDados = [Link](input); // Convertir la entrada a
un número entero
} catch (NumberFormatException e) {
numDados = 1; // Si la entrada no es válida, lanzar un dado por
defecto
}

// Panel de imágenes de los dados


panelImagenes = new JPanel();
[Link](new Color(255, 182, 193)); // Fondo rosa
claro
[Link](new FlowLayout());

// Panel para el resultado de la suma


resultadoLabel = new JLabel("Resultado total: ");
[Link](new Color(255, 105, 180)); // Texto
rosa fuerte
[Link](new Font("SansSerif", [Link], 18));
[Link]([Link]);

// Crear un botón estilizado para lanzar los dados


botonLanzar = new JButton("Lanzar Dados");
[Link](new Color(255, 105, 180)); // Botón rosa
fuerte
[Link]([Link]);
[Link](new Font("SansSerif", [Link], 16));
[Link](false);
[Link]([Link](10, 20, 10,
20));
// Botón para finalizar y mostrar sumatorias
botonFinalizar = new JButton("Finalizar y Ver Resultados");
[Link](new Color(255, 105, 180)); // Botón
rosa fuerte
[Link]([Link]);
[Link](new Font("SansSerif", [Link], 16));
[Link](false);
[Link]([Link](10, 20, 10,
20));
[Link](false);

// Panel para contener los botones


panelBoton = new JPanel();
[Link](new Color(255, 182, 193)); // Fondo rosa
claro
[Link](botonLanzar);
[Link](botonFinalizar);

// Añadir un ActionListener para el botón de lanzar


[Link](new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lanzarDados(); // Lanza los dados y muestra los resultados
[Link](true); // Habilitar el botón de
finalizar después del primer lanzamiento
}
});

// Añadir un ActionListener para el botón de finalizar


[Link](new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
mostrarSumatorias(); // Muestra la lista de sumatorias
}
});

// Añadir componentes a la ventana


add(resultadoLabel, [Link]);
add(panelImagenes, [Link]);
add(panelBoton, [Link]);
}

// Método para lanzar los dados y actualizar la imagen


private void lanzarDados() {
[Link](); // Limpia las imágenes previas de los dados
int resultadoTotal = 0;

for (int i = 1; i <= numDados; i++) {


int resultado = [Link](6) + 1; // Genera un número
aleatorio entre 1 y 6
resultadoTotal += resultado;

// Cargar la imagen del dado correspondiente


String rutaImagen = "C:\\Users\\ALONDRA
IBARRADELUNA\\Documents\\Semestre 9\\Tello\\Tarea3_Programas/dado" +
resultado + ".jpg"; // Asegúrate de que las imágenes estén en la misma
carpeta
ImageIcon icono = new ImageIcon(rutaImagen);

// Verificar si la imagen se carga correctamente


if ([Link]() == -1) {
[Link](this, "No se pudo cargar la
imagen: " + rutaImagen, "Error de Carga", JOptionPane.ERROR_MESSAGE);
continue; // Si no se carga, continúa con el siguiente dado
}

Image img = [Link]().getScaledInstance(100, 100,


Image.SCALE_SMOOTH); // Escalar la imagen

// Crear una etiqueta para la imagen y añadirla al panel


JLabel dadoLabel = new JLabel(new ImageIcon(img));
[Link](dadoLabel);
}

[Link]("Resultado total: " + resultadoTotal); // Mostrar


el resultado total
[Link](resultadoTotal); // Guardar la suma en la lista
[Link](); // Actualizar el panel de imágenes
[Link]();
}

// Método para mostrar la lista de sumatorias


private void mostrarSumatorias() {
StringBuilder mensaje = new StringBuilder();
int contador = 1;
for (int suma : sumatorias) {
[Link]("Lanzamiento ").append(contador).append(":
").append(suma).append("\n");
contador++;
}
[Link]("¡Gracias por jugar!");

// Mostrar la lista de sumatorias en un JOptionPane


[Link](this, [Link](), "Resultados
de los lanzamientos", JOptionPane.INFORMATION_MESSAGE);
[Link](0); // Cerrar el programa al hacer clic en "Aceptar"
}

// Método principal para ejecutar el programa


public static void main(String[] args) {
[Link](new Runnable() {
@Override
public void run() {
DadoGraficoEstetico frame = new DadoGraficoEstetico();
[Link](true);
}
});
}
}

Corrida 1
Corrida 2
2.- Numero aleatorio entre un rango de números.

Este programa en Java genera 10 números aleatorios dentro de un rango definido por el

usuario. Al ejecutarlo, el usuario ingresa un valor mínimo y máximo a través de una interfaz

gráfica. Luego, al presionar un botón, el programa crea los números aleatorios dentro de ese

rango y los muestra en una lista en pantalla. Si los valores ingresados no son válidos, como

cuando el mínimo es mayor o igual que el máximo, se muestra un mensaje de error. Todo se

presenta en una interfaz gráfica estilizada con colores rosados para hacerla más atractiva.

/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package numalerangonumero;
import [Link].*;
import [Link].*;
import [Link].*;
import [Link];
import [Link];

public class NumAleRangoNumero extends JFrame {


private JTextField minField;
private JTextField maxField;
private JButton generarButton;
private JTextArea listaNumerosArea;
private ArrayList<Integer> numerosGenerados;
private Random random;

public NumAleRangoNumero() {
setTitle("Generador de Números Aleatorios en Rango");
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new BorderLayout());

random = new Random();


numerosGenerados = new ArrayList<>();
Color fondoRosaClaro = new Color(255, 182, 193);
Color rosaFuerte = new Color(255, 105, 180);

JPanel panelRango = new JPanel();


[Link](new FlowLayout());
[Link](fondoRosaClaro);

JLabel minLabel = new JLabel("Mínimo:");


minField = new JTextField(5);

JLabel maxLabel = new JLabel("Máximo:");


maxField = new JTextField(5);

generarButton = new JButton("Generar Números");


[Link](rosaFuerte);
[Link]([Link]);
[Link](new Font("SansSerif", [Link], 14));

[Link](new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
generarNumerosAleatorios();
}
});

[Link](minLabel);
[Link](minField);
[Link](maxLabel);
[Link](maxField);
[Link](generarButton);

listaNumerosArea = new JTextArea();


[Link](false);
[Link](new Font("SansSerif", [Link], 16));
[Link](fondoRosaClaro);
[Link]([Link]);
JScrollPane scrollPane = new JScrollPane(listaNumerosArea);

add(panelRango, [Link]);
add(scrollPane, [Link]);
}

private void generarNumerosAleatorios() {


[Link]();
[Link]("");

try {
int min = [Link]([Link]());
int max = [Link]([Link]());

if (min >= max) {


[Link](this, "El valor mínimo debe
ser menor que el máximo", "Error", JOptionPane.ERROR_MESSAGE);
return;
}

for (int i = 0; i < 10; i++) {


int numAleatorio = [Link](max - min + 1) + min;
[Link](numAleatorio);
}

for (int numero : numerosGenerados) {


[Link](numero + "\n");
}
} catch (NumberFormatException e) {
[Link](this, "Por favor, ingresa números
válidos.", "Error", JOptionPane.ERROR_MESSAGE);
}
}

public static void main(String[] args) {


[Link](new Runnable() {
@Override
public void run() {
NumAleRangoNumero frame = new NumAleRangoNumero();
[Link](true);
}
});
}
}

Corrida 1

También podría gustarte