lunes

EJERCICIOS EN JAVA 01-06 TALLER N3 (DO WHHILE)

1-Dado un vector de 15 posiciones, almacenarlos con números k se encuentre en el rango entre 10 y 30, luego de estar lleno el vector debe mostrar el siguiente menú:
· Suma de los números pares del vector.
· Cantidad de números impares.
· Cantidad de números múltiplos de 4.
· Numero mayor.
· Número menor.
Nota: una vez mostrada la información se le debe preguntar al usuario si desea hacer otra consulta si la respuesta es afirmativa debe desplegarle nuevamente el menú de lo contrario debe enviarle un mensaje informándole que se cerrara el programa.

int i=0;
int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de numeros en el vector"));
int [] vnum=new int [n];

while(i do{
vnum[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero"));
}while(vnum[i]<10vnum[i]>30);
i=i+1;
}

int opc;
String consulta;
do{
do{
opc=Integer.parseInt(JOptionPane.showInputDialog("Digite la opcion que decee:\n 1:suma de los numeros pares del vector\n 2:cantidad de numeros impares\n 3:cantidad de numeros multiplos de 4\n 4:numero mayor ingresado en el vector\n 5:numero menor ingresado en el vector"));
}while(opc<1opc>5);
switch (opc) {


case 1:
int r=0;
int sp=0;
i=0;
while(i r=vnum[i]%2;
if(r==0){
sp=sp+vnum[i];
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "La suma de los numeros pares en el vector es"+String.valueOf(sp));

break;

case 2:
int ci=0;
i=0;
while(i r=vnum[i]%2;
if(r!=0){
ci=ci+1;
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "La cantidad de numeros impares es"+String.valueOf(ci));
break;

case 3:
int cnm=0;
i=0;
while(i r=vnum[i]%4;
if(r==0){
cnm=cnm+1;
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "La cantidad de numeros multiplos de 4 son "+String.valueOf(cnm));
break;

case 4:
int nm=0;
i=0;
while(i if(vnum[i]>nm){
nm=vnum[i];
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "El numero mayor es"+String.valueOf(nm));
break;

case 5:
i=0;
int nme=vnum[0];
while(i if(vnum[i] nme=vnum[i];
}
i=i+1;
}
JOptionPane.showMessageDialog(null, "El numero menor es"+String.valueOf(nme));
break;


}
consulta=JOptionPane.showInputDialog("Desea hacer otra consulta");
}while(consulta.equals("si"));

}
}


2-llenar un vector N posiciones; posteriormente imprimir por pantalla el siguiente menú
A .ordenar el vector
1 .ascendente.
2 .descendentemente.
B .cambiar el valor de una posición en el vector (se debe pedir la posición a la cual se le debe cambiar el valor y el nuevo valor).
C .cantidad de veces que se encuentra el numero en el vector (el usuario digita un numero y decir cuántas veces se repite) si no se encuentra enviar el mensaje de no encontrad.
Nota: una vez mostrada la información se le debe preguntar al usuario si desea hacer otra consulta si la respuesta es afirmativa debe desplegarle nuevamente el menú de lo contrario debe enviarle un mensaje informándole que se cerrara el programa

int n=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de numeros en el vector"));

int i=0;


int vnum[]=new int[n];

while (i vnum [i]=Integer.parseInt(JOptionPane.showInputDialog("Digite los numeros "));
i=i+1;
}
int opcion;
String cons;
do{
do{
opcion=Integer.parseInt(JOptionPane.showInputDialog("Digite la opcion que decee \n 1:ordenar el vector\n 2: cambiar el valor de una posicion en el vector\n 3: cantidad de veces que se encuentra el numero en el vector"));
}while (opcion<1opcion>3);
switch (opcion){
case 1:

String consulta;
int opc;
do{

do{
opc=Integer.parseInt(JOptionPane.showInputDialog("Digite la opcion\n 1: ordenar el vector de forma ascendente \n 2: ordenar el vector de forma descendente"));
}while (opc<1opc>2);
switch (opc){


case 1:
i=0;

int t;
while (i int j=0;
while (j if(vnum[i] t=vnum[i];
vnum[i]=vnum[j];
vnum[j]=t;
}
j=j+1;
}
i=i+1;
}
i=0;
while(i JOptionPane.showMessageDialog(null, "los numeros en forma ascendente son:"+String.valueOf(vnum[i]));
i=i+1;
}
break;

case 2:
i=0;

while (i int k=0;
while (k if(vnum[i]>vnum[k]){
t=vnum[i];
vnum[i]=vnum[k];
vnum[k]=t;
}
k=k+1;
}
i=i+1;
}
i=0;
while(i JOptionPane.showMessageDialog(null, "los numeros en forma descendente son:"+String.valueOf(vnum[i]));
i=i+1;
}
break;

}
consulta=JOptionPane.showInputDialog("Desea hacer otra consulta en el case 1");
}while(consulta.equals("si"));
break;


case 2:

int posicion;
do{


posicion =Integer.parseInt(JOptionPane.showInputDialog("digite la posicion a la que le desea cambiar el valor"));
}while(posicion<0posicion>n-1);
int nv=Integer.parseInt(JOptionPane.showInputDialog("digite el nuevo valor "));
i=0;
while (i vnum[posicion]=nv;
i=i+1;
}
i=0;
while(i JOptionPane.showMessageDialog(null, "el nuevo valor de la posicion "+ i +" es:"+ String.valueOf(vnum[i]));
i=i+1;
}break;


case 3:

int ba=0;
int c=0;
int c1=0;
int numero=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero"));
i=0;
while(i if(numero==vnum[i]){
ba=1;
c=c+1;
}
else{
c1=c1+1;
}
i=i+1;
}
if(ba==1){
JOptionPane.showMessageDialog(null, "La cantidad de veces que se repite el numero "+ numero +"en el vector es"+String.valueOf(c));
}
if(c1==n){
JOptionPane.showMessageDialog(null, "El numero no fue encontrado");
}
break;
}

cons=JOptionPane.showInputDialog("Desea hacer otra consulta en el menu principal");
}while(cons.equals("si"));

}
}


3-llenar tres vectores con información de un usuario cedula, nombre, promedio (recuerde que la información de un usuario se encuentra en la misma posición en cada uno de los vectores). Luego de tener lleno los tres vectores se debe mostrar el siguiente menú.
a. Mostrar el listado por nombre de la persona cuyo promedio es menor a 3.5.
b. Mostrar el nombre de la persona cuyo promedio es el mayor de todos.
c. Hacer una búsqueda del promedio por cedula (el usuario digita la cedula buscar e inmediatamente se debe imprimir el promedio de dicha persona )
d. Cambiar promedio (localiza por cedula a la persona a la cual le va a cambiar el promedio) pidiendo el nuevo valor del promedio.
Nota: una vez mostrada la información se le debe preguntar al usuario si desea hacer otra consulta si la respuesta es afirmativa debe desplegarle nuevamente el menú de lo contrario debe enviarle un mensaje informándole que se cerrara el programa.

int n=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero de posiciones: "));

int []vc= new int[n];
String[]vn= new String[n];
float []vp= new float [n];

int i=0;

while(i vc[i]=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero de la cedula: "));
vn[i]=JOptionPane.showInputDialog("Digite el nombre: ");
do{
vp[i]=Float.parseFloat(JOptionPane.showInputDialog("Digite el promedio: "));
}while(vp[i]<1.0>5.0);
i=i+1;
}


int opc;
String cons;
do{
do{
opc =Integer.parseInt(JOptionPane.showInputDialog("Digite 1/n: listado de las personas con promedio menor a 3.5: \n 2=para ver el nombre de la persona con mayor promedio: \n 3=para hacer la busqueda del promedio por cedula: \n 4=para cambiar promedio: "));

}while(opc<>4);

switch (opc) {
case 1:
int j=0;
while(j if(vp[j]<3.5){
JOptionPane.showMessageDialog(null,("El nombre de la persona cuyo promedio menor: " )+vn[j]);
}
j=j+1;
}

break;

case 2:
float pm=0;
String nombre = null;

int k=0;
while (k if (vp[k]>pm){
pm= vp[k];
nombre=vn[k];

}
k=k+1;
}

JOptionPane.showMessageDialog(null,"El nombre de la persona cuyo promedio mayor es:"+ nombre);
break;
case 3:

int ced=Integer.parseInt(JOptionPane.showInputDialog("Digite la cedula a buscar:"));
k=0;
while (k if(vc[k]==ced){

JOptionPane.showMessageDialog(null, "El promedio de dicha persona es:"+ vp[k]);
}
k=k+1;
}
break;

case 4:

int cedula=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero de la cedula: "));
k=0;
while (k if(vc[k]==cedula){
float np =Float.parseFloat(JOptionPane.showInputDialog("Digite el nuevo promedio: "));
vp[k]=np;
}
k=k+1;
}
j=0;
while (j JOptionPane.showMessageDialog(null, "La cedula es: " +vc[j]+ " : " +vp[j] );
j=j+1;
}

break;


}

cons=JOptionPane.showInputDialog("Desea realizar otra consulta ");
}while(cons.equals("si"));



}

}


4-hacer un programa que dado un numero imprima los números entre 2 y el numero, pero coloca entre paréntesis si el numero es primo, si es un numero compuesto no.eg. Si el numero ingresado es 12…seria: (2) (3) 4 (5) 6 (7) 8 9 10 (11) 12 y los números primos deben ser almacenados en un vector.
Nota: una vez mostrada la información se le debe preguntar al usuario si desea hacer otra consulta si la respuesta es afirmativa debe desplegarle nuevamente el menú de lo contrario debe enviarle un mensaje informándole que se cerrara el programa.

String cons;
do{
int r=0;
int con=0;
int c=0;

int n=Integer.parseInt(JOptionPane.showInputDialog("Digite el numero"));
int []vnum=new int [n];

int i=2;
while(i con=0;
int j=2;
while(j r=i%j;
if(r==0){
con=con+1;
}
j=j+1;
}
if(con==0){
JOptionPane.showMessageDialog(null, "Los numeros primos en el vector es: (" + i + ")");
vnum[c]=i;
c=c+1;
}

else{
JOptionPane.showMessageDialog(null, "Los numeros compuestos en el vector son "+ i);
}
i=i+1;
}
cons= JOptionPane.showInputDialog("Desea hacer otra consulta");
}while(cons.equals("si"));
}
}


5- Dado n números almacenarlos en un vector, mostrar cuantos de esos números son capicúa (son aquellos k se lee igual hacia delante y hacia atrás).cuales
Nota: una vez mostrada la información se le debe preguntar al usuario si desea hacer otra consulta si la respuesta es afirmativa debe desplegarle nuevamente el menú de lo contrario debe enviarle un mensaje informándole que se cerrara el programa.

String consulta;
do{
int n=Integer.parseInt(JOptionPane.showInputDialog("digite la cantidad de posiciones"));
int va[]=new int[n];
int i=0;
while(i
va[i]=Integer.parseInt(JOptionPane.showInputDialog("digite el numero posicion "+i));
while(va[i]<=0);
i=i+1;
}
int c=0;
i=0;

while(i

int falta=va[i];
int ni=0;
int resto=0;
resto=falta%10;
falta=falta/10;
ni=ni*10+resto;

while(falta!=0)
{
resto=falta%10;
ni=ni*10+resto;
falta=falta/10;

}
if(ni==va[i]){

JOptionPane.showMessageDialog(null, "el numero"+String.valueOf(va[i])+" es capicua");
c=c+1;
}else
JOptionPane.showMessageDialog(null, "el numero"+String.valueOf(va[i])+" no es capicua");
i=i+1;
}
JOptionPane.showMessageDialog(null, "la cantidad de numeros capicua son: "+String.valueOf(c));

consulta=JOptionPane.showInputDialog("Desea hacer otra consulta");
}while(consulta.equals("si"));
}

}

6- Almacenar 22 números enteros en un vector y en un Segundo vector almacenar la cantidad de números 1 k tiene dicho numero Ej:
2 12 121 33 14
0 1 2 0 1

Imprimir aquellos números k contiene el número 1 y frente a las cuantas veces se repite el número 1 en dicho numero Ej. 12=1.
Nota: una vez mostrada la información se le debe preguntar al usuario si desea hacer otra consulta si la respuesta es afirmativa debe desplegarle nuevamente el menú de lo contrario debe enviarle un mensaje informándole que se cerrara el programa.

int d,s=0;
float r;
int n=Integer.parseInt(JOptionPane.showInputDialog("digite la cantidad de numeros en el vector: "));

int []va=new int [n];
int []vb=new int[n];
String cons;
do{
int i=0;
while (i va[i]=Integer.parseInt(JOptionPane.showInputDialog("digite el numero:"));
i=i+1;
}
int j=0;
while(j d=0;
r=0;
s=0;
d=va[j];

do{
r=d%10;
if(r==1){
s=s+1;

}
d=(int)(d/10);
}while(d>0);
vb[j]=s;
j=j+1;
}
i=0;
while (i JOptionPane.showMessageDialog(null,"el numero: " + va[i]+ " la cantidad es: " + vb[i]);

i=i+1;
}
cons=JOptionPane.showInputDialog("Desea realizar otra consulta");
}while(cons.equals("si"));
}

}



int i=0;
while(in, m=n y mm){
s=m;
f=n;
}
else{
s=n;
f=m;
}
int con=0;
i=0;
while(i vc[con]=va[i];
con=con+1;
vc[con]=vb[i];
con=con+1;
i=i+1;
}
i=s;
while(i if(f==n){
vc[con]=va[i];
}
else{
vc[con]=vb[i];
}
con=con+1;
i=i+1;
}
i=0;
while(i JOptionPane.showMessageDialog(null, "El resultado de intercalar los vectores es"+vc[i]);

i=i+1;
}

}
}

0 comentarios:

Publicar un comentario