domingo, 9 de abril de 2017

Marcando múltiplos de um número em array

A farra de hoje é marcar os resultados
das pesquisas no próprio array.
Fizemos isto com pares e ímpares,
primos e não primos, divisores,
pesquisa simples em array de inteiros,
com strings, e agora são os múltiplos
de um número.
Para que as visualizações fique dentro
do array, estabeleci um limite entre 2 e 10,
evidentemente que números maiores ou menores
não passarão na entrada, como também caracteres,
acentos ou qualquer string.
Se está querendo saber como fiz, me siga:

Veja abaixo imagens do programa em execução:




veja abaixo o código do programa:



import java.awt.Toolkit;
import java.util.Scanner;

public class PROJETO {
/////////////////////////////////////////////////////////////////////////
     // Esta função não permite a entrada de caracteres
     public static int Aleatorios ( char c ) {
         int i;
         for ( i = 0; i < ( c ); i++ ) {
              if ( c < '0' || c > '9' )
                   return 0;
         }
         return 1;
     }
//////////////////////////////////////////////////////////////////////////
     static int         tam  = 101, n = 0;
     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 ( " " );
         int i, j, a = 0, x = 0;
         int arr [ ] = new int [ tam ];
         int Ve_t [ ] = new int [ tam ];
         for ( i = 0; i < tam; i++ ) {
              arr [ a ] = i;
              a++;
         }
     /////////////////////////////////////////////////////////////////////
         do {
              jht.textcolor ( jht.LIGHTRED );
              jht.gotoxy ( ( short ) 18, ( short ) 2 );
              System.out.printf ( "IMPRIMINDO OS MÚLTIPLOS DE UM NÚMERO EM ARRAY " );
              jht.textcolor ( jht.LIGHTBLUE );
              jht.gotoxy ( ( int ) 32, ( int ) 4 );
              System.out.printf ( "Por: " );
              jht.textcolor ( jht.LIGHTMAGENTA );
              System.out.printf ( "Samuel Lima" );
         /////////////////////////////////////////////////////////////////////
              jht.textcolor ( jht.BLACK );
              jht.gotoxy ( ( short ) 28, ( short ) 6 );
              System.out.printf ( "Imprimindo abaixo o array " );
              jht.textcolor ( jht.LIGHTBLUE );
              jht.gotoxy ( ( int ) 16, ( int ) 8 );
              for ( i = 1; i < tam; i++ ) {
                   if ( i == 11 || i == 21 || i == 31 || i == 41 || i == 51 ||
                            i == 61 || i == 71 || i == 81 || i == 91 )
                        System.out.printf ( "\n\t\t");
                   jht.textcolor ( jht.LIGHTBLUE );
                   System.out.printf(" %3d ", arr [ i ] );
              }
         /////////////////////////////////////////////////////////////////////
              //A coluna esquerda da moldura está sendo
              //refeita através deste método apaga
              jht.textbackground ( jht.MAGENTA );
              jht.Apaga ( ( short ) 4, ( short ) 26, ( short ) 0,( short ) 2 );
              jht.textbackground ( jht.WHITE );
            jht.textcolor ( jht.LIGHTBLUE );
            jht.gotoxy ( ( int ) 22, ( int ) 20 );
            System.out.printf ( "Digite um número entre ");
            jht.textcolor ( jht.LIGHTRED );
            System.out.printf ( "2");
            jht.textcolor ( jht.LIGHTBLUE );
            System.out.printf ( " e");
            jht.textcolor ( jht.LIGHTRED );
            System.out.printf ( " 10 ");
            jht.textcolor ( jht.BLACK );
              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 Aleatorios
              if ( Aleatorios ( c.charAt ( 0 ) ) == 0 ) {
                   Toolkit.getDefaultToolkit ( ).beep ( );
                   jht.Apaga ( ( short ) 19, ( short ) 20, ( short ) 34,
                            ( short ) 59 );
                   continue;
              }
         /////////////////////////////////////////////////////////////////////
              // Converte string para inteiro
              j = Integer.parseInt ( c );
              if ( j < 2 || j > 10 ) {
                   Toolkit.getDefaultToolkit ( ).beep ( );
                   continue;
              }
         /////////////////////////////////////////////////////////////////////
            jht.gotoxy ( ( int ) 16, ( int ) 8 );
            for ( i = 1; i < tam; i++ ) {
                 if ( i == 11 || i == 21 || i == 31 || i == 41 || i == 51 ||
                          i == 61 || i == 71 || i == 81 || i == 91 )
                      System.out.printf ( "\n\t\t");
                 if ( i % j == 0 ) {
                      jht.textcolor ( jht.LIGHTRED );
                      System.out.printf(" %3d ", arr [ i ] );
                      Ve_t [ x ] = arr [ i ];
                      x++;
                 }else{
                      jht.textcolor ( jht.LIGHTBLUE );
                      System.out.printf(" %3d ", arr [ i ] );
                 }
            }
           /////////////////////////////////////////////////////////////////////
           jht.Apaga ( ( short ) 20, ( short ) 21, ( short ) 14, ( short ) 60 );
            jht.textbackground ( jht.WHITE ); 
            jht.textcolor ( jht.LIGHTBLUE );
            jht.gotoxy ( ( short ) 20, ( short ) 19 );
            System.out.printf ( "Em vermelho os múltiplos de ");
            jht.textcolor ( jht.LIGHTRED );
            System.out.printf ( "%d", j );;
            jht.textcolor ( jht.LIGHTBLUE );
            jht.gotoxy ( ( int ) 20, ( int ) 20 );
            System.out.printf ( "Encontramos " );
            jht.textcolor ( jht.LIGHTRED );
            System.out.printf ( "%d", x );
            jht.textcolor ( jht.LIGHTBLUE );
            System.out.printf ( " múltiplos de " );
            jht.textcolor ( jht.LIGHTRED );
            System.out.printf ( "%d", j );
            jht.textcolor ( jht.LIGHTRED );
            jht.gotoxy ( ( int ) 30, ( int ) 22 );
            System.out.printf ( "PRESSIONE QUALQUER TECLA" );
              //A coluna esquerda da moldura está sendo
              //refeita através deste método apaga
              jht.textbackground ( jht.MAGENTA  );
              jht.Apaga ( ( short ) 4, ( short ) 26, ( short ) 0,( short ) 2 );
            jht.getche ( );
            /////////////////////////////////////////////////////////////////////
            jht.textbackground ( jht.WHITE );
            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.BLACK );
            jht.gotoxy ( ( int ) 20, ( 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 ( );
         } while ( true );
     }
}

Nenhum comentário:

Postar um comentário

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