codigos java i
DESCRIPTION
Ejemplos de Codigos en java- javac compiler- gcjVer Ejemplos: http://wp.me/p7dBv-aUTRANSCRIPT
1)import javax.swing.*;public class SyGCalculoHorario{
static int MAX=20;int []a=new int[MAX];i
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();ir.menuElegir(0,0,0);ii
}}
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);}
codig.admision(cod);c}}
void admision(int cod){
int mod1=0, par=0, impar=0;SyGCodigo codig = new SyGCodigo(); for(int i=1;i<=4;i++)f{
if(cod>=10)mod1=cod%10;
elsemod1=cod;
if(mod1==0){
JOptionPane.showMessageDialog(null,"Código No Admitido por tener digito(s) ceros.");codig.leerCodigo();c
}if(((mod1)%2)==0)
par++;else
impar++;i
cod=cod/10;c}}
if(par>=3 || impar>=3)JOptionPane.showMessageDialog(null,"FALSE!!... Código INVÁLIDO");
elseJOptionPane.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;int tempSup=25;ii
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[]){{
int contador=0;i
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="";int array2[] = new int[MAX];i
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// return 0;r
for(int j=0;j<array2.length-i;j++){{{
if(array2[j]>array2[j+1]){
k=array2[j+1]; array2[j+1]=array2[j]; array2[j]=k;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.");
opcion=Integer.parseInt(cadena);o
switch(opcion){
case 1:temperatura.temperaturaMaximaMensual(array);break;case 2:temperaturaSuperiorA=temperatura.temperaturaSuperada(array);break;case 3:
{if(temperaturaSuperiorA>0)
temperatura.promedioTemperaturaSuperior(temperaturaSuperiorA, array);
elseJOptionPane.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 Leerpublic 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){
for(int i=0;i<Temp.length;i++)f{
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){
int ca=0,cp=0;i
for(int i=0;i<A.length;i++){
if(A[i]==1){
cp++;if(N[i]>5)i
ca++;}}
}}
System.out.println("El porcentaje de alumnos prest. y aproba. es :"+ ((ca*100)/(cp))+"%");}static void mayor(int[] C, int[] N, int[] A){
int may=0,i=0;i
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;do{dSystem.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("----------------------------------------");ingresar(Codigo,"codigo [0001 - 9999]");i
System.out.println("----------------------------------------");ingresar(Asistencia,"asistencia [1. Presente] [0. Ausente] ");i
System.out.println("----------------------------------------");ingresar(Nota,"nota [00 - 20]");i
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.*;public class SyGFraccion{p
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
JOptionPane.showMessageDialog(null,""+numerador+"/"+denominador);JJ
}}
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);elsee
fraccional.ingresaFraccion();f
}while(opcion!=0);}}
}
6)import javax.swing.*;public class SyGMultiOperaciones{
static String cadena,cadenaNumerica;static int eligeOpcion(){
int opcion=0;i
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);
do{dretro=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);JOptionPane.showMessageDialog(null,"Número de Dígitos: "+numDigitos);break;J
case 5: impares=numDigitosImpares(numeroEntero);JOptionPane.showMessageDialog(null,"Número de Dígitos Impares: "+impares);break;J
case 6: retro=0;break;rcase 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){
int faq=0;i
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++;
}return c;r
}}
}
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]);int exp = Integer.parseInt(args[1]);i
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;if(exp<0) exponente=-exp;i
for(int i=1;i<=exponente;++i){{
result*=base;}}}
if(exp<0){
exponente=-exp;resultDecimal=1/result;rSystem.out.println("1/"+result+" = "+resultDecimal);System.exit(0);S
}else if(base==0 && exp!=0)
result=0;else if(base==0 && exp==0){
System.out.println("Indefinido");System.exit(0);
}return result;rr
}}}
8)public class SyGMcd_Mcm{
static int MAX=2;sstatic int mcd(int a, int b){
int x=0,nuevob=0;x = a;xif (a < b){
a = b;b = x;System.out.println(a+" \t"+b);Sreturn 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=mcm(a,b);dSystem.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ínimoimport 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.");opcion=Integer.parseInt(cadena);o
return opcion;}}
static int moda(int numero[],int frecuencia[]){
int moda=0,frec=0;i
for(int j=0;j<numero.length;j++)if(frecuencia[j]>frec){
frec=frecuencia[j];moda=numero[j];
}return moda;r
}}
static int mediana(int numero[],int frecuencia[]){
int med=0,medi=0,indice=0;iii
int[] frecuenciaAcumulada = new int[MAX];int[] frecuenciaAcumuladaOrdenada = new int[MAX];ifrecuenciaAcumulada[0]=frecuencia[0];f
for(int j=1;j<frecuencia.length;j++)frecuenciaAcumulada[j]=frecuenciaAcumulada[j-1]+frecuencia[j];f
frecuenciaAcumuladaOrdenada=ordenaArreglo(frecuenciaAcumulada);med=frecuenciaAcumuladaOrdenada[MAX-1]/2;m
int k=0;iwhile(med>frecuenciaAcumuladaOrdenada[k])
k++;kk
medi=frecuenciaAcumuladaOrdenada[k];m
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];frecuenciaOrdenada=ordenaArreglo(frecuencia);f
return frecuenciaOrdenada[MAX-1];}static int minimo(int numero[],int frecuencia[]){
int[] frecuenciaOrdenada = new int[MAX];frecuenciaOrdenada=ordenaArreglo(frecuencia);f
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;}
}}return arreglo;rr
}}
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 : ");frecuencia[i]=Integer.parseInt(cadena);f
}do{d
opcion=elijeOpcion();
int moda=0,mediana=0,maximo=0,minimo=0,promedio=0;ii
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: JOptionPane.showMessageDialog(null,"Ingrese una opción válida...");J
}}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="";
elsecoma=", ";
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="+";
elsesigno="-";
if(i==numFracciones)signo=" ";s
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;
i
for(int i=limiteMin;i<=limiteMax;i++){
numeroInvertidoOut[j]=num.invertirNumero(i);
�
if(i==numeroInvertidoOut[j]){
System.out.println(i+" \t es capicua.");}j++;
j
}
}
}
}
int invertirNumero(int i){
{{
int numeroAux=0;
i
int numeroInvertido=0;numeroAux=i;
n
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"));
if(sistD>9 || sistD<2 )iJOptionPane.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){
pos=String.valueOf(Integer.parseInt(numO)%sistD);p
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 Entrarsdato = 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ñoreturn Short.MIN_VALUE;
}}}
public static int datoInt(){try{
return Integer.parseInt(dato());}catch(NumberFormatException e){
// valor más pequeñoreturn Integer.MIN_VALUE;
}}}
public static long datoLong(){try{
return Long.parseLong(dato());}catch(NumberFormatException e){
// valor más pequeñoreturn 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.