domingo, 26 de fevereiro de 2017

Frase - separando dígitos

Agora pouco inseri uma frase num array de string
contendo caracteres e dígitos, e a impressão
saiu como digitei, é claro.
Más, e se eu quisesse separar os dígitos dos caracteres?
Pois bem, depois de algumas cabeçadas consegui separá-los,
e mostro neste exemplo como fiz.
A frase digitada é inserida numa string pela entrada
de dados padrão do java, más logo é convertida para
um array de chars, vindo em seguida a impressão na tela.
logo após isto, ó array de chars passa por dois blocos
de códigos onde é feito a separação.

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 ) 78 );
         jht.title ( " " );
         char [ ] Vet = new char [ tam ];
         int h = 0, k, i = 0, j, lenv, len_v, t;
         char [ ] Num = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
         String conv = "";
         char [ ] frase = new char [ tam ];
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( int ) 28, ( int ) 3 );
         System.out.printf ( "FRASE - SEPARANDO DÍGITOS" );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 16, ( int ) 5 );
         System.out.printf ( "Digite uma frase ==> " );
         jht.textcolor ( jht.LIGHTRED );
         Scanner dados = new Scanner ( System.in );
        conv = dados.nextLine ( );
        frase = conv.toCharArray();
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 16, ( 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 = ( Num.length );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 16, ( int ) 9 );
         System.out.printf ( "Imprimindo abaixo só os caracteres da frase" );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( int ) 16, ( int ) 11 );
         for ( i = 0; i < frase.length; i++ ) {
              for ( j = 0; j < lenv; j++ )
                   if ( frase [ i ] == Num [ j ] )
                        break;
              if ( j == lenv )
                   System.out.print ( frase [ i ] );
         }
         jht.getche ( );
        for ( i = 0; i < frase.length; i++ ) {
              for ( j = 0; j < lenv; j++ ) {
                   if ( Num [ j ] == frase [ i ] ) {
                        Vet [ h ] = frase [ i ];
                        h++;
                   }
              }
         }
         k = h;
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 16, ( int ) 13 );
         System.out.printf ( "Imprimindo abaixo só os dígitoss da frase" );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( int ) 26, ( int ) 15 );
         for ( h = 0; h < k; h++ ) {
              System.out.printf ( " %c ", Vet [ h ] );
         }
         jht.getche ( );
         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 ) 34, ( 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.