SlideShare una empresa de Scribd logo
1 de 29
1. Construir una aplicación en el que el usuario proporcione una cantidad entera
y la aplicación indique através de un mensaje la cantidad si es positiva o negativa,
par o impar: o en su defecto si es neutra.
import java.util.Scanner;
public class EVALUARNUMERO {
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
int numero;
EVALUARNUMERO N=new EVALUARNUMERO();
System.out.println("Ingrese el numero: ");
numero=teclado.nextInt();
System.out.println("nEL NUMERO INGRESADO ES: ");
N.NumeroImpar(numero);
N.NumeroNegativo(numero);
N.NumeroNeutro(numero);
N.NumeroPar(numero);
N.NumeroPositivo(numero);
}
public void NumeroPar(int numero){
if(numero%2==0){
System.out.println("Numero Par");
}
}
public void NumeroImpar(int numero){
if(numero%2!=0){
System.out.println("Numero Impar");
}
}
public void NumeroNegativo(int numero){
if(numero<0){
System.out.println("Numero Negativo");
}
}
public void NumeroPositivo(int numero){
if(numero>0){
System.out.println("Numero Positivo");
}
}
public void NumeroNeutro(int numero){
if(numero==0){
System.out.println("Numero Neutro");
}
}
}
EJERCICIOS RESUELTOS
1. Ingrese un número entero y encuentre el dígito mayor y el dígito menor.
SOLUCIÓN:
import java.util.Scanner;
public class MAYORMENOR {
public static void main(String[] args) {
Scanner b=new Scanner(System.in);
int n, mayor=0, menor=10, digito;
System.out.println("Ingrese el numero a evaluar: ");
n=b.nextInt();
while(n>0){
digito=n%10;
n=n/10;
if(digito>=mayor){
mayor=digito;
}
if(digito<menor){
menor=digito;
}
}
System.out.println("El digito mayor es: "+mayor);
System.out.println("El digito menor es: "+menor);
}
}
2. En una tienda se ha establecido la siguiente oferta: por compras menores
a 50 soles se hace un descuento de 8%, pero para compras a partir de 50
el descuento es de 10%. Se pide ingresar la cantidad y el precio del
producto que se compra y determinar cuanto se descontará y cuanto se
cobrará.
SOLUCIÓN:
import java.util.Scanner;
public class EJERCICIO3 {
public static void main(String[] args) {
Scanner consola=new Scanner(System.in);
double cantidad, precio,pago, descuento;
System.out.println("ingresar cantidad: ");
cantidad=consola.nextInt();
System.out.println("ingrese el precio: ");
precio=consola.nextInt();
pago=cantidad*precio;
if(pago<50){
descuento=pago*0.08;
pago=pago-descuento;
System.out.println("el descuento es: "+descuento+" , el pago a realizar es:
"+pago);
}
else{
descuento=pago*0.1;
pago=pago-descuento;
System.out.println("el descuento es: "+descuento+" , el pago a realizar es:
"+pago);
}
}
}
EJERCICIOS RESUELTOS
1. Diseñe un algoritmo para un cajero automático. El cajero tiene la
particularidad de dar solamente billetes de 500, 200, 100, 50, y 20. Si
el usuario ingresa una cantidad menor a 1500 que desea retirar, debe
arrojarle la cantidad mínima de billetes de cada tipo.
NOTA: No debe dar billetes de 10 soles, POR EJEMPLO, si se le
ingresa un monto de 510, debe arrojarme:
Billetes de 200: 2
Billetes de 50: 1
Billetes de 20: 3
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class CAJERO2 {
public static void main(String[] args) throws IOException{
BufferedReader consola = new BufferedReader(new
InputStreamReader(System.in));
int monto, i, b1 = 0, b2=0, b3=0, b4=0, b5=0, b500, b200, b100, b50, b20;
do{
System.out.println("Ingrese un monto MENO O IGUAL a 1500: ");
monto=Integer.parseInt(consola.readLine());
}while((monto<=30||monto>1500)||monto%10!=0);
while(monto>=20){
if(monto>=500&&(monto!=510&&monto!=530)){
if(monto>1000){
b1+=(int)monto/500;
monto=monto-b1*500;
}
else{
if(monto%500!=30&&monto%500!=10){
b1+=(int)monto/500;
monto=monto-b1*500;
}
}
}
if(monto>=200&&(monto%200>=10||monto%200==0)){
if(monto>410){
b2+=(int)monto/200;
monto=monto-b2*200;
}
else{
if(monto%200!=30&&monto%200!=10){
b2+=(int)monto/200;
monto=monto-b2*200;
}
}
}
if(monto>=100&&(monto%100>=10||monto%100==0)){
if(monto>110){
b3++;
monto=monto-100;
}
else{
if(monto%100!=30&&monto%100!=10){
b100=(int)monto/100;
b3=b3+b100;
monto=monto-b100*100;
}
}
}
if(monto>=50&&(monto%50>=10||monto%50==0)){
if(monto>100){
b4++;
monto=monto-50;
}
else{
if(monto%50!=30&&monto%50!=10){
b50=(int)monto/50;
b4=b4+b50;
monto=monto-b50*50;
}
}
}
if(monto>=20){
b20=(int)monto/20;
b5=b5+b20;
monto=monto-b20*20;
}
}
if(b1>0){
System.out.println("Billetes de 500: "+b1);
}
if(b2>0){
System.out.println("Billetes de 200: "+b2);
}
if(b3>0){
System.out.println("Billetes de 100: "+b3);
}
if(b4>0){
System.out.println("Billetes de 50: "+b4);
}
if(b5>0){
System.out.println("Billetes de 20: "+b5);
}
}
}
2. Ingrese un número BINARIO (número compuesto por ceros y unos),
y muestre su equivalente. Pr ejemplo, si ingreso 101101, debe
mostrarme 45 como su equivalente.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class EnteroBinario {
public static void main(String[] args) throws IOException{
BufferedReader consola=new BufferedReader(new
InputStreamReader(System.in));
int i, j, k=0, equivalente=0, numero, b=0;
boolean m = false;
String N;
do{
System.out.println("Ingrese el numero entero binario: ");
numero=Integer.parseInt(consola.readLine());
N=Integer.toString(numero);
for(i=0;i<N.length();i++){
if(N.charAt(i)=='0'||N.charAt(i)=='1'){
m=true;
b++;
}
}
}while(b<N.length());
j=numero;
while(numero>0){
numero=(int)numero/10;
k++;
}
for(i=0;i<k;i++){
equivalente+=(j%10)*Math.pow(2,i);
j=(int)j/10;
}
System.out.println("El equivalente del numero ingresado es:
"+equivalente);
}
}
3. Un número se considera perfecto cuando la suma de sus divisores
es igual al número, por ejemplo 28, tiene como divisores a 1, 2, 4, 7
y 14. Luego 28 es número perfecto, pues 1+2+4+7+14=28. Hacer un
algoritmo para determinar si un número ingresado por teclado es
perfecto.
SOLUCIÓN:
import java.util.Scanner;
public class perfecto {
public static void main(String[] args) {
Scanner b=new Scanner(System.in);
int n, suma=1,i=2;
System.out.println("Ingrese el numero: ");
n=b.nextInt();
while(i<n){
if(n%i==0){
suma=suma+i;
}
i++;
}
if(suma==n){
System.out.println("El numero es perfecto");
}
else{
System.out.println("el numero no es perfecto");
}
}
}
4. La tribuna de un estadio esta numerada del 1 al 500 en la parte
superior horizontal que corresponde al número de asiento por
columna; y del 1 al 50 en la parte izquierda vertical que corresponde
al número de asiento por fila. Los boletos tienen una numeración
correlativa del 1 al 25000. Para cualquier número de boleto determinar
el número de fila y el número de columna que le correspondería a la
ubicación de su asiento.
SOLUCIÓN:
import java.util.Scanner;
public class Asientoestadio {
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
int asiento, fila=0, columna=0;
System.out.println("Ingrese el numero de asiento: ");
asiento=teclado.nextInt();
while(asiento>500){
fila++;
asiento=asiento-500;
}
fila++;
columna=asiento;
System.out.println("El asiento corresponde a la fila: "+fila+" y a la columna:
"+columna);
}
}
5. Diseñe un algoritmo que convierte un número en base 10, a otro
número en base menor que 10. El número en base 10 y la base a la
que se va a convertir se deben ingresar por teclado.
SOLUCIÓN:
import java.util.Scanner;
public class ConvierteNumeroAbaseMenora10 {
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
int base, numero,div=0,i=1;
System.out.println("Ingrese el numero en base 10: ");
numero=teclado.nextInt();
do{
System.out.println("Ingrese la base menor a 10 : ");
base=teclado.nextInt();
}while(base<=1||base>=10);
while(numero>=base){
div=div+(numero%base)*i;
numero=(int)(numero/base);
i=i*10;
}
div=div+(numero*i);
System.out.println("el numero en base "+base+" es: "+div);
}
}
EJERCICIOS RESUELTOS
1. Ingrese un numero entero menor o igual a 4 cifras y muestre como se lee
SOLUCIÓN:
import java.util.Scanner;
public class escritura {
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
int n=0, con=0,n2=0, n1;
String numero,mensaje="", m1="DIEZ", m2="ONCE", m3="DOCE",
m4="TRECE", m5="CATORCE", M6="QUINCE",
m7="VEINTE", m8="VEINTI";
String[]
naturales={"","UNO","DOS","TRES","CUATRO","CINCO","SEIS","SIETE","OCHO","
NUEVE"};
String[] diez={"","ONCE","DOCE","TRECE","CATORCE","QUINCE"};
String[]
decenas={"","DIEZ","VEINTE","TREINTA","CUARENTA","CINCUENTA","SESENTA",
"SETENTA","OCHENTA","NOVENTA"};
String[]
centenas={"","CIEN","DOSCIENTOS","TRESCIENTOS","CUATROCIENTOS","QUINI
ENTOS","SEISCIENTOS","SETECIENTOS","OCHOCIENTOS","NOVECIENTOS"};
do{
System.out.println("Ingrese el numero a evaluar:");
numero=teclado.next();
}while(numero.length()>4);
con=numero.length();
n1=Integer.parseInt(numero.substring(con-3,con));
n2=Integer.parseInt(numero.substring(con-2,con));
for (int i = 0; i <numero.length() ; i++) {
n=Integer.parseInt(numero.substring(i,i+1));
if(con==4){
if(n>1)
mensaje=naturales[n]+" MIL"+mensaje;
else
mensaje=" MIL"+mensaje;
}
else{
if(con==3){
if(n==1&&n2>0){
mensaje=mensaje+" CIENTO";
}
else{
if(n>1){
mensaje=mensaje+" "+centenas[n];
}else{
if(n!=0)
mensaje=mensaje+" CIEN";
else
mensaje=mensaje+"";
}
}
}
else{
if(con==2){
if(n2<10){
mensaje=mensaje+" "+naturales[n2];
break;
}
else{
if(n2>10&&n2<16){
mensaje=mensaje+" "+diez[n2%10];
break;
}
else{
if(n2>15&&n2<20){
mensaje=mensaje+" "+"DIECI";
}
if(n2>20&&n2<30){
mensaje=mensaje+" "+"VEINTI";
}
}
if(n2%10==0){
mensaje=mensaje+" "+decenas[n];
break;
}
else{
if(n2>30)
mensaje=mensaje+" "+decenas[n];
}
}
}
else{
if(n2>30)
mensaje=mensaje+" Y "+naturales[n];
else
mensaje=mensaje+naturales[n];
}
}
}
con--;
}
System.out.println("El numero se lee: "+mensaje);
}
}
2. Realice un algoritmo para convertir unidades de medida.
SOLUCIÓN:
import java.util.*;
public class Manejador2 {
public static void main(String[] args) {
Scanner teclado=new Scanner(System.in);
String[][] matriz={
{"GIGA","MEGA","1000"},
{"MEGA","KILO","1000"},
{"KILO","HECT","10"},
{"HECT","DECA","10"},
{"DECA","****","10"},
{"****","DECI","10"},
{"DECI","CENT","10"},
{"CENT","MILI","10"},
{"MILI","MICR","1000"},
{"MICR","NANO","1000"},
};
String Ubase, Usalida,UE="",US = "", C1,C2, E, S;
int n, con=0;
double resultado=1, canti = 0;
System.out.println("Ingrese la cantidad a convertir:");
n=teclado.nextInt();
System.out.println("Ingrese la base: ");
Ubase=teclado.next();
System.out.println("Ingrese la salida: ");
Usalida=teclado.next();
E=Ubase.substring(0,4);
S=Usalida.substring(0,4);
if(E.equals("METR")||E.equals("GRAM")||E.equals("LITR")){
E="****";
}
if(S.equals("METR")||S.equals("GRAM")||S.equals("LITR")){
S="****";
}
C1=E; C2=S;
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[0].length; j++) {
if(matriz[i][0].equals(E)){
UE=matriz[i][0];
US=matriz[i][1];
canti=Double.parseDouble(matriz[i][2]);
con++;
break;
}
else{
break;
}
}
if(US.equals(S)){
resultado=resultado*canti;
break;
}
else{
if(con>0){
resultado=resultado*canti;
E=US;
con=0;
}
}
}
if(!US.equals(S)||UE.length()<=0){
resultado=1;
for (int i = matriz.length-1; i >=0; i--) {
for (int j = 0; j < matriz[0].length; j++) {
if(matriz[i][1].equals(C1)){
UE=matriz[i][1];
US=matriz[i][0];
canti=Double.parseDouble(matriz[i][2]);
con++;
break;
}
else{
break;
}
}
if(US.equals(C2)){
resultado=resultado/canti;
break;
}
else{
if(con>0){
resultado=resultado/canti;
C1=US;
con=0;
}
}
}
}
if(US.equals(C2))
System.out.println("nEl resultado es: "+resultado*n+" "+Usalida);
else
System.out.println("nNo se puede realizar la conversion");
}
}
EJERCICIOS RESUELTOS
1. Leer una frase y encontrar la palabra de mayor longitud. El programa debe
imprimir la palabra como el número de caracteres de la misma
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejerc12 {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i, c=0;
String cadena, palabra="", mostrar = null;
System.out.println("Ingrese la cadena: ");
cadena=br.readLine();
cadena+=" ";
for(i=0;i<cadena.length();i++){
palabra=palabra+cadena.charAt(i);
if(cadena.charAt(i)==' '){
if(palabra.length()-1>c){
c=palabra.length()-1;
mostrar=palabra.trim();
}
palabra="";
}
}
System.out.println("La palabra de mayor longitud es: "+mostrar);
System.out.println("Su longitud es: "+c);
}
}
2. Ingresar una cadena y determinar cuantas palabras se encuentran en la
cadena. Cada palabra se separa por medio de un espacio en blanco.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejerc11 {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i, con=1;
String cadena, palabra="";
System.out.println("Ingrese la cadena a evaluar: ");
cadena=br.readLine();
for(i=0;i<cadena.length();i++){
if(cadena.charAt(i)==' '){
con++;
}
}
System.out.println("La cadena contiene "+con+" palabras");
}
}
3. Ingresar un número telefónico en formato de cadena y luego lo convierta de
la siguiente manera:
Número Telefónico: 5256284000
Nueva Cadena: (52)-5-6284000
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejerc15 {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i;
String cadena,c1="", c2="", c3="";
System.out.println("Ingrese la cadena a evaluar: ");
cadena=br.readLine();
for(i=0;i<cadena.length();i++){
if(i<2){
c1=c1+cadena.charAt(i);
}
else{
if(i==2){
c2+=cadena.charAt(i);
}
else{
c3+=cadena.charAt(i);
}
}
}
System.out.println("la nueva cadena es: n"+"("+c1+")"+"-"+c2+"-"+c3);
}
}
4. Hacer un programa que al recibir como datos dos cadenas de caracteres
forme una tercera cadena intercalando los caracteres de las palabras de las
cadenas recibidas.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejerc16 {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i, j, k=0;
String cadena1, cadena2, cadena3="";
System.out.println("Ingrese la primera cadena: ");
cadena1=br.readLine();
System.out.println("Ingrese la segudna cadena: ");
cadena2=br.readLine();
for(i=0;i<cadena1.length();i++){
cadena3+=cadena1.charAt(i);
for(j=k;j<cadena2.length();j++){
cadena3+=cadena2.charAt(j);
j=cadena2.length();
k++;
}
}
System.out.println("La cadena intercalada es: "+cadena3);
}
}
5. Ingrese un texto e indique que letras no han aparecido en el texto.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejerc20 {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int ini, con=0;
String texto, nueva="", mensaje="";
System.out.println("Ingrese el texto a evaluar: ");
texto=br.readLine();
for(ini=0;ini<texto.length();ini++){
if(texto.charAt(ini)!=' '){
nueva=nueva+texto.charAt(ini);
}
}
nueva=nueva.toLowerCase();
for(char caracter='a';caracter<='z';caracter++){
for(ini=0;ini<nueva.length();ini++){
if(caracter==nueva.charAt(ini)){
con++;
}
}
if(con==0){
mensaje+=caracter+" ";
}
con=0;
}
System.out.println("nLos caracteres que faltan son: n"+mensaje);
}
}
6. Ingrese un texto e indique el porcentaje de palabras que tiene menos de 5
caracteres y el porcentaje de palabras con 5 o más caracteres.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejerc21 {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i;
double porcentaje1, porcentaje2, con=0, p5=0, p6=0;
String texto, palabra="";
System.out.println("Ingrese el texto a evaluar: ");
texto=br.readLine();
texto=texto+" ";
for(i=0;i<texto.length();i++){
palabra+=texto.charAt(i);
if(texto.charAt(i)==' '){
palabra=palabra.trim();
if(palabra.length()<5){
p5++;
}
else{
p6++;
}
palabra="";
con++;
}
}
porcentaje1=(double)((p5/con)*100);
porcentaje2=(double)((p6/con)*100);
System.out.println("El porcentaje de palabras con menos de 5 caracteres es:
"+porcentaje1+" %");
System.out.println("El porcentaje de palabras con 5 o mas caracteres es:
"+porcentaje2+" %");
}
}
7. Escriba un programa que lea una frase y a continuación visualice cada
palabra de la frase en columnas, seguida del número de letras que tiene cada
palabra.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejerc23 {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i, j;
String frase, palabra="", nueva="";
System.out.println("Ingrese la frase a evaluar: ");
frase=br.readLine();
frase+=" ";
for(i=0;i<frase.length();i++){
palabra+=frase.charAt(i);
if(frase.charAt(i)==' '){
palabra=palabra.trim();
nueva=palabra;
for(j=0;j<nueva.length();j++){
System.out.println("t"+nueva.charAt(j));
}
System.out.println("t"+nueva.length()+"nn");
palabra="";
}
}
}
}
8. Escriba un programa que calcule la frecuencia de aparición de las vocales de
un texto porcionado por el usuario. Esta solución se debe presentar en forma
de histograma, por ejmplo:
a 15 ***************
e 8 ********
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejerc24 {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i, c1=0, c2=0,c3=0, c4=0, c5=0;
String texto, m1="", m2="", m3="", m4="", m5="";
System.out.println("Ingrese el texto a evaluar: ");
texto=br.readLine();
texto=texto.toLowerCase();
for(i=0;i<texto.length();i++){
if(texto.charAt(i)=='a'){
c1++;
m1+="*";
}
if(texto.charAt(i)=='e'){
c2++;
m2+="*";
}
if(texto.charAt(i)=='i'){
c3++;
m3+="*";
}
if(texto.charAt(i)=='o'){
c4++;
m4+="*";
}
if(texto.charAt(i)=='u'){
c5++;
m5+="*";
}
}
System.out.println("");
System.out.println("a"+" "+c1+" "+m1);
System.out.println("e"+" "+c2+" "+m2);
System.out.println("i"+" "+c3+" "+m3);
System.out.println("o"+" "+c4+" "+m4);
System.out.println("u"+" "+c5+" "+m5);
}
}
9. Escribir un programa que cuente el número de palabras en un texto, que
tengan al menos cuatro vocales diferentes.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejerc25 {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int i, con=0, c1=0, c2=0, c3=0, c4=0, c5=0, vocales;
String texto, palabra="";
System.out.println("Ingrese la palabra a evaluar: ");
texto=br.readLine();
texto=texto.toLowerCase();
texto+=" ";
for(i=0;i<texto.length();i++){
palabra+=texto.charAt(i);
if(texto.charAt(i)==' '){
palabra=palabra.trim();
for(int j=0;j<palabra.length();j++){
if(palabra.charAt(j)=='a'){
c1++;
if(c1>1){
c1=1;
}
}
if(palabra.charAt(j)=='e'){
c2++;
if(c2>1){
c2=1;
}
}
if(palabra.charAt(j)=='i'){
c3++;
if(c3>1){
c3=1;
}
}
if(palabra.charAt(j)=='o'){
c4++;
if(c4>1){
c4=1;
}
}
if(palabra.charAt(j)=='u'){
c5++;
if(c5>1){
c5=1;
}
}
}
palabra="";
vocales=c1+c2+c3+c4+c5;
c1=0; c2=0; c3=0; c4=0; c5=0;
if(vocales>=4){
con++;
}
}
}
System.out.println("Las palabras son: "+con);
}
}
10. Un grupo de inteligencia militar desea codificar los mensajes secretos de tal
forma que no puedan ser interpretados con una lectura directa, para lo cual
han establecido las siguientes reglas:
a) Todo mensaje debe estar sus letras en mayúsculas.
b) Reemplazar cada letra por la que sigue según abecedario, excepto Z
que se deberá reemplazar con la letra A.
c) reemplazar cada dígito encontrado por el siguiente numero excepto el
9 que deberá ser reemplazado por el 0.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class mensajemilitar {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String mensaje, cod1="",cod2="", caracter;
String ABC="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String numeros="0123456789";
System.out.println("Ingrese el mensaje: ");
mensaje=br.readLine();
System.out.println(""+mensaje);
mensaje=mensaje.toUpperCase();
for (int i = 0; i < mensaje.length(); i++) {
caracter=mensaje.substring(i, i+1);
if(caracter.equals(" ")){
cod1=cod1+caracter;
}
else{
for (int j = 0; j < ABC.length(); j++) {
if(caracter.equals(ABC.substring(j,j+1))){
if(caracter.equals("Z")){
cod1=cod1+"A";
break;
}
else{
cod1=cod1+ABC.substring(j+1,j+2);
break;
}
}
}
for (int k = 0; k <numeros.length(); k++) {
if(caracter.equals(numeros.substring(k,k+1))){
if(caracter.equals("9")){
cod1=cod1+"0";
break;
}
else{
cod1=cod1+numeros.substring(k+1,k+2);
break;
}
}
}
}
}
System.out.println("nMENSAJE INGRESADO: "+mensaje);
System.out.println("CODIGO RESULTANTE "+cod1);
}
}
1. Escriba una función recursiva que imprima en forma invertida los
dígitos de un número entero.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejer1 {
public static void invertir(int num){
System.out.print(num%10);
if(num/10!=0){
invertir(num/10);
}
}
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
int n;
System.out.println("Ingrese el numero a evaluar: ");
n=Integer.parseInt(br.readLine());
System.out.print("El numero invertido es: ");
invertir(n);
System.out.println();
}
}
2. Escriba una función recursiva que invierta una cadena de
caracteres.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejer4 {
public static String invertir(String cad, int tama){
String c2="";
if(tama==0){
c2+=cad.charAt(tama);
return c2;
}
else{
c2=cad.charAt(tama)+invertir(cad, tama-1);
return c2;
}
}
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
int tamaño;
String cadena;
System.out.println("Ingrese la cadena a evaluar: ");
cadena=br.readLine();
tamaño=cadena.length()-1;
System.out.println("La nueva cadena es: "+invertir(cadena, tamaño));
}
}
3. Diseñe una función recursiva exponente tal que dada la base y el
exponente como números enteros devuelva su resultado. Validar que
la base será mayor que cero y el exponente mayor o igual que cero.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejer5 {
public static int exponente(int base, int exp){
if(exp==0){
return 1;
}
else{
return base*exponente(base,exp-1);
}
}
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
int n, b;
do{
System.out.println("Ingrese el numero: ");
n=Integer.parseInt(br.readLine());
}while(n<=0);
do{
System.out.println("Ingrese la base: ");
b=Integer.parseInt(br.readLine());
}while(b<0);
System.out.println("El resultado es: "+exponente(n, b));
}
}
4. Programar un algoritmo recursivo que permita sumar los elementos
de un vector.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejer6 {
public static int vector(int A[], int num){
if(num==0){
return A[num];
}
else{
return A[num]+vector(A,num-1);
}
}
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
int V[], n;
System.out.println("Ingrese el tamaño: ");
n=Integer.parseInt(br.readLine());
V=new int[n];
for(int i=0;i<n;i++){
System.out.println("V ["+i+"] = ");
V[i]=Integer.parseInt(br.readLine());
}
System.out.println("La suma de los elementos es: "+vector(V,n-1));
}
}
5. Escribir una función recursiva que tenga un argumento de tipo entero
y que devuelva la letra P si el número es positivo y la letra N si el
número es cero o negativo.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejer8 {
public static char valor(int numero){
if(numero<=0){
return 'N';
}
else{
return 'P';
}
}
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
int n;
char v;
System.out.println("Igrese el numero: ");
n=Integer.parseInt(br.readLine());
v=valor(n);
if(v=='P'){
System.out.println("El numero es positivo");
}
else{
System.out.println("El numero es negativo");
}
}
}
6. Escriba una función recursiva que sume los (n) primeros números
enteros positivos.
SOLUCIÓN:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ejer3 {
public static int sumar(int a){
if(a>0){
return a+sumar(a-1);
}
else{
return 0;
}
}
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
int n;
System.out.println("INgrese la cantidad de numeros a sumar: ");
n=Integer.parseInt(br.readLine());
System.out.println("La suma es: "+sumar(n));
}
}
7. Escriba una función recursiva muestre la SERIE DE FIBONACCI,
ingresando el número de términos.
SOLUCIÓN:
import java.util.Scanner;
public class Ejer9 {
public static int fibonaci(int numero){
if(numero==0||numero==1){
return 1;
}
else{
return fibonaci(numero-1)+fibonaci(numero-2);
}
}
public static void main(String[] args) {
Scanner b=new Scanner(System.in);
int n, i;
System.out.println("Ingrese la cantidad de terminos: ");
n=b.nextInt();
for(i=0;i<n;i++){
System.out.print(fibonaci(i)+" ");
}
System.out.println("");
}
}

Más contenido relacionado

La actualidad más candente

Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacionJaime amambal
 
Ejercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolioEjercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolioJesica Pérez
 
05 sentencias basicas
05 sentencias basicas05 sentencias basicas
05 sentencias basicasCarlos
 
Ejercicios en netbeans con condiciones
Ejercicios en netbeans con condicionesEjercicios en netbeans con condiciones
Ejercicios en netbeans con condicionesJoshe Varillas
 
Manual de prácticas java 2015
Manual de prácticas java 2015Manual de prácticas java 2015
Manual de prácticas java 2015Ulises_312
 
Ejercicios de estructura secuencial
Ejercicios de estructura secuencialEjercicios de estructura secuencial
Ejercicios de estructura secuencialyulieth licona
 
Universidad politécnica de tecámac
Universidad politécnica de tecámacUniversidad politécnica de tecámac
Universidad politécnica de tecámacmariferyaaron
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Kiim Kerrigan
 
Unidad2 programas while , do while y for
Unidad2 programas while , do while  y forUnidad2 programas while , do while  y for
Unidad2 programas while , do while y forMiguel Angel Peña
 
Ejercicios Whule y Do While
Ejercicios Whule y Do WhileEjercicios Whule y Do While
Ejercicios Whule y Do WhileJoshe Varillas
 
Ejercicios java
Ejercicios javaEjercicios java
Ejercicios javajosesan999
 
282722811 7-ejercicios-fase-3-c (1)
282722811 7-ejercicios-fase-3-c (1)282722811 7-ejercicios-fase-3-c (1)
282722811 7-ejercicios-fase-3-c (1)Jesus Tangarife
 
Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con javadiegocastro1234
 

La actualidad más candente (19)

Ejercicios Python Parte 2
Ejercicios Python Parte 2Ejercicios Python Parte 2
Ejercicios Python Parte 2
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Ejercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolioEjercidos resueltos en java para el portafolio
Ejercidos resueltos en java para el portafolio
 
05 sentencias basicas
05 sentencias basicas05 sentencias basicas
05 sentencias basicas
 
Ejercicios en netbeans con condiciones
Ejercicios en netbeans con condicionesEjercicios en netbeans con condiciones
Ejercicios en netbeans con condiciones
 
Manual de prácticas java 2015
Manual de prácticas java 2015Manual de prácticas java 2015
Manual de prácticas java 2015
 
Ejercicios de estructura secuencial
Ejercicios de estructura secuencialEjercicios de estructura secuencial
Ejercicios de estructura secuencial
 
Universidad politécnica de tecámac
Universidad politécnica de tecámacUniversidad politécnica de tecámac
Universidad politécnica de tecámac
 
Ejercicios de consola en c++
Ejercicios de consola en c++Ejercicios de consola en c++
Ejercicios de consola en c++
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
 
Computo movil ejercicio clases resuelto
Computo movil ejercicio clases resueltoComputo movil ejercicio clases resuelto
Computo movil ejercicio clases resuelto
 
Unidad2 programas while , do while y for
Unidad2 programas while , do while  y forUnidad2 programas while , do while  y for
Unidad2 programas while , do while y for
 
Ejercicios Whule y Do While
Ejercicios Whule y Do WhileEjercicios Whule y Do While
Ejercicios Whule y Do While
 
Ejercicios java
Ejercicios javaEjercicios java
Ejercicios java
 
Ejercicios python
Ejercicios pythonEjercicios python
Ejercicios python
 
Ejercicio en c
Ejercicio en cEjercicio en c
Ejercicio en c
 
282722811 7-ejercicios-fase-3-c (1)
282722811 7-ejercicios-fase-3-c (1)282722811 7-ejercicios-fase-3-c (1)
282722811 7-ejercicios-fase-3-c (1)
 
Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con java
 
Algoritmos para c#
Algoritmos para c#Algoritmos para c#
Algoritmos para c#
 

Similar a JAVAX (20)

Javadesarrollado 150406000826-conversion-gate01
Javadesarrollado 150406000826-conversion-gate01Javadesarrollado 150406000826-conversion-gate01
Javadesarrollado 150406000826-conversion-gate01
 
Ejercicios tema1
Ejercicios tema1Ejercicios tema1
Ejercicios tema1
 
Programa en java con el Metodo de la burbuja
Programa en java con el Metodo de la burbujaPrograma en java con el Metodo de la burbuja
Programa en java con el Metodo de la burbuja
 
Cecytem
CecytemCecytem
Cecytem
 
Practica 10
Practica 10Practica 10
Practica 10
 
Tarea algoritmos
Tarea algoritmosTarea algoritmos
Tarea algoritmos
 
12
1212
12
 
Practica 10
Practica 10Practica 10
Practica 10
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Dfd
DfdDfd
Dfd
 
Diagramas de flujo
Diagramas de flujo Diagramas de flujo
Diagramas de flujo
 
Diagramas de flujo1
Diagramas de flujo1Diagramas de flujo1
Diagramas de flujo1
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Manual de DFD_3
Manual de DFD_3Manual de DFD_3
Manual de DFD_3
 
Manual de dfd
Manual de dfd Manual de dfd
Manual de dfd
 
Manual de dfd
Manual de dfdManual de dfd
Manual de dfd
 
MANUAL DFD
MANUAL DFDMANUAL DFD
MANUAL DFD
 
MANUAL DE DFD
MANUAL DE DFD MANUAL DE DFD
MANUAL DE DFD
 
MANUAL DE DFD
MANUAL DE DFDMANUAL DE DFD
MANUAL DE DFD
 
Manual dfd 3
Manual dfd 3Manual dfd 3
Manual dfd 3
 

Último

PRIMEROS AUXILIOS BOMBEROS 2024 actualizado
PRIMEROS AUXILIOS BOMBEROS 2024 actualizadoPRIMEROS AUXILIOS BOMBEROS 2024 actualizado
PRIMEROS AUXILIOS BOMBEROS 2024 actualizadoNestorCardona13
 
DETERMINISMO DEL TRABAJO DE PARTO-1.pptx
DETERMINISMO DEL TRABAJO DE PARTO-1.pptxDETERMINISMO DEL TRABAJO DE PARTO-1.pptx
DETERMINISMO DEL TRABAJO DE PARTO-1.pptxfiorellaanayaserrano
 
AFERESIS TERAPEUTICA para el personal médico
AFERESIS TERAPEUTICA para el personal médicoAFERESIS TERAPEUTICA para el personal médico
AFERESIS TERAPEUTICA para el personal médicoGabrielMontalvo19
 
Esquema de Vacunas en enfermeria y tecnicas de vacunación
Esquema de Vacunas en enfermeria y tecnicas de vacunaciónEsquema de Vacunas en enfermeria y tecnicas de vacunación
Esquema de Vacunas en enfermeria y tecnicas de vacunaciónJorgejulianLanderoga
 
patologia de robbins capitulo 4 Lesion celular.pdf
patologia de robbins capitulo 4 Lesion celular.pdfpatologia de robbins capitulo 4 Lesion celular.pdf
patologia de robbins capitulo 4 Lesion celular.pdfVilcheGuevaraKimberl
 
Trombocitopenia Inmune primaria , clínica
Trombocitopenia Inmune primaria , clínicaTrombocitopenia Inmune primaria , clínica
Trombocitopenia Inmune primaria , clínicaVillegasValentnJosAl
 
Colecistitis aguda-Medicina interna.pptx
Colecistitis aguda-Medicina interna.pptxColecistitis aguda-Medicina interna.pptx
Colecistitis aguda-Medicina interna.pptx Estefa RM9
 
(2024-04-29)Actualización en profilaxis PrEP frente a VIH. (DOC)
(2024-04-29)Actualización en profilaxis PrEP frente a VIH. (DOC)(2024-04-29)Actualización en profilaxis PrEP frente a VIH. (DOC)
(2024-04-29)Actualización en profilaxis PrEP frente a VIH. (DOC)UDMAFyC SECTOR ZARAGOZA II
 
Se sustituye manual tarifario 2023 Manual Tarifario 2024.pdf
Se sustituye manual tarifario 2023 Manual Tarifario 2024.pdfSe sustituye manual tarifario 2023 Manual Tarifario 2024.pdf
Se sustituye manual tarifario 2023 Manual Tarifario 2024.pdfangela604239
 
PUNTOS CRANEOMÉTRICOS PARA PLANEACIÓN QUIRÚRGICA
PUNTOS CRANEOMÉTRICOS  PARA PLANEACIÓN QUIRÚRGICAPUNTOS CRANEOMÉTRICOS  PARA PLANEACIÓN QUIRÚRGICA
PUNTOS CRANEOMÉTRICOS PARA PLANEACIÓN QUIRÚRGICAVeronica Martínez Zerón
 
PPT HIS PROMSA - PANAS-MINSA DEL 2024.pptx
PPT HIS PROMSA - PANAS-MINSA DEL 2024.pptxPPT HIS PROMSA - PANAS-MINSA DEL 2024.pptx
PPT HIS PROMSA - PANAS-MINSA DEL 2024.pptxOrlandoApazagomez1
 
Psicología: Revista sobre las bases de la conducta humana.pdf
Psicología: Revista sobre las bases de la conducta humana.pdfPsicología: Revista sobre las bases de la conducta humana.pdf
Psicología: Revista sobre las bases de la conducta humana.pdfdelvallepadrob
 
Revista de psicología sobre el sistema nervioso.pdf
Revista de psicología sobre el sistema nervioso.pdfRevista de psicología sobre el sistema nervioso.pdf
Revista de psicología sobre el sistema nervioso.pdfleechiorosalia
 
infografía seminario.pdf.................
infografía seminario.pdf.................infografía seminario.pdf.................
infografía seminario.pdf.................ScarletMedina4
 
seminario patología de los pares craneales 2024.pptx
seminario patología de los pares craneales 2024.pptxseminario patología de los pares craneales 2024.pptx
seminario patología de los pares craneales 2024.pptxScarletMedina4
 
Relacion final de ingresantes 23.11.2020 (2).pdf
Relacion final de ingresantes 23.11.2020 (2).pdfRelacion final de ingresantes 23.11.2020 (2).pdf
Relacion final de ingresantes 23.11.2020 (2).pdfAlvaroLeiva18
 
Historia Clínica y Consentimiento Informado en Odontología
Historia Clínica y Consentimiento Informado en OdontologíaHistoria Clínica y Consentimiento Informado en Odontología
Historia Clínica y Consentimiento Informado en OdontologíaJorge Enrique Manrique-Chávez
 
CONTROL DE CALIDAD EN LA INDUSTRIA FARMACEUTICA
CONTROL DE CALIDAD EN LA INDUSTRIA FARMACEUTICACONTROL DE CALIDAD EN LA INDUSTRIA FARMACEUTICA
CONTROL DE CALIDAD EN LA INDUSTRIA FARMACEUTICAmjaicocr
 
(2024-25-04) Epilepsia, manejo el urgencias (doc).docx
(2024-25-04) Epilepsia, manejo el urgencias (doc).docx(2024-25-04) Epilepsia, manejo el urgencias (doc).docx
(2024-25-04) Epilepsia, manejo el urgencias (doc).docxUDMAFyC SECTOR ZARAGOZA II
 

Último (20)

PRIMEROS AUXILIOS BOMBEROS 2024 actualizado
PRIMEROS AUXILIOS BOMBEROS 2024 actualizadoPRIMEROS AUXILIOS BOMBEROS 2024 actualizado
PRIMEROS AUXILIOS BOMBEROS 2024 actualizado
 
DETERMINISMO DEL TRABAJO DE PARTO-1.pptx
DETERMINISMO DEL TRABAJO DE PARTO-1.pptxDETERMINISMO DEL TRABAJO DE PARTO-1.pptx
DETERMINISMO DEL TRABAJO DE PARTO-1.pptx
 
AFERESIS TERAPEUTICA para el personal médico
AFERESIS TERAPEUTICA para el personal médicoAFERESIS TERAPEUTICA para el personal médico
AFERESIS TERAPEUTICA para el personal médico
 
Esquema de Vacunas en enfermeria y tecnicas de vacunación
Esquema de Vacunas en enfermeria y tecnicas de vacunaciónEsquema de Vacunas en enfermeria y tecnicas de vacunación
Esquema de Vacunas en enfermeria y tecnicas de vacunación
 
patologia de robbins capitulo 4 Lesion celular.pdf
patologia de robbins capitulo 4 Lesion celular.pdfpatologia de robbins capitulo 4 Lesion celular.pdf
patologia de robbins capitulo 4 Lesion celular.pdf
 
Trombocitopenia Inmune primaria , clínica
Trombocitopenia Inmune primaria , clínicaTrombocitopenia Inmune primaria , clínica
Trombocitopenia Inmune primaria , clínica
 
Colecistitis aguda-Medicina interna.pptx
Colecistitis aguda-Medicina interna.pptxColecistitis aguda-Medicina interna.pptx
Colecistitis aguda-Medicina interna.pptx
 
(2024-04-29)Actualización en profilaxis PrEP frente a VIH. (DOC)
(2024-04-29)Actualización en profilaxis PrEP frente a VIH. (DOC)(2024-04-29)Actualización en profilaxis PrEP frente a VIH. (DOC)
(2024-04-29)Actualización en profilaxis PrEP frente a VIH. (DOC)
 
Se sustituye manual tarifario 2023 Manual Tarifario 2024.pdf
Se sustituye manual tarifario 2023 Manual Tarifario 2024.pdfSe sustituye manual tarifario 2023 Manual Tarifario 2024.pdf
Se sustituye manual tarifario 2023 Manual Tarifario 2024.pdf
 
PUNTOS CRANEOMÉTRICOS PARA PLANEACIÓN QUIRÚRGICA
PUNTOS CRANEOMÉTRICOS  PARA PLANEACIÓN QUIRÚRGICAPUNTOS CRANEOMÉTRICOS  PARA PLANEACIÓN QUIRÚRGICA
PUNTOS CRANEOMÉTRICOS PARA PLANEACIÓN QUIRÚRGICA
 
PPT HIS PROMSA - PANAS-MINSA DEL 2024.pptx
PPT HIS PROMSA - PANAS-MINSA DEL 2024.pptxPPT HIS PROMSA - PANAS-MINSA DEL 2024.pptx
PPT HIS PROMSA - PANAS-MINSA DEL 2024.pptx
 
Psicología: Revista sobre las bases de la conducta humana.pdf
Psicología: Revista sobre las bases de la conducta humana.pdfPsicología: Revista sobre las bases de la conducta humana.pdf
Psicología: Revista sobre las bases de la conducta humana.pdf
 
Revista de psicología sobre el sistema nervioso.pdf
Revista de psicología sobre el sistema nervioso.pdfRevista de psicología sobre el sistema nervioso.pdf
Revista de psicología sobre el sistema nervioso.pdf
 
infografía seminario.pdf.................
infografía seminario.pdf.................infografía seminario.pdf.................
infografía seminario.pdf.................
 
seminario patología de los pares craneales 2024.pptx
seminario patología de los pares craneales 2024.pptxseminario patología de los pares craneales 2024.pptx
seminario patología de los pares craneales 2024.pptx
 
Relacion final de ingresantes 23.11.2020 (2).pdf
Relacion final de ingresantes 23.11.2020 (2).pdfRelacion final de ingresantes 23.11.2020 (2).pdf
Relacion final de ingresantes 23.11.2020 (2).pdf
 
Historia Clínica y Consentimiento Informado en Odontología
Historia Clínica y Consentimiento Informado en OdontologíaHistoria Clínica y Consentimiento Informado en Odontología
Historia Clínica y Consentimiento Informado en Odontología
 
CONTROL DE CALIDAD EN LA INDUSTRIA FARMACEUTICA
CONTROL DE CALIDAD EN LA INDUSTRIA FARMACEUTICACONTROL DE CALIDAD EN LA INDUSTRIA FARMACEUTICA
CONTROL DE CALIDAD EN LA INDUSTRIA FARMACEUTICA
 
PAM Y VACAM en el adulto mayor iestdv.pptx
PAM Y VACAM en el adulto mayor iestdv.pptxPAM Y VACAM en el adulto mayor iestdv.pptx
PAM Y VACAM en el adulto mayor iestdv.pptx
 
(2024-25-04) Epilepsia, manejo el urgencias (doc).docx
(2024-25-04) Epilepsia, manejo el urgencias (doc).docx(2024-25-04) Epilepsia, manejo el urgencias (doc).docx
(2024-25-04) Epilepsia, manejo el urgencias (doc).docx
 

JAVAX

  • 1. 1. Construir una aplicación en el que el usuario proporcione una cantidad entera y la aplicación indique através de un mensaje la cantidad si es positiva o negativa, par o impar: o en su defecto si es neutra. import java.util.Scanner; public class EVALUARNUMERO { public static void main(String[] args) { Scanner teclado=new Scanner(System.in); int numero; EVALUARNUMERO N=new EVALUARNUMERO(); System.out.println("Ingrese el numero: "); numero=teclado.nextInt(); System.out.println("nEL NUMERO INGRESADO ES: "); N.NumeroImpar(numero); N.NumeroNegativo(numero); N.NumeroNeutro(numero); N.NumeroPar(numero); N.NumeroPositivo(numero); } public void NumeroPar(int numero){ if(numero%2==0){ System.out.println("Numero Par"); } } public void NumeroImpar(int numero){ if(numero%2!=0){ System.out.println("Numero Impar"); } } public void NumeroNegativo(int numero){ if(numero<0){ System.out.println("Numero Negativo"); } } public void NumeroPositivo(int numero){ if(numero>0){ System.out.println("Numero Positivo"); } } public void NumeroNeutro(int numero){ if(numero==0){
  • 2. System.out.println("Numero Neutro"); } } } EJERCICIOS RESUELTOS 1. Ingrese un número entero y encuentre el dígito mayor y el dígito menor. SOLUCIÓN: import java.util.Scanner; public class MAYORMENOR { public static void main(String[] args) { Scanner b=new Scanner(System.in); int n, mayor=0, menor=10, digito; System.out.println("Ingrese el numero a evaluar: "); n=b.nextInt(); while(n>0){ digito=n%10; n=n/10; if(digito>=mayor){ mayor=digito; } if(digito<menor){ menor=digito; } } System.out.println("El digito mayor es: "+mayor); System.out.println("El digito menor es: "+menor); } } 2. En una tienda se ha establecido la siguiente oferta: por compras menores a 50 soles se hace un descuento de 8%, pero para compras a partir de 50 el descuento es de 10%. Se pide ingresar la cantidad y el precio del
  • 3. producto que se compra y determinar cuanto se descontará y cuanto se cobrará. SOLUCIÓN: import java.util.Scanner; public class EJERCICIO3 { public static void main(String[] args) { Scanner consola=new Scanner(System.in); double cantidad, precio,pago, descuento; System.out.println("ingresar cantidad: "); cantidad=consola.nextInt(); System.out.println("ingrese el precio: "); precio=consola.nextInt(); pago=cantidad*precio; if(pago<50){ descuento=pago*0.08; pago=pago-descuento; System.out.println("el descuento es: "+descuento+" , el pago a realizar es: "+pago); } else{ descuento=pago*0.1; pago=pago-descuento; System.out.println("el descuento es: "+descuento+" , el pago a realizar es: "+pago); } } } EJERCICIOS RESUELTOS 1. Diseñe un algoritmo para un cajero automático. El cajero tiene la particularidad de dar solamente billetes de 500, 200, 100, 50, y 20. Si el usuario ingresa una cantidad menor a 1500 que desea retirar, debe arrojarle la cantidad mínima de billetes de cada tipo.
  • 4. NOTA: No debe dar billetes de 10 soles, POR EJEMPLO, si se le ingresa un monto de 510, debe arrojarme: Billetes de 200: 2 Billetes de 50: 1 Billetes de 20: 3 SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class CAJERO2 { public static void main(String[] args) throws IOException{ BufferedReader consola = new BufferedReader(new InputStreamReader(System.in)); int monto, i, b1 = 0, b2=0, b3=0, b4=0, b5=0, b500, b200, b100, b50, b20; do{ System.out.println("Ingrese un monto MENO O IGUAL a 1500: "); monto=Integer.parseInt(consola.readLine()); }while((monto<=30||monto>1500)||monto%10!=0); while(monto>=20){ if(monto>=500&&(monto!=510&&monto!=530)){ if(monto>1000){ b1+=(int)monto/500; monto=monto-b1*500; } else{ if(monto%500!=30&&monto%500!=10){ b1+=(int)monto/500; monto=monto-b1*500; } } } if(monto>=200&&(monto%200>=10||monto%200==0)){ if(monto>410){ b2+=(int)monto/200; monto=monto-b2*200; } else{ if(monto%200!=30&&monto%200!=10){ b2+=(int)monto/200; monto=monto-b2*200; } }
  • 6. } if(b5>0){ System.out.println("Billetes de 20: "+b5); } } } 2. Ingrese un número BINARIO (número compuesto por ceros y unos), y muestre su equivalente. Pr ejemplo, si ingreso 101101, debe mostrarme 45 como su equivalente. SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class EnteroBinario { public static void main(String[] args) throws IOException{ BufferedReader consola=new BufferedReader(new InputStreamReader(System.in)); int i, j, k=0, equivalente=0, numero, b=0; boolean m = false; String N; do{ System.out.println("Ingrese el numero entero binario: "); numero=Integer.parseInt(consola.readLine()); N=Integer.toString(numero); for(i=0;i<N.length();i++){ if(N.charAt(i)=='0'||N.charAt(i)=='1'){ m=true; b++; } } }while(b<N.length()); j=numero; while(numero>0){ numero=(int)numero/10; k++; } for(i=0;i<k;i++){ equivalente+=(j%10)*Math.pow(2,i); j=(int)j/10;
  • 7. } System.out.println("El equivalente del numero ingresado es: "+equivalente); } } 3. Un número se considera perfecto cuando la suma de sus divisores es igual al número, por ejemplo 28, tiene como divisores a 1, 2, 4, 7 y 14. Luego 28 es número perfecto, pues 1+2+4+7+14=28. Hacer un algoritmo para determinar si un número ingresado por teclado es perfecto. SOLUCIÓN: import java.util.Scanner; public class perfecto { public static void main(String[] args) { Scanner b=new Scanner(System.in); int n, suma=1,i=2; System.out.println("Ingrese el numero: "); n=b.nextInt(); while(i<n){ if(n%i==0){ suma=suma+i; } i++; } if(suma==n){ System.out.println("El numero es perfecto"); } else{ System.out.println("el numero no es perfecto"); } } } 4. La tribuna de un estadio esta numerada del 1 al 500 en la parte superior horizontal que corresponde al número de asiento por columna; y del 1 al 50 en la parte izquierda vertical que corresponde al número de asiento por fila. Los boletos tienen una numeración correlativa del 1 al 25000. Para cualquier número de boleto determinar el número de fila y el número de columna que le correspondería a la ubicación de su asiento.
  • 8. SOLUCIÓN: import java.util.Scanner; public class Asientoestadio { public static void main(String[] args) { Scanner teclado=new Scanner(System.in); int asiento, fila=0, columna=0; System.out.println("Ingrese el numero de asiento: "); asiento=teclado.nextInt(); while(asiento>500){ fila++; asiento=asiento-500; } fila++; columna=asiento; System.out.println("El asiento corresponde a la fila: "+fila+" y a la columna: "+columna); } } 5. Diseñe un algoritmo que convierte un número en base 10, a otro número en base menor que 10. El número en base 10 y la base a la que se va a convertir se deben ingresar por teclado. SOLUCIÓN: import java.util.Scanner; public class ConvierteNumeroAbaseMenora10 { public static void main(String[] args) { Scanner teclado=new Scanner(System.in); int base, numero,div=0,i=1; System.out.println("Ingrese el numero en base 10: "); numero=teclado.nextInt(); do{ System.out.println("Ingrese la base menor a 10 : "); base=teclado.nextInt(); }while(base<=1||base>=10); while(numero>=base){ div=div+(numero%base)*i; numero=(int)(numero/base); i=i*10;
  • 9. } div=div+(numero*i); System.out.println("el numero en base "+base+" es: "+div); } } EJERCICIOS RESUELTOS 1. Ingrese un numero entero menor o igual a 4 cifras y muestre como se lee SOLUCIÓN: import java.util.Scanner; public class escritura { public static void main(String[] args) { Scanner teclado=new Scanner(System.in); int n=0, con=0,n2=0, n1; String numero,mensaje="", m1="DIEZ", m2="ONCE", m3="DOCE", m4="TRECE", m5="CATORCE", M6="QUINCE", m7="VEINTE", m8="VEINTI"; String[] naturales={"","UNO","DOS","TRES","CUATRO","CINCO","SEIS","SIETE","OCHO"," NUEVE"}; String[] diez={"","ONCE","DOCE","TRECE","CATORCE","QUINCE"}; String[] decenas={"","DIEZ","VEINTE","TREINTA","CUARENTA","CINCUENTA","SESENTA", "SETENTA","OCHENTA","NOVENTA"}; String[] centenas={"","CIEN","DOSCIENTOS","TRESCIENTOS","CUATROCIENTOS","QUINI ENTOS","SEISCIENTOS","SETECIENTOS","OCHOCIENTOS","NOVECIENTOS"}; do{ System.out.println("Ingrese el numero a evaluar:"); numero=teclado.next(); }while(numero.length()>4); con=numero.length(); n1=Integer.parseInt(numero.substring(con-3,con));
  • 10. n2=Integer.parseInt(numero.substring(con-2,con)); for (int i = 0; i <numero.length() ; i++) { n=Integer.parseInt(numero.substring(i,i+1)); if(con==4){ if(n>1) mensaje=naturales[n]+" MIL"+mensaje; else mensaje=" MIL"+mensaje; } else{ if(con==3){ if(n==1&&n2>0){ mensaje=mensaje+" CIENTO"; } else{ if(n>1){ mensaje=mensaje+" "+centenas[n]; }else{ if(n!=0) mensaje=mensaje+" CIEN"; else mensaje=mensaje+""; } } } else{ if(con==2){ if(n2<10){ mensaje=mensaje+" "+naturales[n2]; break; } else{ if(n2>10&&n2<16){ mensaje=mensaje+" "+diez[n2%10]; break; } else{ if(n2>15&&n2<20){ mensaje=mensaje+" "+"DIECI"; } if(n2>20&&n2<30){ mensaje=mensaje+" "+"VEINTI"; }
  • 11. } if(n2%10==0){ mensaje=mensaje+" "+decenas[n]; break; } else{ if(n2>30) mensaje=mensaje+" "+decenas[n]; } } } else{ if(n2>30) mensaje=mensaje+" Y "+naturales[n]; else mensaje=mensaje+naturales[n]; } } } con--; } System.out.println("El numero se lee: "+mensaje); } } 2. Realice un algoritmo para convertir unidades de medida. SOLUCIÓN: import java.util.*; public class Manejador2 { public static void main(String[] args) { Scanner teclado=new Scanner(System.in); String[][] matriz={ {"GIGA","MEGA","1000"}, {"MEGA","KILO","1000"}, {"KILO","HECT","10"}, {"HECT","DECA","10"}, {"DECA","****","10"}, {"****","DECI","10"}, {"DECI","CENT","10"}, {"CENT","MILI","10"}, {"MILI","MICR","1000"},
  • 12. {"MICR","NANO","1000"}, }; String Ubase, Usalida,UE="",US = "", C1,C2, E, S; int n, con=0; double resultado=1, canti = 0; System.out.println("Ingrese la cantidad a convertir:"); n=teclado.nextInt(); System.out.println("Ingrese la base: "); Ubase=teclado.next(); System.out.println("Ingrese la salida: "); Usalida=teclado.next(); E=Ubase.substring(0,4); S=Usalida.substring(0,4); if(E.equals("METR")||E.equals("GRAM")||E.equals("LITR")){ E="****"; } if(S.equals("METR")||S.equals("GRAM")||S.equals("LITR")){ S="****"; } C1=E; C2=S; for (int i = 0; i < matriz.length; i++) { for (int j = 0; j < matriz[0].length; j++) { if(matriz[i][0].equals(E)){ UE=matriz[i][0]; US=matriz[i][1]; canti=Double.parseDouble(matriz[i][2]); con++; break; } else{ break; } } if(US.equals(S)){ resultado=resultado*canti; break; } else{ if(con>0){ resultado=resultado*canti; E=US; con=0; }
  • 13. } } if(!US.equals(S)||UE.length()<=0){ resultado=1; for (int i = matriz.length-1; i >=0; i--) { for (int j = 0; j < matriz[0].length; j++) { if(matriz[i][1].equals(C1)){ UE=matriz[i][1]; US=matriz[i][0]; canti=Double.parseDouble(matriz[i][2]); con++; break; } else{ break; } } if(US.equals(C2)){ resultado=resultado/canti; break; } else{ if(con>0){ resultado=resultado/canti; C1=US; con=0; } } } } if(US.equals(C2)) System.out.println("nEl resultado es: "+resultado*n+" "+Usalida); else System.out.println("nNo se puede realizar la conversion"); } } EJERCICIOS RESUELTOS 1. Leer una frase y encontrar la palabra de mayor longitud. El programa debe imprimir la palabra como el número de caracteres de la misma
  • 14. SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ejerc12 { public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int i, c=0; String cadena, palabra="", mostrar = null; System.out.println("Ingrese la cadena: "); cadena=br.readLine(); cadena+=" "; for(i=0;i<cadena.length();i++){ palabra=palabra+cadena.charAt(i); if(cadena.charAt(i)==' '){ if(palabra.length()-1>c){ c=palabra.length()-1; mostrar=palabra.trim(); } palabra=""; } } System.out.println("La palabra de mayor longitud es: "+mostrar); System.out.println("Su longitud es: "+c); } } 2. Ingresar una cadena y determinar cuantas palabras se encuentran en la cadena. Cada palabra se separa por medio de un espacio en blanco. SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ejerc11 { public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  • 15. int i, con=1; String cadena, palabra=""; System.out.println("Ingrese la cadena a evaluar: "); cadena=br.readLine(); for(i=0;i<cadena.length();i++){ if(cadena.charAt(i)==' '){ con++; } } System.out.println("La cadena contiene "+con+" palabras"); } } 3. Ingresar un número telefónico en formato de cadena y luego lo convierta de la siguiente manera: Número Telefónico: 5256284000 Nueva Cadena: (52)-5-6284000 SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ejerc15 { public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int i; String cadena,c1="", c2="", c3=""; System.out.println("Ingrese la cadena a evaluar: "); cadena=br.readLine(); for(i=0;i<cadena.length();i++){ if(i<2){ c1=c1+cadena.charAt(i); } else{ if(i==2){ c2+=cadena.charAt(i); } else{
  • 16. c3+=cadena.charAt(i); } } } System.out.println("la nueva cadena es: n"+"("+c1+")"+"-"+c2+"-"+c3); } } 4. Hacer un programa que al recibir como datos dos cadenas de caracteres forme una tercera cadena intercalando los caracteres de las palabras de las cadenas recibidas. SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ejerc16 { public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int i, j, k=0; String cadena1, cadena2, cadena3=""; System.out.println("Ingrese la primera cadena: "); cadena1=br.readLine(); System.out.println("Ingrese la segudna cadena: "); cadena2=br.readLine(); for(i=0;i<cadena1.length();i++){ cadena3+=cadena1.charAt(i); for(j=k;j<cadena2.length();j++){ cadena3+=cadena2.charAt(j); j=cadena2.length(); k++; } } System.out.println("La cadena intercalada es: "+cadena3); } } 5. Ingrese un texto e indique que letras no han aparecido en el texto.
  • 17. SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ejerc20 { public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int ini, con=0; String texto, nueva="", mensaje=""; System.out.println("Ingrese el texto a evaluar: "); texto=br.readLine(); for(ini=0;ini<texto.length();ini++){ if(texto.charAt(ini)!=' '){ nueva=nueva+texto.charAt(ini); } } nueva=nueva.toLowerCase(); for(char caracter='a';caracter<='z';caracter++){ for(ini=0;ini<nueva.length();ini++){ if(caracter==nueva.charAt(ini)){ con++; } } if(con==0){ mensaje+=caracter+" "; } con=0; } System.out.println("nLos caracteres que faltan son: n"+mensaje); } } 6. Ingrese un texto e indique el porcentaje de palabras que tiene menos de 5 caracteres y el porcentaje de palabras con 5 o más caracteres. SOLUCIÓN: import java.io.BufferedReader;
  • 18. import java.io.IOException; import java.io.InputStreamReader; public class Ejerc21 { public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int i; double porcentaje1, porcentaje2, con=0, p5=0, p6=0; String texto, palabra=""; System.out.println("Ingrese el texto a evaluar: "); texto=br.readLine(); texto=texto+" "; for(i=0;i<texto.length();i++){ palabra+=texto.charAt(i); if(texto.charAt(i)==' '){ palabra=palabra.trim(); if(palabra.length()<5){ p5++; } else{ p6++; } palabra=""; con++; } } porcentaje1=(double)((p5/con)*100); porcentaje2=(double)((p6/con)*100); System.out.println("El porcentaje de palabras con menos de 5 caracteres es: "+porcentaje1+" %"); System.out.println("El porcentaje de palabras con 5 o mas caracteres es: "+porcentaje2+" %"); } } 7. Escriba un programa que lea una frase y a continuación visualice cada palabra de la frase en columnas, seguida del número de letras que tiene cada palabra. SOLUCIÓN:
  • 19. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ejerc23 { public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int i, j; String frase, palabra="", nueva=""; System.out.println("Ingrese la frase a evaluar: "); frase=br.readLine(); frase+=" "; for(i=0;i<frase.length();i++){ palabra+=frase.charAt(i); if(frase.charAt(i)==' '){ palabra=palabra.trim(); nueva=palabra; for(j=0;j<nueva.length();j++){ System.out.println("t"+nueva.charAt(j)); } System.out.println("t"+nueva.length()+"nn"); palabra=""; } } } } 8. Escriba un programa que calcule la frecuencia de aparición de las vocales de un texto porcionado por el usuario. Esta solución se debe presentar en forma de histograma, por ejmplo: a 15 *************** e 8 ******** SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ejerc24 { public static void main(String[] args) throws IOException{
  • 20. BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int i, c1=0, c2=0,c3=0, c4=0, c5=0; String texto, m1="", m2="", m3="", m4="", m5=""; System.out.println("Ingrese el texto a evaluar: "); texto=br.readLine(); texto=texto.toLowerCase(); for(i=0;i<texto.length();i++){ if(texto.charAt(i)=='a'){ c1++; m1+="*"; } if(texto.charAt(i)=='e'){ c2++; m2+="*"; } if(texto.charAt(i)=='i'){ c3++; m3+="*"; } if(texto.charAt(i)=='o'){ c4++; m4+="*"; } if(texto.charAt(i)=='u'){ c5++; m5+="*"; } } System.out.println(""); System.out.println("a"+" "+c1+" "+m1); System.out.println("e"+" "+c2+" "+m2); System.out.println("i"+" "+c3+" "+m3); System.out.println("o"+" "+c4+" "+m4); System.out.println("u"+" "+c5+" "+m5); } } 9. Escribir un programa que cuente el número de palabras en un texto, que tengan al menos cuatro vocales diferentes. SOLUCIÓN:
  • 21. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ejerc25 { public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int i, con=0, c1=0, c2=0, c3=0, c4=0, c5=0, vocales; String texto, palabra=""; System.out.println("Ingrese la palabra a evaluar: "); texto=br.readLine(); texto=texto.toLowerCase(); texto+=" "; for(i=0;i<texto.length();i++){ palabra+=texto.charAt(i); if(texto.charAt(i)==' '){ palabra=palabra.trim(); for(int j=0;j<palabra.length();j++){ if(palabra.charAt(j)=='a'){ c1++; if(c1>1){ c1=1; } } if(palabra.charAt(j)=='e'){ c2++; if(c2>1){ c2=1; } } if(palabra.charAt(j)=='i'){ c3++; if(c3>1){ c3=1; } } if(palabra.charAt(j)=='o'){ c4++; if(c4>1){ c4=1; }
  • 22. } if(palabra.charAt(j)=='u'){ c5++; if(c5>1){ c5=1; } } } palabra=""; vocales=c1+c2+c3+c4+c5; c1=0; c2=0; c3=0; c4=0; c5=0; if(vocales>=4){ con++; } } } System.out.println("Las palabras son: "+con); } } 10. Un grupo de inteligencia militar desea codificar los mensajes secretos de tal forma que no puedan ser interpretados con una lectura directa, para lo cual han establecido las siguientes reglas: a) Todo mensaje debe estar sus letras en mayúsculas. b) Reemplazar cada letra por la que sigue según abecedario, excepto Z que se deberá reemplazar con la letra A. c) reemplazar cada dígito encontrado por el siguiente numero excepto el 9 que deberá ser reemplazado por el 0. SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class mensajemilitar { public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String mensaje, cod1="",cod2="", caracter; String ABC="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; String numeros="0123456789";
  • 23. System.out.println("Ingrese el mensaje: "); mensaje=br.readLine(); System.out.println(""+mensaje); mensaje=mensaje.toUpperCase(); for (int i = 0; i < mensaje.length(); i++) { caracter=mensaje.substring(i, i+1); if(caracter.equals(" ")){ cod1=cod1+caracter; } else{ for (int j = 0; j < ABC.length(); j++) { if(caracter.equals(ABC.substring(j,j+1))){ if(caracter.equals("Z")){ cod1=cod1+"A"; break; } else{ cod1=cod1+ABC.substring(j+1,j+2); break; } } } for (int k = 0; k <numeros.length(); k++) { if(caracter.equals(numeros.substring(k,k+1))){ if(caracter.equals("9")){ cod1=cod1+"0"; break; } else{ cod1=cod1+numeros.substring(k+1,k+2); break; } } } } } System.out.println("nMENSAJE INGRESADO: "+mensaje); System.out.println("CODIGO RESULTANTE "+cod1); } }
  • 24. 1. Escriba una función recursiva que imprima en forma invertida los dígitos de un número entero. SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ejer1 { public static void invertir(int num){ System.out.print(num%10); if(num/10!=0){ invertir(num/10); } } public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int n; System.out.println("Ingrese el numero a evaluar: "); n=Integer.parseInt(br.readLine()); System.out.print("El numero invertido es: "); invertir(n); System.out.println(); } } 2. Escriba una función recursiva que invierta una cadena de caracteres. SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ejer4 { public static String invertir(String cad, int tama){ String c2=""; if(tama==0){
  • 25. c2+=cad.charAt(tama); return c2; } else{ c2=cad.charAt(tama)+invertir(cad, tama-1); return c2; } } public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int tamaño; String cadena; System.out.println("Ingrese la cadena a evaluar: "); cadena=br.readLine(); tamaño=cadena.length()-1; System.out.println("La nueva cadena es: "+invertir(cadena, tamaño)); } } 3. Diseñe una función recursiva exponente tal que dada la base y el exponente como números enteros devuelva su resultado. Validar que la base será mayor que cero y el exponente mayor o igual que cero. SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ejer5 { public static int exponente(int base, int exp){ if(exp==0){ return 1; } else{ return base*exponente(base,exp-1); } } public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  • 26. int n, b; do{ System.out.println("Ingrese el numero: "); n=Integer.parseInt(br.readLine()); }while(n<=0); do{ System.out.println("Ingrese la base: "); b=Integer.parseInt(br.readLine()); }while(b<0); System.out.println("El resultado es: "+exponente(n, b)); } } 4. Programar un algoritmo recursivo que permita sumar los elementos de un vector. SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ejer6 { public static int vector(int A[], int num){ if(num==0){ return A[num]; } else{ return A[num]+vector(A,num-1); } } public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int V[], n; System.out.println("Ingrese el tamaño: "); n=Integer.parseInt(br.readLine()); V=new int[n]; for(int i=0;i<n;i++){
  • 27. System.out.println("V ["+i+"] = "); V[i]=Integer.parseInt(br.readLine()); } System.out.println("La suma de los elementos es: "+vector(V,n-1)); } } 5. Escribir una función recursiva que tenga un argumento de tipo entero y que devuelva la letra P si el número es positivo y la letra N si el número es cero o negativo. SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ejer8 { public static char valor(int numero){ if(numero<=0){ return 'N'; } else{ return 'P'; } } public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int n; char v; System.out.println("Igrese el numero: "); n=Integer.parseInt(br.readLine()); v=valor(n); if(v=='P'){ System.out.println("El numero es positivo"); } else{ System.out.println("El numero es negativo"); } }
  • 28. } 6. Escriba una función recursiva que sume los (n) primeros números enteros positivos. SOLUCIÓN: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ejer3 { public static int sumar(int a){ if(a>0){ return a+sumar(a-1); } else{ return 0; } } public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int n; System.out.println("INgrese la cantidad de numeros a sumar: "); n=Integer.parseInt(br.readLine()); System.out.println("La suma es: "+sumar(n)); } } 7. Escriba una función recursiva muestre la SERIE DE FIBONACCI, ingresando el número de términos. SOLUCIÓN: import java.util.Scanner; public class Ejer9 { public static int fibonaci(int numero){ if(numero==0||numero==1){ return 1; }
  • 29. else{ return fibonaci(numero-1)+fibonaci(numero-2); } } public static void main(String[] args) { Scanner b=new Scanner(System.in); int n, i; System.out.println("Ingrese la cantidad de terminos: "); n=b.nextInt(); for(i=0;i<n;i++){ System.out.print(fibonaci(i)+" "); } System.out.println(""); } }