/*
* Programa para mostrar un menú de
opciones
*/
package jose;
/**
*
* @author José
*/
import java.util.Random;
import javax.swing.*;
public class MenúDeOpciones
{
JTextArea texto;
JScrollPane barra;
public MenúDeOpciones()
{
texto=new JTextArea(10,10);
barra=new JScrollPane(texto);
}
public void Pares()
{
texto.setText("");
texto.append("Numeros pares del 1 al 1000\n");
int i=2;
while (i<=1000)
{
texto.append(i+"par\n");
i=i+2;
}
JOptionPane.showMessageDialog(null, barra);
}
public void Impares()
{
texto.setText("");
texto.append("Numeros impares del 1 al 1000\n");
int i=1;
while (i<=1000)
{
texto.append(i+"impar\n");
i=i+2;
}
JOptionPane.showMessageDialog(null, barra);
}
public void PrimoNoprimo()
{
int c,i,n;
n=Integer.parseInt(JOptionPane.showInputDialog("Ingresa un numero: "));
c = 0;
for(i = 1; i <= n; i++)
{
if((n % i) == 0)
{
c++;
}
}
if(c == 2)
{
JOptionPane.showMessageDialog(null,"El numero es primo");
}
else
{
JOptionPane.showMessageDialog(null,"El numero no es primo");
}
}
public void Holamundo()
{
JOptionPane.showMessageDialog(null, "Hola Mundo");
}
public void Chat()
{
String cadena;
JTextArea texto=new JTextArea(15,15);
JScrollPane barrita=new JScrollPane(texto);
texto.append("Bienvenidos\n");
texto.append("Escriba en esta ventana lo que quieras\n");
texto.append("Cuando termines escribe salir\n");
cadena=JOptionPane.showInputDialog(barrita);
while(!cadena.equals("salir"))
{
texto.append(cadena+"\n");
cadena=JOptionPane.showInputDialog(barrita);
}
}
public void NumerosNegativosYPositivos()
{
int n;
n=Integer.parseInt(JOptionPane.showInputDialog("Ingresa un numero: "));
if(n>0)
{
JOptionPane.showMessageDialog(null,"El numero es positivo");
}
if(n==0)
{
JOptionPane.showMessageDialog(null,"El numero es neutro");
}
if(n<0)
{
JOptionPane.showMessageDialog(null,"El numero es negativo");
}
}
public void MultiplosDel5()
{
int i,j;
texto.setText("");
texto.append("Multiplos del 5\n");
for(i=1;i<=1000;i++)
{
j=5*i;
texto.append(j+"\n");
}
JOptionPane.showMessageDialog(null, barra);
}
public void Tablas()
{
int i,j;
texto.setText("");
texto.append("Tablas de multiplicar\n");
i=1;
while(i<=10)
{
texto.append("Tabla del"+i+"\n");
j=1;
while(j<=10)
{
texto.append(i+"x"+j+"="+(i*j)+"\n");
j=j+1;
}
i=i+1;
texto.append("\n");
}
JOptionPane.showMessageDialog(null, barra);
}
public void Ecuaciones()
{
int a,b,c;
double x1,x2;
a=Integer.parseInt(JOptionPane.showInputDialog("Deme el valor de a"));
b=Integer.parseInt(JOptionPane.showInputDialog("Deme el valor de b"));
c=Integer.parseInt(JOptionPane.showInputDialog("Deme el valor de c"));
if((b*b)>(4*a*c))
{
x1=(-b+Math.sqrt((b*b)-(4*a*c)))/(2*a);
x2=(-b-Math.sqrt((b*b)-(4*a*c)))/(2*a);
JOptionPane.showMessageDialog(null,"x1="+x1+"\n"+"x2="+x2+"\n");
}
else
JOptionPane.showMessageDialog(null,"Raices Imaginarias");
}
public void Chalanes()
{
int edad;
edad=Integer.parseInt(JOptionPane.showInputDialog("Ingresa la edad: "));
String nombre=JOptionPane.showInputDialog("Ingresa el nombre: ");
String nacionalidad=JOptionPane.showInputDialog("Ingresa la nacionalidad: ");
String actividad=JOptionPane.showInputDialog("Ingresa la actividad que realiza: ");
JOptionPane.showMessageDialog(null,"El"+nacionalidad+"de"+edad+"años"+"llamado"+nombre+
actividad);
}
public void FactorialDeUnNumero()
{
double factorial = 1;
int n;
n=Integer.parseInt(JOptionPane.showInputDialog("Deme el valor de n"));
for (int i = n; i > 0; i--)
{
factorial = factorial * i;
}
JOptionPane.showMessageDialog(null,"El factorial de " + n + " es: " + factorial);
}
public void MayorDeTresNumeros()
{
int a,b,c,mayor;
a=Integer.parseInt(JOptionPane.showInputDialog("Deme el valor de a"));
b=Integer.parseInt(JOptionPane.showInputDialog("Deme el valor de b"));
c=Integer.parseInt(JOptionPane.showInputDialog("Deme el valor de c"));
mayor=a;
if(b>mayor)
{
mayor=b;
}
if(c>mayor)
{
mayor=c;
}
JOptionPane.showMessageDialog(null,mayor);
}
public void DivisoresDeUnNumero()
{
int n,i;
n=Integer.parseInt(JOptionPane.showInputDialog("Ingresa un numero: "));
JOptionPane.showMessageDialog(null,"Divisores de"+n+"\n");
for(i=1;i<=n;i++)
{
if(n%i==0)
JOptionPane.showMessageDialog(null,i+"\n");
}
}
public void DivisoresDeLosNumerosDel1al20()
{
texto.setText("");
texto.append("Divisores de los numeros del 1 al 20\n");
int i, j;
for(i=1;i<=20;i++)
{
texto.append("Divisores del"+i+"\n");
for(j=1;j<=i;j++)
{
if(i%j==0)
texto.append(j+"\n");
}
texto.append("\n");
}
JOptionPane.showMessageDialog(null, barra);
}
public void NumeroAleatorio()
{
Random Aleatorio = new Random(System.currentTimeMillis());
int NumeroAleatorio = Aleatorio.nextInt(1000);
Aleatorio.setSeed(System.currentTimeMillis());
JOptionPane.showMessageDialog(null,NumeroAleatorio);
}
public void SumarMatrices()
{
int
filas=Integer.parseInt(JOptionPane.showInputDialog("Digita las filas de las matries"));
int columnas=Integer.parseInt(JOptionPane.showInputDialog("Digita las columnas de las
matrices"));
int matrizA[][]=new int[filas][columnas];
int matrizB[][]=new int[filas][columnas];
int matrizRes[][]=new int[filas][columnas];
System.out.println("Datos de la Matriz A:");
for(int i=0;i<filas;i++)
{
for(int j=0;j<columnas;j++)
{
matrizA[i][j]=Integer.parseInt(JOptionPane.showInputDialog("Digita un número para la
posición: a["+i+"]["+j+"]"+" de la matriz A"));
System.out.print(matrizA[i][j]+" ");
}
System.out.println();
}
System.out.println("Datos de la Matriz B:");
for(int i=0;i<filas;i++)
{
for(int j=0;j<columnas;j++)
{
matrizB[i][j]=Integer.parseInt(JOptionPane.showInputDialog("Digita un número para la
posición: a["+i+"]["+j+"]"+" de la matriz B"));
System.out.print(matrizB[i][j]+" ");
}
System.out.println();
}
System.out.println("Suma de las dos matrices:");
for(int i=0;i<filas;i++)
{
for(int j=0;j<columnas;j++)
{
matrizRes[i][j]=matrizA[i][j]+matrizB[i][j];
System.out.print(matrizRes[i][j]+" ");
}
System.out.println();
}
}
public void RestarMatrices()
{
int filas=Integer.parseInt(JOptionPane.showInputDialog("Digita las filas de las matries"));
int columnas=Integer.parseInt(JOptionPane.showInputDialog("Digita las columnas de las
matrices"));
int matrizA[][]=new int[filas][columnas];
int matrizB[][]=new int[filas][columnas];
int matrizRes[][]=new int[filas][columnas];
System.out.println("Datos de la Matriz A:");
for(int i=0;i<filas;i++)
{
for(int j=0;j<columnas;j++)
{
matrizA[i][j]=Integer.parseInt(JOptionPane.showInputDialog("Digita un número para la
posición: a["+i+"]["+j+"]"+" de la matriz A"));
System.out.print(matrizA[i][j]+" ");
}
System.out.println();
}
System.out.println("Datos de la Matriz B:");
for(int i=0;i<filas;i++)
{
for(int j=0;j<columnas;j++)
{
matrizB[i][j]=Integer.parseInt(JOptionPane.showInputDialog("Digita un número para la
posición: a["+i+"]["+j+"]"+" de la matriz B"));
System.out.print(matrizB[i][j]+" ");
}
System.out.println();
}
System.out.println("Resta de las dos matrices:");
for(int i=0;i<filas;i++)
{
for(int j=0;j<columnas;j++){
matrizRes[i][j]=matrizA[i][j]-matrizB[i][j];
System.out.print(matrizRes[i][j]+" ");
}
System.out.println();
}
}
public void MultiplicarMatrices()
{
int filasA=Integer.parseInt(JOptionPane.showInputDialog("Digita las filas para la matriz A"));
int columnasA=Integer.parseInt(JOptionPane.showInputDialog("Digita las columnas para la
matriz A"));
int matA[][]=new int[filasA][columnasA];
int filasB=Integer.parseInt(JOptionPane.showInputDialog("Digita las filas para la matriz B"));
int columnasB=Integer.parseInt(JOptionPane.showInputDialog("Digita las columnas para la
matriz B"));
int matB[][]=new int[filasB][columnasB];
int matRes[][]=new int[filasA][columnasB];
if(filasA==columnasB)
{
System.out.println("Datos de la Matriz A:");
for(int i=0;i<filasA;i++)
{
for(int j=0;j<columnasA;j++)
{
matA[i][j]=Integer.parseInt(JOptionPane.showInputDialog("Digita un número para la
posición: a["+i+"]["+j+"]"+" de la matriz A"));
System.out.print(matA[i][j]+" ");
}
System.out.println();
}
System.out.println("Datos de la Matriz B:");
for(int i=0;i<filasB;i++)
{
for(int j=0;j<columnasB;j++)
{
matB[i][j]=Integer.parseInt(JOptionPane.showInputDialog("Digita un número para la
posición: a["+i+"]["+j+"]"+" de la matriz B"));
System.out.print(matB[i][j]+" ");
}
System.out.println();
}
System.out.println("Resultado: ");
for ( int i = 0; i < filasA; i++)
{
for ( int j = 0; j < columnasB; j++)
{
for ( int k = 0; k < columnasA; k++ )
{ //puede ser columnasA o filasB ya que deben ser iguales
matRes[ i ][j ] += matA[i][k]*matB[k][j];
}
System.out.print(matRes[i][j]+" ");
}
System.out.println();
}
}
else
{
System.out.println("Error las matrices no se pueden multiplicar, no se cumplen las
reglas");
}
}
public void TablaDe10x10()
{
int i,j;
int matriz[][]=new int[11][11];
for (i=1 ; i<matriz.length; i++)
{
matriz[i][0]=i;
matriz[0][i]=i;
for (i=1 ; i < matriz.length ; i++)
{
for (j=1 ; j < matriz[i].length ; j++)
{
matriz[i][j]=i*j;
}
}
}
for (i=1; i < matriz.length ; i++){
for (j=1 ; j < matriz[i].length ; j++){
System.out.printf("%4d", matriz[i][j]);
}
System.out.println();
}
}
public void Salir()
{
System.exit(0);
}
public void menu()
{
int opc=0;
do{
opc=Integer.parseInt(JOptionPane.showInputDialog(
"1.- Numeros pares del 1 al 1000\n"
+"2.- Numeros impares del 1 al 1000\n"
+"3.- Verificar si un numero es primo o no primo\n"
+"4.- Hola mundo\n"
+"5.- Chat\n"
+"6.- Numeros negativos y positivos\n"
+"7.- Numeros Multiplos del 5\n"
+"8.- Tablas de multiplicar\n"
+"9.- Ecuaciones de segundo grado\n"
+"10.- Chalanes\n"
+"11.- Leer un numero e imprimir su factorial\n"
+"12.- Leer 3 numeros e imprimir el mayor de los tres\n"
+"13.- Los divisores de un numero\n"
+"14.- Los divisores de los numeros del 1 al 20\n"
+"15.- Numeros Aleatorios\n"
+"16.- Sumar Matrices\n"
+"17.- Restar Matrices\n"
+"18.- Multiplicar Matrices\n"
+"19.- Tabla de 10x10\n"
+"20.- Salir\n Elija una opcion"));
switch(opc)
{
case 1:Pares();
break;
case 2:Impares();
break;
case 3:PrimoNoprimo();
break;
case 4:Holamundo();
break;
case 5:Chat();
break;
case 6:NumerosNegativosYPositivos();
break;
case 7:MultiplosDel5();
break;
case 8:Tablas();
break;
case 9:Ecuaciones();
break;
case 10:Chalanes();
break;
case 11:FactorialDeUnNumero();
break;
case 12:MayorDeTresNumeros();
break;
case 13:DivisoresDeUnNumero();
break;
case 14:DivisoresDeLosNumerosDel1al20();
break;
case 15:NumeroAleatorio();
break;
case 16:SumarMatrices();
break;
case 17:RestarMatrices();
break;
case 18:MultiplicarMatrices();
break;
case 19:TablaDe10x10();
break;
case 20:Salir();
break;
}
} while (opc!=20);
}
public static void main (String args[])
{
MenúDeOpciones obj= new MenúDeOpciones();
obj.menu();
}
}