domingo, 30 de abril de 2017

Frase - contando consoantes

Se podemos contar vogais contidas numa frase
facilmente, logicamente também podemos
contar as consoantes que a frase possui.
Com poucas alterações no último post
lhe mostro agora como isto pode ser feito.
Se você observar atentamente o código
notará rapidamente que tem uma rotina extraindo
somente as consoantes contidas na frase,
isto quer dizer que se a frase conter vogais
ou dígitos, estes não entrarão na contagem.
Está aqui um bom exemplo disto, se é isto
que você procura no momento.
 
Veja abaixo uma imagem do programa em execução:


Veja abaixo o código do programa:



import java.util.Scanner;

public class PROJETO {
     public static int tam = 20;
     public static void main ( String args [ ] ) {
         J jht = new J ( );
         jht.textbackground ( jht.WHITE );
         jht.Moldura ( ( short ) 1, ( short ) 24, ( short ) 2, ( short ) 68 );
         jht.title ( " " );
         char [ ] Vet = new char [ tam ];
         char [ ] Ve_t = new char [ tam ];
         int h = 0, k, i = 0, j, x = 0, lenv, quant = 0;
         char [ ] Vogais = { 'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U' };
         String entr = "";
         String fra_se = "";
         char [ ] frase = new char [ tam ];
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( int ) 23, ( int ) 3 );
         System.out.printf ( "FRASE - CONTANDO CONSOANTES" );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 13, ( int ) 5 );
         System.out.printf ( "Digite uma frase ==> " );
         jht.textcolor ( jht.LIGHTRED );
         Scanner dados = new Scanner ( System.in );
         entr = dados.nextLine ( );
         //frase recebe uma cópia de entr convertida para char
         frase = entr.toCharArray();
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 13, ( int ) 7 );
         System.out.printf ( "Frase digitada ==> " );
         jht.textcolor ( jht.LIGHTRED );
         for ( i = 0; i < frase.length; i++ ) {
              System.out.print ( frase [ i ] );
         }
         jht.getche ( );
     //////////////////////////////////////////////////////////////////////
         //lenv recebe o comprimento do array de char Vogais
         lenv = ( Vogais.length );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 13, ( int ) 9 );
         System.out.printf ( "Imprimindo abaixo só as consoantes da frase" );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( int ) 13, ( int ) 11 );
         for ( i = 0; i < frase.length; i++ ) {
              for ( j = 0; j < lenv; j++ )
                   if ( frase [ i ] == Vogais [ j ] )
                        //Se frase for igual a Vogais, a operação salta
                        //isto é, não se permite imprimir
                        break;
              if ( j == lenv ){
                   //Com o salto do break, a operação cai por aqui
                   //e o que não pode ser imprimido acima por aqui é possível
                   System.out.print ( frase [ i ] );
                   //x pega a quantidade de consoantes da frase
                   //porém o total de espaços são somados
                   Ve_t [ x ] = frase [ i ];
                   x++;
                   //o array de char Ve_t está sendo copiado na string fra_se
                   //fra_se está recebendo uma cópia do array de char Ve_t
                   fra_se = new String ( Ve_t );
              }
         }
         jht.getche ( );
         //Contando espaços para serem eliminados de fra_se
         for ( i = 0; i < fra_se.length ( ); i++ )
              if ( fra_se.charAt ( i ) == ' ' )
                   quant++;
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 13, ( int ) 13 );
         System.out.printf ( "Quantidade de consoantes ==> " );
         jht.textcolor ( jht.LIGHTRED );
         System.out.print ( x - quant );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 20, ( int ) 17 );
         jht.Sleep ( ( short ) 1800 );
         System.out.printf ( "Por: " );
         jht.textcolor ( jht.LIGHTMAGENTA );
         System.out.printf ( "Samuel Lima" );
         jht.textcolor ( jht.BLACK );
         jht.gotoxy ( ( int ) 20, ( int ) 18 );
         System.out.printf ( "sa_sp10@hotmail.com" );
         jht.Sleep ( ( short ) 1800 );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( int ) 29, ( int ) 22 );
         System.out.printf ( "MUITO OBRIGADO" );
         jht.getche ( );
     }
}


Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.