A classe BYTE deve implementar os seguintes serviços básicos:
void reset(), reseta o BYTE, ou seja, armazena 00000000 na instância.
String mostraByte(), retorna o valor (em formato de byte) que está armazenado na instância.
boolean set(String), recebe um string como parâmetro e seta a instância com esse valor. Caso esse valor não represente um byte (ex: um byte não pode ter valores diferentes de 0 e 1), o byte deve ser resetado e a função retornar false. Caso o valor tenha sido corretamente setado, a função deve retornar true.
void rotate_right(), função que desloca todos os bits do valor armazenado na instância, uma vez para a direita. O último bit deve ser posicionado na 1ª posição. Ex: O byte 00001111 após a execução desse serviço deve passar a representar 10000111.
A classe BYTE deve ser apenas prestadora de serviços portanto não deverá ter função main().
Desenvolva uma classe de nome Principal que instancie alguns objetos da classe BYTE e teste todos os serviços da classe BYTE que você implementou.
Para aqueles que conseguirem implementar todos serviços básicos acima, tente implementar os seguintes serviços extras:
void rotate_left(), Idem ao rotate_rigth, porém o deslocamento dos bits deve ser feito p/ a esquerda.
BYTE add(BYTE), O método add deve receber uma segunda instância BYTE como parâmetro, somar com o valor da instância armazenada e retornar o valor para um terceira instância.
Ex: BYTE A = new BYTE(); //cria a instância A A.set (“00001111”); BYTE B = new BYTE(); //cria a instância B B.set (“00011110”); BYTE C = A.add(B); /*instância de A é somado com B resultado e armazenado em C */ System.out.princtln(C.mostraByte()); //mostra o resultado do calculo
Como já foi visto na teoria, String é uma classe java. Veja abaixo alguns exemplo de utilização de seus métodos:
Ex: String S = “Teste”; //S é um objeto da classe String int x = S.length(); //retorna o comprimento de S String R = S.substring (1,3);// R receberá “est” char c = S.charAt(0);// c = ‘T’ (caracter 0 de S)