quinta-feira, 27 de abril de 2017

ARRAY DE CHAR - PREENCHIMENTO ALEATÓRIO

Um programador iniciante de java pode querer
preencher um array de char em modo aleatório,
Isto mesmo, escolher exatamente a primeira
posição em um array qualquer, e nesta posição
introduzir o seu elemento.
Neste exemplo, mostro como isto pode ser feito,
o programa permite que se escolha a posição do
array onde será introduzido os caracteres entre
a e z, maiúsculo ou minúsculo
Uma característica importante do programa é a não
permissão de entrada de dígitos no array,
como os limites seguros das posições, não permitindo
jamais que se exceda.
Esta oferta gratuita do meu blog, é dedicada a todos
os amantes iniciantes ou não de java.

Veja abaixo uma imagem do programa em execução:


Veja abaixo o código do programa:



//ARRAY MULTIDIMENSIONAL DE CHAR - PREENCHIMENTO ALEATÓRIO
import java.awt.Toolkit;
import java.util.Scanner;
class PROJETO {
     //Esta função não permite a entrada de caracteres
     public static int Not_Caracter ( char c ) {
         int i;
         for ( i = 0; i < ( c ); i++ ) {
              if ( c < '0' || c > '9' )
                   return 0;
         }
         return 1;
     }
     //Esta função não permite a entrada de dígitos
     public static int Not_Digitos ( char c ) {
         int i;
         for ( i = 0; i < ( c ); i++ ) {
              if ( ( c < 'a' || c > 'z' ) && ( c < 'A' || c > 'Z' ) )
                   return 0;
         }
         return 1;
     }
     public static void main ( String args [ ] ) {
         //Classe J é usada para a formatações das
         //cores e posicionamentos dos textos no vídeo
         J jht = new J ( );
         jht.textbackground ( jht.WHITE );
         jht.Moldura ( ( short ) 1, ( short ) 24, ( short ) 2, ( short ) 68 );
         jht.title ( " " );
         int i, j = 0, x = 0;
         int  tam  = 3;
         int a    = 0;
         jht.gotoxy ( ( short ) 16, ( short ) 7 );
         char vet [ ][ ] = new char [ tam ] [ tam ];
         jht.gotoxy ( ( short ) 12, ( short ) tam );
         jht.textcolor ( jht.LIGHTRED );
         System.out.printf ( "ARRAY MULTIDIMENSIONAL - PREENCHIMENTO ALEATÓRIO" );
         // /////////////////////////////////////////////////////////////
         //Este bloco limpa o array
         for ( i = 0; i < tam; i++ ) {
              for ( j = 0; j < tam; j++ ) {
                   vet [ i ] [ j ] = ' ';
              }
         }
         // /////////////////////////////////////////////////////////////
         for ( a = 0; a < 9; a++ ) {
              jht.gotoxy ( ( short ) 20, ( short ) 5 );
              jht.textcolor ( jht.LIGHTBLUE );
              System.out.printf ( "Escolha a " );
              jht.textcolor ( jht.LIGHTRED );
              System.out.printf ( "%dª", a + 1 );
              jht.textcolor ( jht.LIGHTBLUE );
              System.out.printf ( " posição : " );
              jht.textcolor ( jht.LIGHTRED );
              Scanner sc = new Scanner ( System.in );
              String c = sc.next ( );
              // /////////////////////////////////////////////////////////////
              // temos abaixo uma conversão de String para char
              // dentro dos parâmetros da função Not_Caracter
              if ( Not_Caracter ( c.charAt ( 0 ) ) == 0 || ( c.charAt ( 0 ) ) > '2' ) {
                   Toolkit.getDefaultToolkit ( ).beep ( );
                   a = a - 1;
                   jht.Apaga ( ( short ) 5, ( short ) 6, ( short ) 42,
                            ( short ) 45 );
                   continue;
              }
              // /////////////////////////////////////////////////////////////
              jht.Apaga ( ( short ) 5, ( short ) 6, ( short ) 42,
                        ( short ) 45 );
              jht.gotoxy ( ( short ) 43, ( short ) 5 );
              String c_c = sc.next ( );
              // /////////////////////////////////////////////////////////////
              // temos abaixo uma conversão de String para char
              // dentro dos parâmetros da função Not_Caracter
              if ( Not_Caracter ( c_c.charAt ( 0 ) ) == 0 || ( c_c.charAt ( 0 ) ) > '2' ) {
                   Toolkit.getDefaultToolkit ( ).beep ( );
                   a = a - 1;
                   jht.Apaga ( ( short ) 5, ( short ) 6, ( short ) 42,
                            ( short ) 45 );
                   continue;
              }
              //Conversão de String para inteiro
              i = Integer.parseInt ( c );
              j = Integer.parseInt ( c_c );
              // /////////////////////////////////////////////////////////////
              if ( vet [ i ] [ j ] != ' ' ) {
                   //Este bloco verifica se uma posição já foi preenchida
                   Toolkit.getDefaultToolkit ( ).beep ( );
                   jht.Apaga ( ( short ) 5, ( short ) 6, ( short ) 42,
                            ( short ) 45 );
                   jht.gotoxy ( ( short ) 43, ( short ) 5 );
                   a = a - 1;
                   continue;
              }
              // /////////////////////////////////////////////////////////////
              jht.Apaga ( ( short ) 5, ( short ) 6, ( short ) 42,
                        ( short ) 45 );
              do{
                   jht.Apaga ( ( short ) 7, ( short ) 8, ( short ) 39,
                            ( short ) 44 );  
                   // /////////////////////////////////////////////////////////////
                   jht.textcolor ( jht.LIGHTBLUE );
                   jht.gotoxy ( ( short ) 20, ( short ) 7 );
                   System.out.printf ( "Escolha um caractere : " );
                   jht.textcolor ( jht.LIGHTRED );
                   String st = sc.next ( );
                   // /////////////////////////////////////////////////////////////
                   // temos abaixo uma conversão de String para char
                   // dentro dos parâmetros da função Not_Digitos
                   if ( Not_Digitos ( st.charAt ( 0 ) ) == 0 ) {
                        Toolkit.getDefaultToolkit ( ).beep ( );
                        jht.Apaga ( ( short ) 5, ( short ) 6, ( short ) 42,
                                 ( short ) 45 );
                        continue;
                   }
                   // /////////////////////////////////////////////////////////////
                   vet [ i ] [ j ] = st.charAt ( 0 );
                   jht.textcolor ( jht.LIGHTBLUE );
                   for ( i = 0; i < tam; i++ ) {
                        if ( i == 0 )
                            jht.gotoxy ( ( short ) 33, ( short ) 11 );
                        if ( i == 1 )
                            jht.gotoxy ( ( short ) 33, ( short ) 14 );
                        if ( i == 2 )
                            jht.gotoxy ( ( short ) 33, ( short ) 17 );
                        for ( j = 0; j < tam; j++ ) {
                            // só imprime os números e não 32
                            if ( vet [ i ] [ j ] != ' ' )
                                 System.out.printf ( vet [ i ] [ j ] + "   " );
                        }
                   }
                   jht.Apaga ( ( short ) 7, ( short ) 8, ( short ) 19,
                            ( short ) 44 );
                   jht.Apaga ( ( short ) 5, ( short ) 6, ( short ) 42,
                            ( short ) 45 );
                   break;
              }while ( true );
              if ( a == 9 )
                   break;
              continue;
         }
         // /////////////////////////////////////////////////////////////
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 22, ( int ) 19 );
         jht.Sleep ( ( short ) 1800 );
         System.out.printf ( "Por: " );
         jht.textcolor ( jht.LIGHTMAGENTA );
         System.out.printf ( "Samuel Lima" );
         jht.textcolor ( jht.BLACK );
         jht.gotoxy ( ( int ) 22, ( 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 ( );
         // /////////////////////////////////////////////////////////////
     }
}







Nenhum comentário:

Postar um comentário

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