jueves, 21 de octubre de 2010

Ejercicios con "for" y "Strings"

1.- Realizar un programa que lea una frase por teclado y después muestre los caracteres 'a' que contiene dicha frase, junto a la posición que ocupa (las posiciones se comienzan a contar desde 0).

public class Ejer1 {
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        String frase;
        int pos;    //para ir indicando la posición de cada caracter
        System.out.println("A continuación escriba una frase (que contenga alguna 'a'):");
        frase = entrada.nextLine();
        if (frase.indexOf('a') == -1)
            System.out.println("La frase introducida no contiene ninguna 'a'.");
        else
            for (pos=0; pos < frase.length(); pos++)
                if (frase.charAt(pos) == 'a')
                    System.out.println("a - " + pos);
    }	
}

2.- El mismo ejercicio anterior, pero que busque los caracteres 'a' desde el final hasta el principio.

public class Ejer2 {
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        String frase;
        int pos;    //para ir indicando la posición de cada caracter
        System.out.println("A continuación escriba una frase (que contenga alguna 'a'):");
        frase = entrada.nextLine();
        if (frase.indexOf('a') == -1)
            System.out.println("La frase introducida no contiene ninguna 'a'.");
        else
            for (pos= (frase.length()-1); pos >= 0; pos--)
                if (frase.charAt(pos) == 'a')
                    System.out.println("a - " + pos);
    }	
}

3.- El mismo programa, pero ahora debe mostrar sólo las 'a' que estén al principio de una palabra.

DIAGRAMA DE NASSI-SHNEIDERMAN



PROGRAMA EN JAVA

public class Ejer3 {
    public static void main(String[] args) {
        Scanner entrada = new Scanner(System.in);
        String frase;
        int pos;    //para ir indicando la posición de cada caracter
        pos = 0;
        System.out.println("A continuación escriba una frase (que contenga alguna 'a'):");
        frase = entrada.nextLine();
        if (frase.indexOf('a') == -1)
            System.out.println("La frase introducida no contiene ninguna 'a'.");
        else{
            if (frase.charAt(pos) == 'a')
                System.out.println("a - " + (pos));
            for (pos=0; pos < (frase.length()-1); pos++)
                if (Character.isLetter(frase.charAt(pos)) == false)
                    if (frase.charAt(pos + 1) == 'a')
                        System.out.println("a - " + (pos + 1));
        }
    }	
}

No hay comentarios:

Publicar un comentario