Sie sind auf Seite 1von 25

1)

import javax.swing.*;
public class SyGCalculoHorario
{
static int MAX=20;
iint []a=new int[MAX];

void sumaHhMmSs(int hh,int mm,int ss)


{
JOptionPane.showMessageDialog(null," \n Horas: "+hh+" \n Minutos: "+mm+" \n Segundos: "+ss);
}

void menuElegir(int hh,int mm,int ss)


{
String cadena;
int opcion=0;
SyGCalculoHorario tiempo = new SyGCalculoHorario();
S

do{
cadena=JOptionPane.showInputDialog("Elija una opción del menu \n 1) Ingrese Horas. \n 2) Ingrese Minutos. \n 3) I
ngrese Segundos. \n 4) Sumar Horas-Minutos-Segundos. \n 5) Resetear. \n 6) Salir.");
opcion=Integer.parseInt(cadena);
}}while(opcion<1 && opcion>6 );

switch(opcion)
{
case 1:hh=hh+tiempo.ingreseDatos("Hora");break;
case 2:mm=mm+tiempo.ingreseDatos("Minuto");break;
case 3:ss=ss+tiempo.ingreseDatos("Segundo");break;
case 4:tiempo.sumaHhMmSs(hh,mm,ss);break;
case 5:{hh=0;mm=0;ss=0;}break;
case 6:System.exit(0);break;
default:JOptionPane.showMessageDialog(null,"Ingrese una opción válida.");
}
tiempo.menuElegir(hh,mm,ss);
}

int ingreseDatos(String time)


{
String cadena;
int n=0, acumulador=0;
cadena=JOptionPane.showInputDialog("Cuantas datos Desea Ingresar: ");
n=Integer.parseInt(cadena);
for(int i=0;i<n;i++)
{
cadena=JOptionPane.showInputDialog("Ingrese "+time+" "+(i+1));
a[i]=Integer.parseInt(cadena);
acumulador=acumulador+a[i];
}
return acumulador;
}

public static void main(String[] args)


{
SyGCalculoHorario ir = new SyGCalculoHorario();
i
ir.menuElegir(0,0,0);
}
}
2)
import javax.swing.*;
public class SyGCodigo
{
void leerCodigo()
{
SyGCodigo codig = new SyGCodigo();
int cod=0;
do{
String cadena=JOptionPane.showInputDialog("Ingrese su código Numérico de 4 Digitos. ");
cod=Integer.parseInt(cadena);
if(cod>9999)
{
JOptionPane.showMessageDialog(null,"El código ingresado no es de 4 digitos");
}
else if(cod>=0 && cod<1000)
{
JOptionPane.showMessageDialog(null,"Código No Admitido por tener digito(s) ceros.");
}
else if(cod<0)
{
JOptionPane.showMessageDialog(null,"El código ingresado no es de 4 digitos");
}
}}while(cod<1000 || cod>9999);

c
codig.admision(cod);
}

void admision(int cod)


{
int mod1=0, par=0, impar=0;
SyGCodigo codig = new SyGCodigo();
ffor(int i=1;i<=4;i++)
{
if(cod>=10)
mod1=cod%10;
else
mod1=cod;
if(mod1==0)
{
JOptionPane.showMessageDialog(null,"Código No Admitido por tener digito(s) ceros.");
c
codig.leerCodigo();

}
if(((mod1)%2)==0)
par++;
else
i
impar++;

c
cod=cod/10;
}

if(par>=3 || impar>=3)
JOptionPane.showMessageDialog(null,"FALSE!!... Código INVÁLIDO");
else
JOptionPane.showMessageDialog(null,"TRUE!!... Código ADMITIDO");
System.exit(0);
}
public static void main(String[] args)
{
SyGCodigo ir = new SyGCodigo();
ir.leerCodigo();
}
}
3)

import javax.swing.*;
public class SyGTemperaturaMensual
{
static int MAX=5;
iint tempSup=25;

int[] almacenaArray()
{
int []arreglo=new int[MAX];
String cadena;
S

for(int i=0;i<MAX;i++)
{
do{
cadena=JOptionPane.showInputDialog("Ingrese Temperatura "+ (i+1)+" : ");
arreglo[i]=Integer.parseInt(cadena);
if((arreglo[i]<5)||(arreglo[i]>40))
{
JOptionPane.showMessageDialog(null,"La temperatura debe ser de 5 y 40.");
}
}while((arreglo[i]<5)||(arreglo[i]>40));
}
return arreglo;
}
int temperaturaSuperada(int array[])
{

iint contador=0;

for(int i=0;i<array.length;i++)
{
if(array[i]>tempSup)
contador=contador+1;
}
JOptionPane.showMessageDialog(null, "Las Temperaturas mayores a "+tempSup+" son: "+contador);
return contador;
}

int promedioTemperaturaSuperior(int temperaturaSuperiorA, int array[])


{
int contador=0, acu=0;
double promedioTemp=0;
for(int i=0;i<array.length;i++)
{
if(array[i]>tempSup)
{
acu=acu+array[i];
}
}
promedioTemp=acu/temperaturaSuperiorA;
JOptionPane.showMessageDialog(null, "El promedio de la temperaturas superiores a "+tempSup+" es: "+promedioTemp);
return 0;
}

void temperaturaMaximaMensual(int array[])


{
int tmp=0;
String cad="";
iint array2[] = new int[MAX];

for(int i=0;i<array.length;i++)
{
array2[i]=array[i];
}

int k=0,x=0,c=0;
for(int i=1;i<array2.length;i++)
{
if(array2[i-1]<array2[i])
{ x=i;c++;}
//else
// rreturn 0;

for(int j=0;j<array2.length-i;j++)
{

if(array2[j]>array2[j+1])
{
kk=array2[j+1]; array2[j+1]=array2[j]; array2[j]=k;

}
}
JOptionPane.showMessageDialog(null,"La temperatura: "+array2[MAX-1]+" Día: "+(x-1));

public static void main(String[] args)


{

int []array=new int[MAX];


int temperaturaSuperiorA=0;
int opcion=0;
String cadena;
int sup=25,retro=0;
SyGTemperaturaMensual temperatura = new SyGTemperaturaMensual();
do{
array=temperatura.almacenaArray();
do
{ retro=1;
cadena=JOptionPane.showInputDialog("Seleccione una opción: \n 1) Temperatura Máxima del Mes. \n 2)
Temperatura Superior a "+ sup +" ºC. \n 3) Promedio de temperaturas superiores a " +sup+ " ºC. \n 4) Reiniciar.\n 5) Salir.");
o
opcion=Integer.parseInt(cadena);

switch(opcion)
{
case 1:temperatura.temperaturaMaximaMensual(array);break;
case 2:temperaturaSuperiorA=temperatura.temperaturaSuperada(array);break;
case 3:
{
if(temperaturaSuperiorA>0)
temperatura.promedioTemperaturaSuperior(temperaturaSuperiorA, array);
else
JOptionPane.showMessageDialog(null,"No hay tenperaturas superiores a "+sup);
}break;
case 4:retro=0;break;
case 5:System.exit(0);break;
}
}while(retro==1);
}
}while(retro==0);

}
}
4)
//Utilizando el método Leer
public class SyGEvaluacion
{
static int[] ingresar(int[] Vector, String cad)
{
int h=0;
for(int i=0;i<Vector.length;i++)
{
System.out.print("Ingresar "+ cad+ ":\t");
h=Leer.datoInt();System.out.println("");
Vector[i]=h;
}
return Vector;
}
static void imprimir(int[] Temp)
{
ffor(int i=0;i<Temp.length;i++)
{
System.out.println(Temp[i]);
}
}

static void pPresente(int[] A)


{
int c=0;
for(int i=0;i<A.length;i++)
{
if(A[i]==1)
c++;
}
System.out.println("La cantidad de alumnos presentes es :"+ c);
System.out.println("El porcentaje de alumnos presentes es :"+ ((c*100)/(A.length))+"%");
}
static void promedio(int[] N, int[] A)
{
int sum=0,c=0;
double prom=0;
for(int i=0;i<A.length;i++)
{
if(A[i]==1)
{
c++;
sum=sum+(N[i]);
}
}
prom=sum/c;
System.out.println("El promedio de los " + c + " alumnos presentes es :"+ prom);
}

static void aAprobados(int[] N, int[] A)


{
iint ca=0,cp=0;

for(int i=0;i<A.length;i++)
{
if(A[i]==1)
{
cp++;
i
if(N[i]>5)
ca++;
}
}

System.out.println("El porcentaje de alumnos prest. y aproba. es :"+ ((ca*100)/(cp))+"%");


}
static void mayor(int[] C, int[] N, int[] A)
{
iint may=0,i=0;

for(i=0;i<N.length;i++)
{
if(A[i]==1)
{
if(N[i]>may) may= N[i];
}

}
for(i=0;i<N.length;i++)
{
if(may==N[i] && A[i]==1)
System.out.println("Codigo : " + C[i] + " y su Nota : " + N[i]);
}
}
public static void main(String args[])
{
int max=0;
d
do{
System.out.print("Cuantos registros desea ingresar :\t");
max=Leer.datoInt();System.out.println("");
if(max<1)
System.out.println("¿Acaso quieres engañar a la maquina?, Ingrese un valor válido!!");
}while(max<1);
int [] Codigo= new int[max];
int [] Asistencia= new int[max];
int [] Nota= new int[max];
System.out.println("----------------------------------------");
iingresar(Codigo,"codigo [0001 - 9999]");

System.out.println("----------------------------------------");
iingresar(Asistencia,"asistencia [1. Presente] [0. Ausente] ");

System.out.println("----------------------------------------");
iingresar(Nota,"nota [00 - 20]");

System.out.println("----------------------------------------");
System.out.println("------------- REPORTE ----------------");
pPresente(Asistencia);
promedio(Nota,Asistencia);
aAprobados(Nota,Asistencia);
mayor(Codigo,Nota,Asistencia);
System.out.println("----------------------------------------");
}
}
5)
import javax.swing.*;
ppublic class SyGFraccion{

void mostrarFraccionSimplificada(int numerador, int denominador)


{
int div=0;
if((numerador % denominador)==0)
{
div=numerador/denominador;
JOptionPane.showMessageDialog(null,""+div);
}
else if((denominador % numerador)==0)
{
div=denominador/numerador;
JOptionPane.showMessageDialog(null,"1/"+div);
}
else
J
JOptionPane.showMessageDialog(null,""+numerador+"/"+denominador);

void ingresaFraccion()
{
int numerador=0, denominador=0;
String cadena;
cadena=JOptionPane.showInputDialog("Ingrese Numerador : ");
numerador=Integer.parseInt(cadena);
cadena=JOptionPane.showInputDialog("Ingrese Denominador : ");
denominador=Integer.parseInt(cadena);
mostrarFraccionSimplificada(numerador,denominador);
}
public static void main(String[] args)
{
String cadena;
int opcion=0;
SyGFraccion fraccional = new SyGFraccion();
do
{
cadena=JOptionPane.showInputDialog("0. Salir. ----- [Otro] Continuar");
opcion=Integer.parseInt(cadena);
if(opcion==0)
System.exit(0);
e
else
f
fraccional.ingresaFraccion();

}
}while(opcion!=0);
}
}
6)
import javax.swing.*;
public class SyGMultiOperaciones
{
static String cadena,cadenaNumerica;
static int eligeOpcion()
{
iint opcion=0;

cadena=JOptionPane.showInputDialog("Calcular:\n 1)Promedio de Digitos\n 2)Cambiar de Base\n 3)Factorial\n 4)Número de


Dígitos\n 5)Dígitos Impares\n 6)Reiniciar\n 7)Salir");
opcion=Integer.parseInt(cadena);
return opcion;
}

public static void main(String[] args)


{
int opcion=0,promedio=0,numDigitos=0,impares=0,faq=0,retro=0;
do{
cadenaNumerica=JOptionPane.showInputDialog("Ingrese un número");
int numeroEntero=Integer.parseInt(cadenaNumerica);

d
do{
retro=1;
opcion=eligeOpcion();
switch(opcion)
{
case 1: promedio=promedioDigitos(numeroEntero);
JOptionPane.showMessageDialog(null,"Promedio de Dígitos: "+promedio);break;
case 2: cambiarBase(cadenaNumerica);break;
case 3: {
faq=factorial(numeroEntero);
if(faq!=0)
JOptionPane.showMessageDialog(null,"Factorial: "+faq);
}
}break;
case 4: numDigitos=numeroDigitos(numeroEntero);
JJOptionPane.showMessageDialog(null,"Número de Dígitos: "+numDigitos);break;

case 5: impares=numDigitosImpares(numeroEntero);
JJOptionPane.showMessageDialog(null,"Número de Dígitos Impares: "+impares);break;

case 6: retro=0;break;
r
case 7: System.exit(0);break;
S

}
}while(retro==1);
}while(retro==0);
}

static int promedioDigitos(int numeroEntero)


{
int num=0,mod=0,c=0,prom=0,sum=0;
while(numeroEntero!=0)
{
mod=numeroEntero%10;
numeroEntero=numeroEntero/10;
c++;
sum=sum+mod;
System.out.println(""+mod);
}

return sum/c;
}

public static void cambiarBase(String cadenaNumerica)


{
CambiarBase sistema = new CambiarBase();
sistema.desde_base_decimal(cadenaNumerica);
}
static int factorial(int numeroEntero)
{
iint faq=0;

if(numeroEntero==0)
faq=1;
else if(numeroEntero<0)
JOptionPane.showMessageDialog(null,"No existe factorial de numeros negativos.");
else if(numeroEntero>0)
for(faq=numeroEntero;numeroEntero>1;numeroEntero--)
faq*=(numeroEntero-1);
return faq;
}

static int numeroDigitos(int numeroEntero)


{
int c=0;
while(numeroEntero!=0)
{
numeroEntero=numeroEntero/10;
c++;
}
return c;
}

static int numDigitosImpares(int numeroEntero)


{
int c=0,mod=0;
while(numeroEntero!=0)
{
mod=numeroEntero%10;
numeroEntero=numeroEntero/10;
if(mod%2!=0) c++;
}
rreturn c;
}

}
7)
public class SyGPotencia
{

static int base, exp, j;


public static void main(String args[])
{
if(args.length<2 ||args.length>2 )
System.out.println("Ingrese dos parámetros [Base] [Exponente]");
else
{
int base = Integer.parseInt(args[0]);
iint exp = Integer.parseInt(args[1]);

System.out.print(base + "^" + exp + " = ");


j = pot(base,exp);
System.out.println(j + "");
}
}

static int pot(int base, int exp)


{
int result=1,exponente=exp;
float resultDecimal=0;
iif(exp<0) exponente=-exp;

for(int i=1;i<=exponente;++i)
{
result*=base;
}

if(exp<0)
{
exponente=-exp;
r
resultDecimal=1/result;
System.out.println("1/"+result+" = "+resultDecimal);
S
System.exit(0);
}
else if(base==0 && exp!=0)
result=0;
else if(base==0 && exp==0)
{
System.out.println("Indefinido");
System.exit(0);
}
rreturn result;

}
}
8)
public class SyGMcd_Mcm
{
sstatic int MAX=2;
static int mcd(int a, int b)
{
int x=0,nuevob=0;
x = a;
if (a < b)
{
a = b;
b = x;
System.out.println(a+" \t"+b);
S
return mcd(a,b);
}
else if (b != 0)
{
nuevob = a % b;
a = b;
b = nuevob;
System.out.println(a+" \t"+b);
return mcd(a,b);
}
return a;
}

static int mcm(int a, int b)


{
int m=0;
m=mcd(a,b);
return(m*(a/m)*(b/m));
}

public static void main(String[] args)


{
int d=0,a=0,b=0,c=0,e=0;
if(args.length<3 || args.length>3 )
System.out.println("\nIngrese 3 números como parámetros...\n");
else
{
a=Integer.parseInt(args[0]);
b=Integer.parseInt(args[1]);
c=Integer.parseInt(args[2]);
System.out.println("\n\n");
/*----Máximo Común Divisor------*/
d=mcd(a,b);
System.out.println("---------");
e=mcd(d,c);
System.out.println("MCD ("+a+","+b+","+c+") = "+e+"\n\n");
S

/*----Mínimo Común Múltiplo------*/


d
d=mcm(a,b);
System.out.println("---------");
e=mcm(d,c);
System.out.println("MCM ("+a+","+b+","+c+") = "+e+"\n\n");
}
}
}
9)
//Calculo de la promedio, mediana, moda, máximo y mínimo
import javax.swing.*;
public class SyGCalculoMicroEstadistico
{
static int MAX=5;
static int elijeOpcion()
{
int opcion=0;
String cadena=JOptionPane.showInputDialog("Calcular: \n 1)Promedio Ponderado.\n 2)Moda.\n 3)Mediana.\n
4)Máximo.\n 5)Mínimo.\n 6)Reiniciar.\n 7)Salir.");
o
opcion=Integer.parseInt(cadena);

return opcion;
}

static int moda(int numero[],int frecuencia[])


{
iint moda=0,frec=0;

for(int j=0;j<numero.length;j++)
if(frecuencia[j]>frec)
{
frec=frecuencia[j];
moda=numero[j];
}
rreturn moda;

static int mediana(int numero[],int frecuencia[])


{
iint med=0,medi=0,indice=0;

int[] frecuenciaAcumulada = new int[MAX];


iint[] frecuenciaAcumuladaOrdenada = new int[MAX];
f
frecuenciaAcumulada[0]=frecuencia[0];
for(int j=1;j<frecuencia.length;j++)
f
frecuenciaAcumulada[j]=frecuenciaAcumulada[j-1]+frecuencia[j];

frecuenciaAcumuladaOrdenada=ordenaArreglo(frecuenciaAcumulada);
m
med=frecuenciaAcumuladaOrdenada[MAX-1]/2;

i k=0;
int
while(med>frecuenciaAcumuladaOrdenada[k])
k
k++;

m
medi=frecuenciaAcumuladaOrdenada[k];

return medi;
}

static int promedioPonderado(int numero[],int frecuencia[])


{
int sum=0,prom=0,n=0;
for(int i=0;i<numero.length;i++)
{
sum=sum+(frecuencia[i]*numero[i]);
n=n+frecuencia[i];
}
prom=sum/n;
return prom;
}

static int maximo(int numero[],int frecuencia[])


{
int[] frecuenciaOrdenada = new int[MAX];
f
frecuenciaOrdenada=ordenaArreglo(frecuencia);

return frecuenciaOrdenada[MAX-1];
}
static int minimo(int numero[],int frecuencia[])
{
int[] frecuenciaOrdenada = new int[MAX];
f
frecuenciaOrdenada=ordenaArreglo(frecuencia);

return frecuenciaOrdenada[0];
}

static int[] ordenaArreglo(int arreglo[])


{

int k=0;
for(int i=1;i<arreglo.length;i++)
{
for(int j=0;j<arreglo.length-i;j++)
{
if(arreglo[j]>arreglo[j+1])
{k=arreglo[j+1]; arreglo[j+1]=arreglo[j]; arreglo[j]=k;}
}
}
rreturn arreglo;

public static void main(String[] args)


{
int opcion=0,retro=0;
int numero[]=new int[MAX];
int frecuencia[]=new int[MAX];
String cadena;
do{
retro=0;
for(int i=0;i<numero.length;i++)
{
cadena=JOptionPane.showInputDialog("Igrese numero "+(i+1)+" :");
numero[i]=Integer.parseInt(cadena);
cadena=JOptionPane.showInputDialog("Igrese su frecuencia : ");
f
frecuencia[i]=Integer.parseInt(cadena);

}
d
do{
opcion=elijeOpcion();
iint moda=0,mediana=0,maximo=0,minimo=0,promedio=0;

switch(opcion)
{
case 1: promedio=promedioPonderado(numero,frecuencia);
JOptionPane.showMessageDialog(null,"Promedio: "+promedio);break;
case 2: moda=moda(numero,frecuencia);
JOptionPane.showMessageDialog(null,"Moda: "+moda);break;
case 3: mediana=mediana(numero,frecuencia);
JOptionPane.showMessageDialog(null,"Mediana: "+mediana);break;
case 4: maximo=maximo(numero,frecuencia);
JOptionPane.showMessageDialog(null,"Máximo: "+maximo);break;
case 5: minimo=minimo(numero,frecuencia);
JOptionPane.showMessageDialog(null,"Mínimo: "+minimo);break;
case 6: retro=1;break;
case 7: System.exit(0);
default: JJOptionPane.showMessageDialog(null,"Ingrese una opción válida...");

}
}while(retro==0);
}
}while(retro==1);
}
}
10)
//Imprime en pantalla la siguiente serie: 1,3,5,7,9,...2n-1 [n = cantidad de numeros impares]
public class SyGCantidadDeImpares
{
static void construyeSerieDeImpares(int numImpares)
{
int i=1,impar=1;
//String signo;
String coma;
S

while(i<=2*numImpares-1)
{
if (i==2*numImpares-1)
coma="";
else
coma=", ";
muestraSerieDeImpares(i,coma);
i+=2;
}

static void muestraSerieDeImpares(int i,String coma)


{

System.out.print(i+coma);
}

public static void main(String[] args)


{

int numImpares=Integer.parseInt(args[0]);
if(args.length>1)
System.out.println("Ingrese sólo un parámetro [número de impares a mostrar...]");
else if(numImpares<=0)
System.out.println("Ingrese un parámetro válido [mayor a 0]");
else
{
construyeSerieDeImpares(numImpares);
System.out.println("");
}
}
}
11)
//Imprime en pantalla la siguiente serie: 1 - 1/3 + 1/5 - 1/7 + 1/9 - ...+ 1/(2n-1) [n = cantidad de fracciones]
public class SyGCantidadDeFracciones
{
static void construyeSerieFraccional(int numFracciones)
{
int i=1,den=1;
String signo;
while(i<=numFracciones)
{
if (i%2==0)
signo="+";
else
signo="-";
if(i==numFracciones)
ssigno=" ";

muestraSerieFraccional(den,signo);
den+=2;
i++;
}
}

static void muestraSerieFraccional(int den,String signo)


{
System.out.print(1+"/"+den+" "+signo+" ");
}

public static void main(String[] args)


{

int numFracciones=Integer.parseInt(args[0]);
if(args.length>1)
System.out.println("Ingrese sólo un parámetro [número de fracciones a mostrar...]");
else if(numFracciones<=0)
System.out.println("Ingrese un parámetro válido [mayor a 0]");
else
{
construyeSerieFraccional(numFracciones);
System.out.println("");
}
}
}
12)
//LIstar los numeros según el numero de digitos indicado
//Considero solo hasta numeros menores a 100000 (5 digitos), por el hecho de k buscar numeros primos a partir de 6 digitos, el proceso se
hace muy lento.
public class SyGNumerosPrimos
{
public static void main(String arg[])
{
int numDigitos=0;
int ndigitos=0;
numDigitos=Integer.parseInt(arg[0]);
if(numDigitos<=0)
System.out.println("Ingrese como parámetro, un numero de digitos correcto (mayor que 0): ");
for(int i = 1; i <= 99999; i++ )
{
ndigitos=contarDigitos(i);
if(ndigitos==numDigitos)
if (primo(i) == true)
System.out.println(i);
}
}

public static boolean primo(int num)


{
boolean p = false;

if (num < 4) p = true;


else
{
if (num % 2 == 0) p = false;
else
{
int contador = 0;
int i = 1;
int limite = (num - 1) / 2;
if (limite % 2 == 0) limite--;

while(i <= limite)


{
if (num % i == 0) contador++;
i += 2;
if (contador == 2) i = limite + 1;
}

if (contador == 1) p = true;
}
}

return p;
}

public static int contarDigitos(int numeroEntero)


{
int divisionEntera = numeroEntero;

int contador=0;

while (divisionEntera != 0)
{
divisionEntera = divisionEntera / 10;
contador++;
}
return contador;
}

}
13)
//Identifica los numeros capicuas dando 2 parámetros como rango.
public class SyGNumerosCapicuas
{
static SyGNumerosCapicuas numero = new SyGNumerosCapicuas();

void defineCapicuas(int limiteMin,int limiteMax)


{
SyGNumerosCapicuas num = new SyGNumerosCapicuas();
int numeroInvertidoOut[]=new int[limiteMax-limiteMin+1];
int j=0;
for(int i=limiteMin;i<=limiteMax;i++)
{
numeroInvertidoOut[j]=num.invertirNumero(i);

if(i==numeroInvertidoOut[j])
{
System.out.println(i+" \t es capicua.");
}
j++;
}
}

int invertirNumero(int i)
{

int numeroAux=0;

int numeroInvertido=0;
numeroAux=i;

numeroInvertido=numeroAux%10;

while(numeroAux>9)
{
numeroAux=numeroAux/10;
numeroInvertido=numeroInvertido*10 + numeroAux%10;
}
return numeroInvertido;
}

public static void main(String[] args)


{
SyGNumerosCapicuas numero = new SyGNumerosCapicuas();
int limiteMax=0,limiteMin=0;
if(args.length<=1||args.length>2)
System.out.println("Ingrese solo los parámetros [Rango Minimo - Rango Máximo]: ");
else if(args.length==2)
{

limiteMin=Integer.parseInt(args[0]);
limiteMax=Integer.parseInt(args[1]);
numero.defineCapicuas(limiteMin,limiteMax);

}
}
}
14)
public class SyGPiramideNumerica
{

public static void main(String[] arg)


{
int limite=0;
limite=Integer.parseInt(arg[0]);
for(int i=1; i<=limite;i++)
{
for(int j=1;j<=i;j++)
{
System.out.print(i);
}
System.out.println("");
}

}
}
ANEXO 1
Clase CambiarBase: Invocado desde el código número 6 (SyGMultioperaciones).
import javax.swing.JOptionPane;
import java.lang.*;
public class CambiarBase
{
static String numD="",pos="",conversion="";
static int sistO,sistD;
public static void main(String[] args)
{

public static void leer()


{

do{
sistD=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el numero de la base del sistema destino"));
iif(sistD>9 || sistD<2 )
JOptionPane.showMessageDialog(null,"Se admite bases de 2 a 9");
}while(sistD>9 || sistD<2);
sistO=10;
}

public static void desde_base_decimal(String numO)


{
leer();
numD="";
while(Integer.parseInt(numO)>=sistD)
{
p
pos=String.valueOf(Integer.parseInt(numO)%sistD);

numO=String.valueOf(Integer.parseInt(numO)/sistD);
numD+=pos;
}
pos=numO;
numD+=pos;
invertir_cadena(numD,sistD);
limpiarValores();
}

public static void limpiarValores()


{
numD="";pos="";conversion="";
sistO=0;sistD=0;
}

public static void invertir_cadena(String numD,int sistD)


{
for(int i=numD.length();i>0;i--)
{
conversion+=numD.substring((i-1),i);
}
JOptionPane.showMessageDialog(null,"Transformacion: \n"+"Es igual a: "+ conversion+" en base "+sistD);
}
}
ANEXO 2
Clase Leer: Realizado en el curso de Estructura de Datos y Algoritmos. Invocado desde el código 4 (SyGEvaluacion).
import java.io.*;
public class Leer{
public static String dato(){
String sdato = "";
try{
// Definir un flujo de caracteres de entrada: flujoE
InputStreamReader isr =
new InputStreamReader(System.in);
BufferedReader flujoE=
new BufferedReader(isr);
// Leer. La entrada finaliza al pulsar la tecla Entrar
sdato = flujoE.readLine();
}
catch(IOException e){
System.err.println("Error: " + e.getMessage());
}
return sdato; // devolver el dato tecleado
}

public static short datoShort(){


try{
return Short.parseShort(dato());
}
catch(NumberFormatException e){
// valor más pequeño
return Short.MIN_VALUE;
}
}

public static int datoInt(){


try{
return Integer.parseInt(dato());
}
catch(NumberFormatException e){
// valor más pequeño
return Integer.MIN_VALUE;
}
}

public static long datoLong(){


try{
return Long.parseLong(dato());
}
catch(NumberFormatException e){
// valor más pequeño
return Long.MIN_VALUE;
}
}

public static float datoFloat(){


try{
Float f = new Float(dato());
return f.floatValue();
}
catch(NumberFormatException e){
// No es un Número; valor float.
return Float.NaN;
}
}

public static double datoDouble(){


try{
Double d = new Double(dato());
return d.doubleValue();
}
catch(NumberFormatException e){
// No es un Número; valor double.
return Double.NaN;
}
}

public static String datoString(){


return dato();
}

public static char datoChar(){


int c=0;
try{
InputStreamReader isr =
new InputStreamReader(System.in);
BufferedReader flujoE=
new BufferedReader(isr);
c=flujoE.read();
char car;
car=(char) c;
return car;
}
catch(IOException e){
return '\0';
}
}
}

Universidad Continental de Ciencias e Ingenierias


E.A.P Ingeniería Informática
V Semestre - 2008
Por:
Saforas Contreras Danny H.
Gutierrez Zuñiga César.
Nota: Los códigos fuente fueron compilados con javac y gcj sobre linux.