Array en JAVA

Aplicación en Java que trabaje con un array que almacene la edad de varias personas y realice diferentes operaciones.
 a) Solicita por pantalla el tamaño del array, siendo el tamaño válido entre 4 y 10 -ambos inclusive
 b) Solicita por pantalla los valores numéricos correspondientes a las edades para rellenar todo el array.
c) Averigua cuál es el valor mayor y el valor menor del array y muéstralo por pantalla.
d) Calcula la edad media de todos los valores introducidos y muéstralo por pantalla

public class A1_PruebasVarias {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
/**Finalidad del programa*/       
        System.out.println("Crea un array con edades, Al final mostrará la edad mayor, la edad mayor y la media.");
        int edades; // variable para introducir un nº por teclado
        int nMayor;
        int nMenor;
        int media=0;

/**Bucle que controla que la matriz tendrá el tamaño adecuado*/        
        do{
            System.out.println("Indique el tamaño del array (mínimo 4 y máximo 10) :");
            edades=sc.nextInt();
        }while(edades<4 edades="">10);
/**Inicializamos el array con el valor obtenido por teclado.*/        
        int[] mEdades=new int[edades];
        System.out.println("Asigna valores al array de edades: ");  //Mensaje para el usuario
/**Bucle que recorreel array y le asigna un nº introducido por teclado 
 * en cada vuelta a cada posición*/        
        for(int i=0;i<edades;i++){  // el bucle sigue hasta que i sea igual a edades.
            System.out.print("mEdades["+i+"] = ");    //Mensaje para cada recorrido del bucle
            mEdades[i]=sc.nextInt();  // se guarda lo introducido por pantalla en cada posición del array 
        }
/**Inicializamos las variables nMenor y nMayor en la posición 0 del array. Así nos dará el mayor o el menor.
 * Esto se hace cuando la matriz ya fue rellenada, antes esto no funcionaría.*/        
        nMenor=mEdades[0];
        nMayor=mEdades[0];
        System.out.print("\n"); // salto de línea.
/**Recorrer el bucle mejorado */        
        for(int valor:mEdades){
          if(nMenor>valor){nMenor=valor;}  //Para buscar la edad menor
   if(nMayor<valor){nMayor=valor;}  //Para buscar la edad menor
   media+=valor;   //Operación para sumar los valores en cada vuelta del bucle.
        }
        System.out.println("La mayor edad es de: "+nMayor); //mostrar el mayor
        System.out.println("La menor edad es de: "+nMenor); //mostrar el menor
        System.out.println("La media es de: "+(media/edades));  //mostrar la media de edad.
    }
}

Comprobar una dirección email en JAVA

Averigua si una dirección de email es correcta o no, es decir, comprueba que en dicha dirección aparece una única vez el carácter “@”, en ese caso, muestra un mensaje por pantalla en el que indique que dicha dirección es correcta; en caso contrario, muestra un mensaje de error indicando que el nº de veces que aparece dicho carácter.

package a1_pruebasvarias;
import java.util.Scanner;

/**
 * @author Mel */

public class A1_PruebasVarias {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

/**Finalidad del programa*/        
        System.out.println("Coprueba si un email tiene un carácter @ y solo uno.");

        String email;    // variable tipo string para guardar lo que se escribe por teclado.
        int cont=0;      // variable contador para sumar el nº de veces que aparece un @

/**Bucle que comprueba si se ha introducido algo*/        
        do{
            System.out.println("Introduce un email correcto por favor: ");
            email=sc.nextLine();
        }while(email.length()==0);

/**Bucle que recorre el string en busca de caracteres específicos y los guarda en un contador*/       
        for(int i=0;i<email.length();i++){
            if(email.charAt(i)=='@'){
                cont++; 
            }
        }
/**Si en el contador se guardó 1, entonces el email es correcto, de lo contrario da error.*/        
        if(cont==1){
            System.out.println("La dirección de correo es correcta ya que @ aparece "+cont+" vez");
        }else
            System.err.println("La dirección de email es incorrecta ya que @ aparece "+cont+" veces"); 
    }
}

Recorrer una variable String hacia atrás

Recorrer una variable String hacia atrás, pasando desde el último carácter hasta el primero, y mostrando cada uno de ellos por pantalla.

package a1_pruebasvarias;
/**
 * @author Mel */

public class A1_PruebasVarias {
    public static void main(String[] args) {
      
        System.out.println("Mostrar String original y recorrer en orden inverso: ");
        String texto = “Esta, es la frase";    //variable que almacena el texto
        System.out.println("El texto original es:\n "+texto);
        char c;                         // variable que almacena un carácter

        System.out.println("El texto al revés es: ");

// el bucle se ejecuta mientras la longitud del texto sea mayor o igual a 0.        
        for(int i=texto.length()-1;i>=0;i--){
            c = texto.charAt(i); // almacenamos el caracter de cada vuelta del bucle
            System.out.print(c); // mostramos el caracter de cada vuelta del bucle
        }System.out.println(""); // hacemos un salto de línea al final.
    }
}

Comprobación de clave con JAVA

Teniendo en cuenta que la clave de acceso es “clavita”, escribe un programa en Java que nos pida una clave. Solo tenemos 3 intentos para acertar, si fallamos los 3 intentos nos mostrará un mensaje indicándonos que hemos agotado esos 3 intentos. Si acertamos, mostrará un mensaje de “Acertaste, acceso permitido”.
 
package a1_pruebasvarias;
import java.util.Scanner;
/**
 * @author Mel */
public class A1_PruebasVarias {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
  
 String clavita="clavita"; // variable para guardar la clave a comparar
        String clave;   // variable para guardar lo introducido por teclado
        int cont=3;   // variable contador

/** bucle que controla el nº de intentos y compara si lo introducido por teclado 
corresponde con la variable almacenada del sistema.*/     
        do{
            System.out.println("Introduce la clave, por favor: ");
            clave=sc.nextLine();
            if(clave.equals(clavita)==false && cont>=1){
                cont--;
                System.err.println("Error, te quedan solo "+cont+" intentos");
            }else System.out.println("Acertaste, acceso permitido.");
        }while(clave.equals(clavita)==false && cont>=1);

/**Bucle que saca por pantalla un mensaje en caso de agotar el nº de intentos.*/
        if(cont==0) System.err.println("Lo siento, no has acertado y ya no te quedan intentos.");
    }
}

Booleanos

Crea un programa en Java que demuestre el funcionamiento de una bombilla en un circuito en serie, el cual dispone de dos interruptores y una bombilla.

public class A1_PruebasVarias {
    public static void main(String[] args) {        
        boolean a=true;
        boolean b=false;
// las luces se encienden si a y b son verdaderos
        if (a==true && b==true){
            System.out.println("La luz está encendida.");
        }else  //de lo contrario están apagadas.
            System.out.println("La luz está apagada");
    }
}

Tabla de multiblicar con for anidado

/**
 * @author Mel
 * ¿Qué mostrará por pantalla el siguiente código? Revísalo, completa lo que falta 
   e indica exactamente qué eslo que hace en cada iteración. 
 * Añade dos instrucciones en la posición adecuada para que en cada iteración 
  (ojo con el bucle!) se muestre un mensaje indicativo de qué hace y otra que 
   haga de línea separadora.
 * @version Examen 26/12/2018*/

public class A1_PruebasVarias {
    public static void main(String[] args) {

/**i se ejecuta 5 veces porque se incrementa en 2 en cada vuelta del bucle.
Mientras que j se ejecuta 10 veces en cada vuelta de i dando lugar a una tabla de 
multiplicar.*/        

        for (int i=1; i<10; i+=2){
            for (int j=10; j>1; j--){
                System.out.println(i+" x "+j+" = "+ i*j); //se ejecuta la operación
            }System.out.println("");     //salto de línea.
        }
    }
}

Si deseamos la tabla de multiplicar completa, solo tenemos que cambiar en el primer for el incremento a i++.

Ejemplo de pseudocódigo

Crea el pseudocódigo correspondiente al siguiente planteamiento: 

Nos debe decir si una persona puede acceder a cursar un ciclo formativo de grado superior o no. Se puede acceder a un grado superior, si se tiene un título de bachiller, y en caso de no tenerlo, se puede acceder si hemos superado una prueba de acceso. 

Inicio
/**Declaramos 2 variables boleanas y las inicializamos.*/        

bachiller=si;
examen=no;
        
        si(bachiller==si || examen==si){
            imprime("Te puedes matricular");
        }si no
            imprime("No te puedes matricular");
Fin

Codigo fuente :

/**
 * @author a13melanielw
 * @version Examen 26/12/2018
 */

public class A1_PruebasVarias {
    public static void main(String[] args) {

/**Declaramos 2 variables boleanas.*/        
        boolean bachiller=true;
        boolean examen=false;
/*Si una de las condiciones es verdadera, te puedes matricular**/        
        if(bachiller==true || examen==true){
            System.out.println("Te puedes matricular");
        }else // de lo contrario no.
            System.out.println("No te puedes matricular");
    }
}