domingo, 9 de abril de 2017

Pesquisando string e marcando as linhas das ocorrências

Fenomenal, passei o domingo programando,
para que os mais de 1000 leitores diário do blog
tenha conteúdo para acessar.
Este exemplo que trago agora, impressiona até
mesmo a mim.
As veses me acho o máximo, seria muito bom que fosse.
Quando uma string informada pela entrada de dados
se encontra no array, o programa pinta a linha
inteira da ocorrência, se houver mais de uma ocorrência
da palavra informada, todas as linhas das ocorrências
são pintadas em vermelho, e o programa ainda informa
o total de linhas que possui a palavra pesquisada.
Se não houver ocorrência o programa passa a mensagem
dizendo que 0 linhas possui a palavra pesquisada.
Quer ver como fiz, veja e assuma que este e todos
os outros códigos que postei são fornecidos apenas
para estudos desta fascinante linguagem.

Veja abaixo imagens do programa em execução:




Veja abaixo o código do programa:



import java.util.Scanner;

public abstract class PROJETO {
     private static int Bind ( ) {
         J jht = new J ( );
        jht.textbackground ( jht.WHITE );
       jht.Moldura ( ( short ) 1, ( short ) 24, ( short ) 2, ( short ) 78 );
       jht.title ( " " );
         int i, j, x = 0;
         String busca = "";
         String [ ] oc = new String [ 44 ];
         String [ ] texto = {
                   "No Meio do Caminho                        \n",
                   "Carlos Drummond de Andrade                \n",
                   "No meio do caminho tinha uma pedra        \n",
                   "Tinha uma pedra no meio do caminho        \n",
                   "Tinha uma pedra                           \n",
                   "No meio do caminho tinha uma pedra.       \n",
                   "Nunca me esquecerei desse acontecimento   \n",
                   "Na vida de minhas retinas tão fatigadas.  \n",
                   "Nunca me esquecerei que no meio do caminho\n",
                   "Tinha uma pedra                           \n",
                   "Tinha uma pedra no meio do caminho        \n",
                   "No meio do caminho tinha uma pedra.       \n"};
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( short ) 28, ( short ) 2 );
         System.out.printf ( "PROCURANDO STRING EM ARRAY " );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( short ) 29, ( short ) 4 );
         System.out.printf ( "Imprimindo abaixo o array " );
         for ( i = 0; i < texto.length; i++ ) {
              jht.gotoxy ( ( short ) 24, ( short ) i + 6 );
              jht.textcolor ( jht.LIGHTBLUE );
              System.out.printf ( texto [ i ] );
         }
         jht.textcolor ( jht.BLACK );
         jht.gotoxy ( ( int ) 24, ( int ) 19 );
         System.out.printf ( "Digite uma Palavra: " );
         jht.textcolor ( jht.LIGHTRED );
         Scanner dados = new Scanner ( System.in );
         busca = dados.nextLine ( );
         for ( i = 0; i < texto.length; i++ ) {
              jht.gotoxy ( ( short ) 24, ( short ) i + 6 );
              if ( texto [ i ].contains ( busca ) ) {
                   jht.textcolor ( jht.LIGHTRED );
                   System.out.printf ( texto [ i ] );
                   // A string oc foi usada para pegar o total de linhas
                   oc [ x ] = texto [ i ];
                   x++;
              } else {
                   jht.textcolor ( jht.LIGHTBLUE );
                   jht.gotoxy ( ( short ) 24, ( short ) i + 6 );
                   System.out.printf ( texto [ i ] );
              }
         }
         jht.gotoxy ( ( short ) 24, ( short ) 20 );
         jht.textcolor ( jht.LIGHTRED );
         System.out.printf ( "%d", x );
         jht.textcolor ( jht.LIGHTBLUE );
         System.out.printf ( " linhas possui a palavra " );
         jht.textcolor ( jht.LIGHTRED );
         System.out.printf ( "%s", busca );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( int ) 30, ( int ) 22 );
         System.out.printf ( "PRESSIONE QUALQUER TECLA" );
         jht.getche ( );
         jht.Apaga ( ( short ) 19, ( short ) 20, ( short ) 20, ( short ) 68 );
         jht.Apaga ( ( short ) 20, ( short ) 21, ( short ) 14, ( short ) 60 );
         jht.Apaga ( ( short ) 22, ( short ) 23, ( short ) 25, ( short ) 60 );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 24, ( int ) 19 );
         System.out.printf ( "Por: " );
         jht.textcolor ( jht.LIGHTMAGENTA );
         System.out.printf ( "Samuel Lima" );
         jht.textcolor ( jht.BLACK );
         jht.gotoxy ( ( int ) 24, ( int ) 20 );
         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 ( );
         return 0;
     }
     public static void main ( String [ ] args ) {
         Bind ( );
     }
}

Nenhum comentário:

Postar um comentário

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