loops-e-arrays icon indicating copy to clipboard operation
loops-e-arrays copied to clipboard

Ex02_Consoantes

Open JuniorMoura10 opened this issue 3 years ago • 3 comments

package com.moura.junior.exercicios.arrays;

import java.util.Scanner;

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

    String[] consoantes = new String[6];
    int quantConsoantes = 0;

    //String vogais = "a, e, i, o u";

    int count = 0;

    do {
        System.out.println("Letra: ");
        String letra = scan.next();

        if(!(letra.equalsIgnoreCase("a")|
                letra.equalsIgnoreCase("e")|
                letra.equalsIgnoreCase("i")|
                letra.equalsIgnoreCase("o")|
                letra.equalsIgnoreCase("u")) ){
            consoantes[count] = letra;
            quantConsoantes++;

        }
        count++;
    }while(count < consoantes.length);

    System.out.println(quantConsoantes);
}

}

Neste exercício, eu tentei resolver o laço "if" com uma variável "vogais"(que está comentada). Não deu erros e o programa rodou, porém, não fez a contagem de consoantes. Ele considerou todas as letras na contagem!! Pq isso aconteceu?

JuniorMoura10 avatar Dec 30 '21 17:12 JuniorMoura10

package com.moura.junior.exercicios.arrays;

import java.util.Scanner;

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

    String[] consoantes = new String[6];
    int quantConsoantes = 0;

    //String vogais = "a, e, i, o u";

    int count = 0;

    do {
        System.out.println("Letra: ");
        String letra = scan.next();

        if(!(letra.equalsIgnoreCase("a")|
                letra.equalsIgnoreCase("e")|
                letra.equalsIgnoreCase("i")|
                letra.equalsIgnoreCase("o")|
                letra.equalsIgnoreCase("u")) ){
            consoantes[count] = letra;
            quantConsoantes++;

        }
        count++;
    }while(count < consoantes.length);

    System.out.println(quantConsoantes);
}

}

Neste exercício, eu tentei resolver o laço "if" com uma variável "vogais"(que está comentada). Não deu erros e o programa rodou, porém, não fez a contagem de consoantes. Ele considerou todas as letras na contagem!! Pq isso aconteceu?

Oi amigão, boa noite. Coloca aqui o código de como você fez usando String vogais = "a, e, i, o u";

cami-la avatar Dec 30 '21 22:12 cami-la

package com.moura.junior.exercicios.arrays;

import java.util.Scanner;

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

    String[] consoantes = new String[6];
    int quantConsoantes = 0;

    String vogais = "a, e, i, o u";

    int count = 0;

    do {
        System.out.println("Letra: ");
        String letra = scan.next();

        if(!(letra.equalsIgnoreCase(vogais)) ){
            consoantes[count] = letra;
            quantConsoantes++;

        }
        count++;
    }while(count < consoantes.length);

    System.out.println("Quantidade de consoantes: " + quantConsoantes);
    System.out.print("Consoantes: ");
    for (String consoante : consoantes) {
        if(consoante != null)
        System.out.print(consoante + " ");
    }
}

}

Eis aí!

JuniorMoura10 avatar Dec 30 '21 23:12 JuniorMoura10

package com.moura.junior.exercicios.arrays;

import java.util.Scanner;

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

    String[] consoantes = new String[6];
    int quantConsoantes = 0;

    String vogais = "a, e, i, o u";

    int count = 0;

    do {
        System.out.println("Letra: ");
        String letra = scan.next();

        if(!(letra.equalsIgnoreCase(vogais)) ){
            consoantes[count] = letra;
            quantConsoantes++;

        }
        count++;
    }while(count < consoantes.length);

    System.out.println("Quantidade de consoantes: " + quantConsoantes);
    System.out.print("Consoantes: ");
    for (String consoante : consoantes) {
        if(consoante != null)
        System.out.print(consoante + " ");
    }
}

}

Eis aí!

if(!(letra.equalsIgnoreCase(vogais)) ){
        consoantes[count] = letra;
        quantConsoantes++;
}

Desta forma, não tem como fazer a verificação de cada vogal individualmente. Já que a String vogais = "a, e, i, o u"; está tudo junto. No curso, deixei comentado só para ilustrar as vogais.

if(!(letra.equalsIgnoreCase("a")|
            letra.equalsIgnoreCase("e")|
            letra.equalsIgnoreCase("i")|
            letra.equalsIgnoreCase("o")|
            letra.equalsIgnoreCase("u")) ) {
// ....
}

Assim a gente consegue verificar vogal por vogal. Caso a letra digitada não seja alguma dessas vogais dentro do if, aí sim faz a contabilidade porque será uma consoante.

cami-la avatar Jan 02 '22 20:01 cami-la