Empezando con Bucles

1. - El programa solicita los datos personales (nombre, apellidos, profesión, DNI, ...) hasta que entramos en el nombre "xxx" (la triple x).
  1.    import java.util.Random;
  2.    import cs1.Keyboard;
  3.    import java.lang.String;
  4.    public class bucles1{
  5.       public static void main (String[] args){
  6.          
  7.          
  8.          String nombre="",apellido,profesion,dni;
  9.          boolean ok;
  10.          ok=false;
  11.          while(ok==false){
  12.          
  13.             System.out.print("introudce tu nombre:");
  14.             nombre=Keyboard.readString();
  15.          
  16.             System.out.print("introduce tu apellido:");
  17.             apellido=Keyboard.readString();
  18.          
  19.             System.out.print("introduce tu profesión:");
  20.             profesion=Keyboard.readString();
  21.          
  22.             System.out.print("introduce tu dni:");
  23.             dni=Keyboard.readString();
  24.             if(nombre.equals("xxx")){
  25.                ok=true;
  26.                
  27.             }
  28.            
  29.          }
  30.          System.out.print("El nombre es :'" +nombre+ "', salimos del programa.");
  31.       }
  32.    }


2. - Intentar acertar un número entero definido aleatoriamente por el programa entre 0 y 100. Este dirá si es mayor o menor, para que lleguemos a acertar lo, y los intentos que nos quedan para encontrarlo (como máximo tendremos 10 intentos)
  1.  import cs1.Keyboard;
  2.    import java.lang.Math;
  3.        
  4.    public class bucles2{
  5.    
  6.    
  7.       public static void main (String[] args){
  8.      
  9.          double num_alea;
  10.          int num_usuario =0, intento=0, i=0;
  11.          num_alea= Math.random();
  12.          num_alea= Math.rint(num_alea*100);
  13.          System.out.println("Hola bienvenido a nuestro programa de aciertos del número aleatorio");
  14.          System.out.println("Debe acertar el número del programa y solamente tiene 10 intentos");
  15.      
  16.          while ((intento < 10) &&(num_usuario!=num_alea)){
  17.             System.out.print("\nintroduce un número de 0 a 100: ");num_usuario=Keyboard.readInt();
  18.             intento++;i=10-intento;
  19.             if (num_usuario<num_alea){System.out.println("el número introducido es menor que el del programa (te quendan "+i+" intentos)");}
  20.             if (num_usuario>num_alea){System.out.println("el número introducido es mayor que el del programa (te quendan "+i+" intentos)");}
  21.          }
  22.          if(num_usuario==num_alea){System.out.println("Enhorabuena, has adivinado el número!!");}
  23.          else {System.out.println ("sorry, no lo has adivinado. el número era: " +num_alea+".");}
  24.       }
  25.    }


3. - Aplicaciones de los bucles, realiza un menú que permita lo siguiente:
     a) Visualizar el cuadrado y cubo de los 20 primeros números.
     b) Visualizar la suma total de los 20 primeros números pares.
     c) El usuario / a entra un número (por ejemplo 5) Queremos encontrar su suma 1 +2 +3 + .. +5 Salimos del PGR. cuando apretamos un cero.
     d) Pedir números hasta que introducimos el 0, y mostrar su multiplicación.
     e) Entramos un número y calculamos si es primero. Salimos cuando lo es.
     f) Descomposición de un número en factores. Salimos a poner 0.
     g) Visualización de las potencias de 2 que su resultado se encuentre entre 1 y 10000.
     h) Salir del programa.
  1.  import cs1.Keyboard;
  2.    import java.lang.Math.*;
  3.    public class bucles3 {
  4.    
  5.       public static void main (String args[]){
  6.      
  7.          String sel;
  8.          int num_intents = 0,num = 0, numc = 0,suma = 0,multi = 1, sum = 0, num4, num2 = 0, num5 = 0;
  9.          double num3 = 0, op1, op2;
  10.          boolean prim;
  11.          do{
  12.             System.out.print ("\n\n");
  13.             System.out.println (" 1-visualiza el cuadrado y el cubo de los 20 primeros números ");
  14.             System.out.println (" 2- visualizar la suma total de los 20 primeros nombres y apellidos ");
  15.             System.out.println (" 3- el usuarios introduce un número (p.e. 5) queremos encontrar la suma 1+2+3...+5");
  16.             System.out.println (" 4- pedir numeros hasta que introducimos el 0,y muestra su multiplicación");
  17.             System.out.println (" 5- introducimos un número y calculamos si es primo");
  18.             System.out.println (" 6- Descomposición de un número en factores");
  19.             System.out.println (" 7- visualización de las potencias de 2 que el resultado se encuentre entre 1 y 10000 ");
  20.             System.out.println (" 8- salir del programa ");
  21.          
  22.             sel = Keyboard.readString();
  23.          
  24.             if (sel.equals("1")){
  25.                for (num_intents=1; num_intents <=20; num_intents++){
  26.                   System.out.println("\n El quadrat del nombre " + num_intents + " sera " + (int)Math.pow(num_intents,2));
  27.                   System.out.println("\n El cub del nombre " + num_intents + " sera " + (int)Math.pow(num_intents,3));
  28.                }
  29.             }
  30.             if (sel.equals("2")){
  31.                for  (num=1; num <=20; num++){
  32.                   num2 = (num5);
  33.                   num5 = num2 + 2; sum = (sum+num5);
  34.                   System.out.println (" La suma del " + num + " de numeros sera de " + sum);
  35.                }
  36.             }
  37.             if(sel.equals("3")){
  38.                do{
  39.                   System.out.print ("Introdueix un numero ");
  40.                   numc = Keyboard.readInt();
  41.                   suma = suma + numc;
  42.                   System.out.println (" El resultat final es  " + suma);
  43.                }
  44.                while (numc != 0);
  45.                System.out.print ("\nSurts del programa!!");
  46.             }
  47.             if (sel.equals("4")){
  48.                do{
  49.                   System.out.print (" Introdueix un numero ");
  50.                   numc = Keyboard.readInt();
  51.                   multi = multi*numc;
  52.                   System.out.println(" El resultat final es " + multi);
  53.                }
  54.                while (numc != 0);
  55.                System.out.print ("\nSurts del programa!!");
  56.             }
  57.             if (sel.equals("5")){
  58.                do{
  59.                   op1= 0;
  60.                   op2= 0;
  61.                   System.out.print ("Introdueix un numero primer: ");
  62.                   num3 = Keyboard.readInt();
  63.                   for (num_intents = 2; num_intents < num3; num_intents++){
  64.                      op1 = (int) num3 % num_intents;
  65.                      if (op1 == 0){
  66.                         op2 = op2 + 1;
  67.                      }
  68.                   }
  69.                   if (op2 == 0){
  70.                      System.out.println ("El numero " + (int) num3 + " es primer ");
  71.                      prim = true;
  72.                   }
  73.                   else{
  74.                      System.out.println (" El numero " + (int) num3 + " no es primer ");
  75.                      prim = false;
  76.                   }
  77.                }
  78.                while (prim == false);
  79.            
  80.             }
  81.             if (sel.equals("6")){
  82.                num4 = 1;
  83.                while (num4 !=0){
  84.                   System.out.print (" Introdueix un numero ");
  85.                   num4 = Keyboard.readInt();
  86.                   for (num_intents = 2; num_intents <= num4; num_intents++){
  87.                  
  88.                      while (num4%num_intents == 0){
  89.                         System.out.println ( num4 + " | " + num_intents);
  90.                         num4 = num4/num_intents;
  91.                         if (num4 == 1){
  92.                            System.out.println(num4);
  93.                         }
  94.                      }
  95.                   }
  96.                }
  97.             }
  98.             if (sel.equals("7")){
  99.            
  100.                double resu=0;
  101.                for(num_intents = 0; num_intents<10000; num_intents++){
  102.                   resu = Math.pow(num_intents,2);
  103.                   if (resu<10000)
  104.                      System.out.println ("La potencia " + num_intents + " te com a resultat " + (int) resu);
  105.                }
  106.             }          
  107.            
  108.            
  109.             if (sel.equals("8")){
  110.                System.out.println ("\n Has sortit del programa, a Reveure!! ");
  111.             }
  112.          }
  113.          while (!sel.equals("8"));
  114.       }
  115.    }


4. - Pedir al usuario / a que introduzca una frase. Visualizaremos:

     - Sólo las vocales de la frase.
     - Sustituiremos las "b" y "v" por "-".
     - Invertiremos toda la frase.
  1.  import cs1.*;
  2.    public class bucles4 {
  3.       public static void main(String args[])
  4.       {
  5.      
  6.          String texto = "", vocales = "", bv = "", alreves = "";      
  7.          String vocals = "aeiouAEIOU??????????";
  8.          int longTexto = 0, i;
  9.          char letra;
  10.                
  11.          System.out.print("introduce una cadena de texto: ");
  12.          texto = Keyboard.readString();
  13.      
  14.          longTexto = texto.length();  
  15.      
  16.          for(= 0; i < longTexto; i++)
  17.          {
  18.             letra = texto.charAt(i);
  19.            
  20.             alreves = alreves + texto.charAt(longTexto - i - 1);
  21.            
  22.             if (vocals.indexOf(letra) >= 0) vocales = vocales + letra;
  23.             else vocales = vocales + "_";
  24.                
  25.             if (letra == 'v')bv = bv + 'b';
  26.             else if (letra == 'V') bv = bv + 'B';
  27.             else if (letra == 'b') bv = bv + 'v';
  28.             else if (letra == 'B') bv = bv + 'V';
  29.             else bv = bv + letra;
  30.            
  31.             System.out.println("i = \t" + i + "\t (longTexto - i - 1 = ) \t" + (longTexto - i - 1));
  32.            
  33.          }
  34.        
  35.          System.out.println("\n\n  -> Vocales         : " + vocales);
  36.          System.out.println("\n\n  -> Frase invertida : " + alreves);
  37.          System.out.println("\n\n  -> V's <-> B's:    : " + bv);
  38.                  
  39.       }
  40.    }


5. - El ordenador pedirá el nombre y los apellidos, y lo almacenará en variables diferentes. Pasará los dos apellidos en mayúsculas, y el nombre todo en minúsculas exceptuando la primera letra. Después lo guardará todo en una variable. Saldremos cuando el nombre sea "exit"
  1.  import cs1.*;
  2.    public class bucles5 {
  3.       public static void main(String args[]){
  4.      
  5.          String nom = "0", cognom1,cognom2,nom1,nom2;
  6.          String llargnom, nom_complet;
  7.        
  8.          System.out.print ("introduce tu nombre: ");
  9.          nom = Keyboard.readString();
  10.          if (nom.equals("exit")){
  11.             System.out.print("\nFin del programa !!!");
  12.          }
  13.          while (!nom.equals("exit"))
  14.          {            
  15.             System.out.print ("Introduce el primer apellido: ");
  16.             cognom1 = Keyboard.readString();
  17.            
  18.             System.out.print("Introduce el segundo apellido: ");
  19.             cognom2 = Keyboard.readString();
  20.            
  21.             nom1 = nom.substring(0,1);
  22.             nom1 = nom1.toUpperCase();
  23.             nom2 = nom.substring(1);
  24.             nom2 = nom2.toLowerCase();
  25.             cognom1 = cognom1.toUpperCase();
  26.             cognom2 = cognom2.toUpperCase();
  27.             nom = nom1 + nom2;
  28.            
  29.             nom_complet = nom + " " + cognom1 + " " + cognom2;
  30.            
  31.          
  32.             System.out.println("  " + nom_complet);
  33.                
  34.             System.out.println ("introduce tu nombre: ");
  35.             nom = Keyboard.readString();
  36.            
  37.          }
  38.          
  39.       }
  40.                        
  41.    }


6. - En una empresa de ordenadores, los salarios de los empleados se deben aumentar según su contrato actual:

                    Contrato Aumento%
                    Hasta 1000 € 20
          € 1000 <sueldo <= 1500 € 10
        € 1500 <sueldo <= 2000 € 5
         Más de 2000 € 1

Escribir un programa que solicite el salario actual del empleado y calcule y visualice el nuevo salario. Saldremos del bucle cuando el usuario coloque 0 como sueldo.
  1. import cs1.*;
  2.    public class bucles6{
  3.    
  4.       public static void main (String args[]){
  5.      
  6.          double sal = 1;
  7.          double por = 0;
  8.      
  9.          while(sal!=0){
  10.          
  11.             System.out.print("introduce el salario: ");
  12.             sal = Keyboard.readDouble();
  13.            
  14.             if (sal == 0){
  15.                System.out.print("\n Fin del programa !!! ");
  16.             }
  17.          
  18.             if(sal!=0){
  19.            
  20.                if(sal<=1000){
  21.                   por=0.2;
  22.                   por =(sal*por)+sal;
  23.                   System.out.println("El salario actual que tendras sera de: " +  por);
  24.                }
  25.                else{
  26.                   if (sal>1000  && sal<=1500){
  27.                      por=0.1;
  28.                      por = (sal*por)+sal;
  29.                      System.out.println("El salario actual que tendras sera de: " +  por);
  30.                   }
  31.                   else{
  32.                      if (sal>1500 && sal<=2000){
  33.                         por=0.05;
  34.                         por= (sal*por)+sal;
  35.                         System.out.println("El salario actual que tendras sera de: " +  por);
  36.                      }
  37.                      else{
  38.                         por=0.01;
  39.                         por= (sal*por)+sal;
  40.                         System.out.println("El salario actual que tendras sera de: " +  por);
  41.                      }
  42.                   }
  43.                }
  44.             }
  45.          }
  46.       }
  47.    }



7. - Escribir un programa que determine si un año es de traspaso. Un año es bisiesto si es múltiplo de 4 (1988), exceptuando los múltiplos de 100 que no lo son menos que también sean múltiplos de 400 (1800 no lo es, 2000 sí). El programa termina cuando introducimos un año bisiesto.
  1. import cs1.*;
  2.    public class bucles7{
  3.       public static void main (String args[]){
  4.      
  5.          int año;
  6.          boolean traspaso = false;
  7.      
  8.          do{
  9.          
  10.             System.out.print("\nIntroduce el año: ");
  11.             año = Keyboard.readInt();
  12.          
  13.             if ( (año % 4 == 0) && !(año % 100 == 0) || (año % 400 == 0) ){
  14.                System.out.print(" El año " + año + " es de traspaso ");
  15.                traspaso = false;
  16.             }
  17.             else{
  18.                System.out.print(" El año " + año + " no es de traspaso");
  19.                System.out.println("\n\nFin del programa!! ");
  20.                traspaso = true;
  21.             }
  22.          }
  23.          while(traspaso!=true);
  24.       }
  25.    }


8. - El valor de puede aproximar por el sumatori
     Escribir un programa que tome un valor de x como entrada y visualice la suma con n = 100.
  1.  import cs1.*;
  2.    public class bucles_ex8 {
  3.       public static void main(String args[])
  4.       {
  5.      
  6.          int longTexto = 0, i, j;
  7.          long factorial=1;
  8.          int x, n, f;
  9.          double e = 1.0;
  10.        
  11.          System.out.print("Entra el valor de x: ");
  12.          x = Keyboard.readInt();
  13.      
  14.          System.out.print("\nEntra el valor de n: ");
  15.          n = Keyboard.readInt();
  16.          
  17.          for (j = 1; j <= n; j++)
  18.          {
  19.             factorial = 1;
  20.             for(i=1; i<=j; i++){
  21.                factorial *= i;
  22.             }
  23.            
  24.             e = e + (Math.pow(x,j)/factorial);
  25.          }
  26.      
  27.          System.out.println("\n\ne^" + x + " para n = " + n + " es " + e);
  28.        
  29.                  
  30.       }
  31.    }



9. - Un número perfecto es un entero positivo, que es igual a la suma de todos los enteros positivos (excluido él mismo) que son divisores del número. El primer número perfecto es el 6, ya que los divisores de 6 son 1,2,3 y 1 +2 +3 = 6. Escribir un programa que visualice los números perfectos dentro de un margen dado, y que detecte los que son números perfectos.
  1.  import java.applet.Applet;
  2.    
  3.    import cs1.*;
  4.    public class bucles9 {
  5.       public static void main(String args[]) {
  6.        
  7.          int num = '0', i = 1, total = 0;              
  8.          
  9.          System.out.print (" introduce el número: ");
  10.          num = Keyboard.readInt();
  11.        
  12.          for (= 1;< num; i++)
  13.             if ((num % i) == 0)
  14.                total = total + i;
  15.            
  16.          if (total == num) System.out.print("El número " + num + " es un número perfecto.");
  17.          else System.out.print("El número " + num + " NO es un número perfecto.");
  18.          
  19.          
  20.          
  21.          
  22.       }
  23.    }



10. - Escribir un programa que lea una frase ya continuación visualice cada palabra de la frase en columna, seguido del número de letras que componen cada palabra.
  1. import cs1.*;
  2.    public class bucles10 {
  3.       public static void main(String args[])
  4.       {
  5.      
  6.          String frase ;
  7.          System.out.println("Bienvenidos a nuestro magnífico programa");
  8.          System.out.println("es un programa muy divertido que consiste en leer las palabras");
  9.          System.out.println("y además a continuación nos muestra por pantalla");
  10.          System.out.println("de cuantas letras consta cada palabra que hemos introducido");
  11.        
  12.          System.out.println("introduzca una frase por favor:");
  13.          frase=Keyboard.readString();
  14.        
  15.          int longitud=frase.length();
  16.          int letras=0;
  17.          boolean espacio=false;
  18.          int i;
  19.          for (i=0; i<longitud; i++)
  20.             if (frase.charAt(i)!=' '){
  21.                espacio=false;
  22.                System.out.print(frase.charAt(i));
  23.                letras++;
  24.             }
  25.             else if(!espacio){
  26.                espacio=true;
  27.                System.out.println(" "+letras+" letras");
  28.                letras=0;
  29.             }
  30.          if(letras>0)
  31.             System.out.println(" "+letras+" letras");
  32.        
  33.      
  34.      
  35.      
  36.      
  37.      
  38.      
  39.      
  40.      
  41.       }
  42.    }



11. - Escribir un programa que calcule la frecuencia de aparición de las vocales de un texto entregado por el usuario. La solución se presentará en forma de histograma:

                    15 ***************
                    e 8 ********
  1. import cs1.*;
  2.    import java.io.*;
  3.    import java.util.*;
  4.    import java.lang.Math.*;
  5.    public class bucles11   {
  6.            
  7.       public static void main (String[] args)
  8.      
  9.       {
  10.          int a=0, e=0, i=0, o=0, u=0 ;
  11.          String texto="";
  12.          System.out.print("introduce un texto: ");
  13.          texto=Keyboard.readString();
  14.          texto=texto.toLowerCase();
  15.      
  16.          for (int y=0;< texto.length (); y++){
  17.             if(texto.charAt(y)=='a'||texto.charAt(y)=='á'){
  18.                a++;
  19.             }
  20.             else if(texto.charAt(y)=='e'||texto.charAt(y)=='é'){
  21.                e=e+1;
  22.             }
  23.             else if(texto.charAt(y)=='i'||texto.charAt(y)=='í'){
  24.                i=i+1;
  25.             }
  26.             else if(texto.charAt(y)=='o'||texto.charAt(y)=='ó'){
  27.                o=o+1;
  28.             }
  29.             else if(texto.charAt(y)=='u'||texto.charAt(y)=='ú'){
  30.                u=u+1;
  31.             }
  32.          
  33.          }
  34.          if(a!=0){
  35.             System.out.print("\na " +a+" ");
  36.             for(int y=1; y<=a;y++){
  37.                System.out.print("*");
  38.             }
  39.          }
  40.                
  41.          if(e!=0){
  42.             System.out.print("\ne "+e+" ");
  43.             for(int y=1; y<=e;y++){
  44.                System.out.print("*");
  45.             }
  46.          }  
  47.          if(i!=0){
  48.             System.out.print("\ni "+i+" ");
  49.             for(int y=1; y<=i;y++){
  50.              
  51.                System.out.print("*");
  52.             }
  53.          }
  54.          if(o!=0){
  55.             System.out.print("\no "+o+" ");
  56.             for(int y=1; y<=o;y++){
  57.             System.out.print("*");
  58.             }
  59.          }  
  60.          if(u!=0){
  61.             System.out.print("\nu "+u+" ");
  62.             for(int y=1; y<=u;y++){
  63.              System.out.print("*");
  64.             }
  65.          }
  66.       }
  67.    }



12. - Se introduce una frase para teclado. Se desea contar cuántas vocales, consonantes, espacios y signos de puntuación hay en la frase.
  1.    import cs1.Keyboard;
  2.    public class bucles12{
  3.       public static void main (String args[]){
  4.      
  5.          // Variables
  6.          String vocales = "aeiouAEIOUáéíóúÁÉÍÓÚ", cadena = "", signos ="?!¿¡.,;",
  7.             consonantes="BCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyzñç";
  8.          int totVocales = 0, totConsonantes = 0, totsignos = 0, totespais = 0;
  9.      
  10.       // Realizar el programa
  11.          do{
  12.          
  13.             System.out.print (" escribe una frase: ");
  14.             cadena = Keyboard.readString();
  15.          
  16.          
  17.             if (!cadena.equals("exit")){         // Si no pones exit, que vaya haciendo el programa      
  18.                for (int i = 0; i < cadena.length(); i++)
  19.                {
  20.                   char letra = cadena.charAt(i);//variable letra que vaya cogiendo el caracter de la frase
  21.                
  22.                   if (vocales.indexOf(letra + "") > -1){ // Si en la frase hay vocales, que vaya  contando
  23.                      totVocales++;
  24.                   }
  25.                   if (consonantes.indexOf(letra + "") > -1){ // Si en la frase hay consonantes, que te vaya contando
  26.                      totConsonantes++;
  27.                   }
  28.                   if (signos.indexOf( letra + "") > -1){ // Si en el caracter letra hay signos, que te vaya contando
  29.                      totsignos++;
  30.                   }
  31.                   if(letra == ' '){ // Si en la letra hay espacios, que te vaya contando
  32.                      totespais++;
  33.                   }
  34.                }
  35.            
  36.              // Visualización por pantalla
  37.            
  38.                System.out.println("Total Vocales: " + totVocales);
  39.                System.out.println("Total Consonantes: " + totConsonantes);
  40.                System.out.println("Total signos: " + totsignos);
  41.                System.out.println("Total espacios: " + totespais);
  42.            
  43.            
  44.             }
  45.          }
  46.          // Si ha puesto en la cadena "Exit" que se acabe el programa
  47.          while (!cadena.equals("exit"));
  48.          System.out.print ("\n Fin del programa");
  49.      
  50.      
  51.      
  52.       }
  53.    }



13. - Diseñar un mini-editor de textos que pueda ejecutar sobre un texto las siguientes operaciones con un menú:

     - Localizar una cadena especificada.
     - Borrar una subcadena.
     - Insertar una subcadena en una posición especificada.
     - Sustituir una subcadena por otra.
  1.  import cs1.*;
  2.    public class bucles13
  3.    {
  4.       public static void main(String args[])
  5.       {
  6.      
  7.          String text,cadena;
  8.          int condicio;
  9.          System.out.print ("Entra una condició (1,2,3,4,5): ");//el 5 és per sortir del programa
  10.          condicio = Keyboard.readInt ();
  11.      
  12.          System.out.print ("Entra un text: ");
  13.          text = Keyboard.readString ();
  14.          do{
  15.          
  16.             if (condicio == 1){
  17.                System.out.print("Introdueix una cadena: ");
  18.                cadena = Keyboard.readString ();
  19.                int letras = cadena.length ();
  20.                boolean esta = false;// si està la frase en el text
  21.            
  22.                for(int i = 0;i<text.length() - letras + 1 && !esta;i++){
  23.                   String subcadena = text.substring(i,i + letras);
  24.                   if (cadena.equals(subcadena)){
  25.                      System.out.println ("La cadena " + cadena + " està en el text");
  26.                      esta = true;
  27.                   }
  28.                
  29.                }
  30.                if (esta == false)
  31.                   System.out.println ("La cadena " + cadena + " no està en el text");
  32.            
  33.             }
  34.            
  35.             else if (condicio == 2){
  36.                System.out.print("Introdueix una cadena: ");
  37.                cadena = Keyboard.readString ();
  38.                int letras = cadena.length ();
  39.                boolean esta = false;// si està la frase en el text
  40.            
  41.                for(int i = 0;i<text.length() - letras && !esta;i++){
  42.                   String subcadena = text.substring(i,i + letras);
  43.                   if (cadena.equals(subcadena)){
  44.                      System.out.println ("La cadena " + cadena + " està en el text");
  45.                      esta = true;
  46.                      String resultado;
  47.                      resultado = text.substring(0,i);//1era part del text fins a la cadena trobada, la guardem en resultado
  48.                      resultado = resultado + text.substring(+ letras,text.length());
  49.                  
  50.                      System.out.println("El text amb la cadena esborrada quedaria aixi: " + resultado);
  51.                   }
  52.                
  53.                }
  54.                if (esta == false)
  55.                   System.out.println ("La cadena " + cadena + " no està en el text");
  56.            
  57.             }
  58.            
  59.             else if (condicio == 3){
  60.                System.out.println ("Introdueix la cadena que vols inserir: ");
  61.                String cadena_insertada = Keyboard.readString ();
  62.                System.out.println ("En quina posició la vols inserir? ");
  63.                int posicio = Keyboard.readInt ();
  64.                if (posicio > text.length())
  65.                   System.out.println ("Error, la posició és massa gran");
  66.                else{
  67.                   String resultado;
  68.                
  69.                   resultado = text.substring(0,posicio);
  70.                   resultado = resultado + cadena_insertada + text.substring(posicio,text.length());
  71.                
  72.                   System.out.println ("El text amb la cadena inserida quedaria així: " + resultado);
  73.                
  74.                }
  75.             }
  76.             else if (condicio == 4){
  77.            
  78.             // perquè puguem subsitituir una cadena ha d'estar primer en el text
  79.            
  80.                System.out.print("Introdueix la cadena que vols substituir: ");
  81.                cadena = Keyboard.readString ();
  82.                System.out.print("Introdueix la cadena que vols insertar: ");
  83.                String cadena_insertada = Keyboard.readString ();
  84.            
  85.                int letras = cadena.length ();
  86.                boolean esta = false;// si està la frase en el text
  87.            
  88.                for(int i = 0;i<text.length() - letras + 1 && !esta;i++){
  89.                   String subcadena = text.substring(i,i + letras);
  90.                   if (cadena.equals(subcadena)){
  91.                      System.out.println ("La cadena " + cadena + " està en el text");
  92.                      esta = true;
  93.                      String resultado;
  94.                      resultado = text.substring(0,i);//1era part del text fins a la cadena trobada, la guardem en resultado
  95.                      resultado = resultado + cadena_insertada + text.substring(+ letras,text.length());
  96.                  
  97.                  
  98.                      System.out.println ("El text amb la cadena substituida quedaria així: " + resultado);
  99.                  
  100.                   }
  101.                
  102.                
  103.                }
  104.                if (esta == false)
  105.                   System.out.println ("La cadena " + cadena + " no està en el text");
  106.            
  107.            
  108.             }
  109.             System.out.print ("Entra una condició (1,2,3,4,5): ");
  110.             condicio = Keyboard.readInt ();
  111.          
  112.          
  113.          
  114.          }while (condicio != 5);
  115.      
  116.       }
  117.    }


No hay comentarios:

Publicar un comentario