Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

pedro95

Banner em Java

Mensagens Recomendadas

pedro95

Boas :) '

Tenho uma string em hexadecimal do alfabeto, 2D. De que maneira é me possivel criar um banner com um scanner para input do utilizador?

Exemplo de uma letra:

PPP

P P

PPP

P

P

Poderiam dar-me algumas luzes? Assim como também posso usar a string de hex? Não posso utilizar métodos de arrays. Já tentei fazer array bidimensional mas saiu tudo mal... Penso que nem valha a pena mostrar.

Muito obrigado :)

EDIT: Caso seja necessária a string:

int[] LETTERS = {0x69F99, 0xE9E9E, 0x78887, 0xE999E, 0xF8E8F, 0xF8E88, 0x78B96, 0x99F99, 0xF444F, 0xF1196, 0x9ACA9, 0x8888F, 0x9F999, 0x9DFB9, 0x69996, 0xE9E88, 0x699B7, 0xE9EA9, 0x7861E, 0xF4444, 0x99996, 0x99964, 0x999F9, 0x99699, 0x99644, 0xF124F};

(Penso que seja hex)

Editado por Rui Carlos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
DVD 1993

Boas,

Encontro-me com uma dúvida semelhante em que criei 1 inteiro de letras.

Criei também 2 strings de arrays, no entanto não estou a conseguir converter para código binário as letras e os números, e o programa continua a não resultar e a não apresentar os outputs desejados para o programa em questão.

Editado por DVD 1993

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos

Boas,

Encontro-me com uma dúvida semelhante em que criei 1 inteiro de letras.

Criei também 2 strings de arrays, no entanto não estou a conseguir converter para código binário as letras e os números, e o programa continua a não resultar e a não apresentar os outputs desejados para o programa em questão.

Podes descrever melhor o problema?

O que é que queres dizer com "converter para código binário as letras e os números"?

No problema inicial do tópico, dá a ideia que tens um array com a representação de cada letra. Por exemplo o 0x69F99 representa um A. Cada dígito hexadecimal contém uma linha de caracteres da letra, que corresponde à representação binária do dígito. Repara no código abaixo, em que convertendo cada dígito de 0x69F99 para binário se obtém um A (formado pelo 1s):

6 0110
9 1001
F 1111
9 1001
9 1001

Se tiveres uma palavra (ou frase), aquilo que tens que fazer é ir imprimindo uma linha de cada vez. Para cada linha, imprimes o código binário de cada carácter para essa linha. Ou seja, vais precisar de uma função que dado um carácter e uma linha, imprima a representação dessa linha para esse carácter.

Algo como:

Converte('A', 1) = "0110";

Converte('A', 2) = "1001";

Converte('A', 3) = "1111";

Converte('A', 4) = "1001";

Converte('A', 5) = "1001";

Podes aproveitar para substituir os 1s por *, e os 0s por espaços, e ficaria:

Converte('A', 1) = " ** ";

Converte('A', 2) = "* *";

Converte('A', 3) = "****";

Converte('A', 4) = "* *";

Converte('A', 5) = "* *";

O algoritmo seria algo deste género:

Para i de 1 a 5
 Para cada caracter c da palavra
   Imprime(Converte(c, i))

Para a função Converte, o operador & dá bastante jeito para extrair as linhas e os bits do número (por exemplo, 0x69F99 & 0x000F0 = 0x00090).

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.