domingo, 9 de abril de 2017

Criando array de inteiros - imprimindo divisores

Agora vamos preencher um array de inteiros
com números de 1 a 100, através de um contador
com laço for e imprimi-lo na tela do dos.
Feito isto vamos digitar um número na entrada
entre 1 e 100 para conhecermos seu divisores
dentro do array.
Porém se você digitar números acima do máximo
ou abaixo do mínimo do array, não passará.
Uma mensagem é enviada, e o retorno é certo
graças a um do{ }while();
Caracteres, strings e acentos são reprovados,
e o comportamento é o mesmo citado acima.
Más, se o número enviado pela entrada estiver
dentro dos parâmetros do array, seus divisores
são imprimidos e o programa segue seu curso
até ser finalizado? quer ver como acontece?

Veja abaixo uma imagem 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 [ 50 ];
         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 DIVISORES 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.BROWN );
              jht.Apaga ( ( short ) 4, ( short ) 26, ( short ) 0,( short ) 2 );
              //jht.cursortype ( ( short ) 0 );//Apaga o cursor
              jht.textbackground ( jht.WHITE );
         /////////////////////////////////////////////////////////////////////
              //Entrada através de string
              jht.textcolor ( jht.LIGHTBLUE );
              jht.gotoxy ( ( short ) 20, ( short ) 19 );
              System.out.printf ( "Verificar divisores ==> " );
              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 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
              n = Integer.parseInt ( c );
              if ( n < 1 || n > 100 ) {
                   Toolkit.getDefaultToolkit ( ).beep ( );
                   jht.textcolor ( jht.LIGHTBLUE );
                   jht.gotoxy ( ( short ) 28, ( short ) 21 );
                   System.out.printf ( "O Número " );
                   jht.textcolor ( jht.LIGHTRED );
                   System.out.printf ( "%d", n );
                   jht.textcolor ( jht.LIGHTBLUE );
                   System.out.printf ( " não existe no array" );
                   jht.Sleep ( ( short ) 1800 );
                   jht.Apaga ( ( short ) 21, ( short ) 22, ( short ) 20,
                            ( short ) 65 );
                   jht.Apaga ( ( short ) 19, ( short ) 20, ( short ) 34,
                            ( short ) 59 );
                   continue;
              }
         /////////////////////////////////////////////////////////////////////
              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");
                   if ( n % i == 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 ] );
                   }
              }
         /////////////////////////////////////////////////////////////////////
              //A coluna esquerda da moldura está sendo
              //refeita através deste método apaga
              jht.textbackground ( jht.BROWN );
              jht.Apaga ( ( short ) 4, ( short ) 26, ( short ) 0,( short ) 2 );
              jht.textbackground ( jht.WHITE );
              /////////////////////////////////////////////////////////////////
              jht.textbackground ( jht.WHITE );  
              jht.textcolor ( jht.LIGHTBLUE );
              jht.gotoxy ( ( short ) 20, ( short ) 19 );
              System.out.printf ( "Em vermelho os divisores de ");
              jht.textcolor ( jht.LIGHTRED );
              System.out.printf ( "%d", n );;
              jht.textcolor ( jht.LIGHTBLUE );
              jht.gotoxy ( ( int ) 20, ( int ) 20 );
              jht.Sleep ( ( short ) 1500 );
              System.out.printf ( "Encontramos " );
              jht.textcolor ( jht.LIGHTRED );
              System.out.printf ( "%d", x );
              jht.textcolor ( jht.LIGHTBLUE );
              System.out.printf ( " divisores de " );
              jht.textcolor ( jht.LIGHTRED );
              System.out.printf ( "%d", n );
              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.Sleep ( ( short ) 1800 );
              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" );
             System.exit ( 0 );
              jht.getche ( );
         } while ( true );
     }
}

Nenhum comentário:

Postar um comentário

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