Agora pouco preenchi um array multidimensional
com números inteiros, e fiquei satisfeito, porém,
me surgiram algumas indagações:
1ª E se eu quisesse fazer este preenchimento
em modo aleatório, escolhendo exatamente a posição
para inserir meu número?
2ª E se eu quisesse criar uma rotina para impedimento
de caracteres na entrada de dados?
3ª E se eu quisesse que meu programa me avisasse
que uma posição já foi ocupada, como faria isto?
4ª E se eu quisesse limitar estas posições dentro
dos parâmetros estabelecidos pelo meu array?
Todas estas perguntas que fiz a mim mesmo
resolvi com este eficiente programa.
Quando um caractere é inserido ou uma posição
ocupada é acionada, ou ainda quando escolhemos
uma posição acima dos limites do array,
Um beep semelhante a do aviso sonoro padrão
do windows é retornado ao usuário.
No lugar deste beep eu poderia usar um que eu tenho
dentro da classe J, más optei por usar
um nativo do próprio java.
Veja abaixo uma imagem do programa em execução:
Veja abaixo o código do programa:
com números inteiros, e fiquei satisfeito, porém,
me surgiram algumas indagações:
1ª E se eu quisesse fazer este preenchimento
em modo aleatório, escolhendo exatamente a posição
para inserir meu número?
2ª E se eu quisesse criar uma rotina para impedimento
de caracteres na entrada de dados?
3ª E se eu quisesse que meu programa me avisasse
que uma posição já foi ocupada, como faria isto?
4ª E se eu quisesse limitar estas posições dentro
dos parâmetros estabelecidos pelo meu array?
Todas estas perguntas que fiz a mim mesmo
resolvi com este eficiente programa.
Quando um caractere é inserido ou uma posição
ocupada é acionada, ou ainda quando escolhemos
uma posição acima dos limites do array,
Um beep semelhante a do aviso sonoro padrão
do windows é retornado ao usuário.
No lugar deste beep eu poderia usar um que eu tenho
dentro da classe J, más optei por usar
um nativo do próprio java.
Veja abaixo uma imagem do programa em execução:
Veja abaixo o código do programa:
//ARRAY MULTIDIMENSIONAL -
PREENCHIMENTO ALEATÓRIO
import java.awt.Toolkit;
import java.util.Scanner;
class PROJETO {
public static void Inform ( ) {
J jht = new J ( );
//
////////////////////////////////////////////////////
// Parâmetros da função printfx
// Coord x, Coord y, String, cor de frente,
cor de fundo,
// Comprimento, Tempo, frequência, duração.
jht.printfx ( 17, 20, "Por: ", 12, 15, 5, 0, 1000, 200 );
jht.printfx ( 22, 20, "Samuel
Lima", 9, 15, 11, 0, 0, 0 );
jht.printfx ( 17, 21, "sa_sp10@hotmail.com", 0, 15, 20, 1800, 0, 0 );
jht.printfx ( 33, 23, "MUITO
OBRIGADO", 12, 15, 15, 0, 0, 0 );
}
// 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;
}
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.Moldura ( 1, 24, 2, 78, 15 );
int i, j = 0, x = 0;
int tam = 3;
int a = 0;
int vet [ ][ ] = new int [ tam ] [ tam ];
jht.poscolor ( 20, tam, 12, 15 );
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.poscolor ( 20, 5, 9, 15 );
System.out.printf ( "Escolha a
" );
jht.textcolor ( 12 );
System.out.printf ( "%d°", a + 1 );
jht.textcolor ( 9 );
System.out.printf ( " posição :
" );
jht.textcolor ( 12 );
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 || ( c.charAt ( 0 ) ) > '2' ) {
Toolkit.getDefaultToolkit ( ).beep ( );
a = a - 1;
jht.Apaga ( 5, 6, 42, 45, 15 );
continue;
}
//
/////////////////////////////////////////////////////////////
jht.Apaga ( 5, 6, 42, 45, 15 );
jht.poscolor ( 43, 5, 12, 15 );
String c_c = sc.next ( );
//
/////////////////////////////////////////////////////////////
// temos abaixo uma conversão de String
para char
// dentro dos parâmetros da função
Aleatorios
if ( Aleatorios ( c_c.charAt ( 0 ) ) == 0
|| ( c_c.charAt ( 0 ) ) > '2' ) {
Toolkit.getDefaultToolkit ( ).beep ( );
a = a - 1;
jht.Apaga ( 5, 6, 42, 45, 15 );
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 ( 5, 6, 42, 45, 15 );
jht.poscolor ( 43, 5, 9, 15 );
a = a - 1;
continue;
}
//
/////////////////////////////////////////////////////////////
jht.Apaga ( 5, 6, 42, 45, 15 );
do {
jht.Apaga ( 5, 6, 42, 45, 15 );
//
/////////////////////////////////////////////////////////////
jht.poscolor ( 20, 7, 9, 15 );
System.out.printf ( "Escolha um número
: " );
jht.textcolor ( 12 );
String st = sc.next ( );
//
/////////////////////////////////////////////////////////////
// temos abaixo uma
conversão de String para char
// dentro dos parâmetros
da função Aleatorios
if ( Aleatorios ( st.charAt ( 0 ) ) == 0 ) {
Toolkit.getDefaultToolkit ( ).beep ( );
continue;
}
// O array recebe uma
cópia de cada elemento
// Convertendo de
String para inteiro
vet [ i ] [ j ] = Integer.parseInt ( st );
//
/////////////////////////////////////////////////////////////
jht.textcolor ( 9 );
for ( i = 0; i < tam; i++ ) {
if ( i == 0 )
jht.poscolor ( 33, 11, 9, 15 );
if ( i == 1 )
jht.poscolor ( 33, 14, 9, 15 );
if ( i == 2 )
jht.poscolor ( 33, 17, 9, 15 );
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 ( 7, 8, 19, 44, 15 );
jht.Apaga ( 5, 6, 42, 45, 15 );
break;
} while ( true );
if ( a == 9 )
break;
continue;
}
//
/////////////////////////////////////////////////////////////
jht.getche ( );
Inform ( );
}
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.