lista ii

5

Upload: unifesptk

Post on 18-Jun-2015

393 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Lista II

Exercıcios

Exercıcio 1 – interface CharSequence

Interface CharSequence – sequencia legıvel de caracteres.Oferece acesso de leitura uniforme para muitos tipos desequencias de caracteres. Metodos declarados:

char charAt(int index)– retorna o caracter no ındiceespecificado; int length() – retorna o tamanho dasequencia de caracteres; CharSequence subSequence(intstart, int end) – que retorna uma nova sequencia decaracteres com uma subsequencia desta sequencia;String toString() – que retorna uma string contendo oscaracteres desta sequencia.

Escreva uma classe que implemente CharSequence. Suaimplementacao deve manipular a sequencia original decaracteres so que invertida. Escreva um metodo mainpara executar todos os metodos implementados. (Obs:utilize um atributo do tipo String)

DCT–UNIFESP | Exerıcios – Interface 2/3

Page 2: Lista II

public class Exercicio01 implements CharSequence {private String cadeia;

public String getCadeia() {return cadeia;

}

public void setCadeia(String cadeia) {this.cadeia = cadeia;

}

public Exercicio01(StringBuffer a){cadeia = new String(a.reverse());

}

public char charAt(int index) {return cadeia.charAt(index);

}public int length() {

return cadeia.length();}

public CharSequence subSequence(int start, int end) {return cadeia.substring(start,end);

}

public String toString (){

return "String ivertida: " + cadeia;}

public static void main(String args) {StringBuffer x = new StringBuffer("teste");Exercicio01 a = new Exercicio01(x);System.out.println("Caracter na posicao 0: "+ a.charAt(0));System.out.println("Tamanho da String: " + a.length());System.out.println("Subsequencia escolhida: " + a.subSequence(1, 3));System.out.println(a.toString());

}}

Page 3: Lista II

Exercıcios

Exercıcio 2 – interface Relacao

Dada a seguinte interface que define classes cujos objetospodem ser comparados:

public interface Relacao {public boolean maiorQue(Object b);public boolean menorQue(Object b);public boolean igualA(Object b);

}

Crie uma classe Linha que implementa essa interface.

Observacao: requer downcast.

DCT–UNIFESP | Exerıcios – Interface 3/3

Page 4: Lista II

public class Linha implements Relacao {private int comprimento;

public Linha(int comprimento){this.comprimento = comprimento;

}

@Overridepublic boolean igualA(Object b) {

if (this.comprimento == ((Linha)b).comprimento)return true;

elsereturn false;

}

@Overridepublic boolean maiorQue(Object b) {

if (this.comprimento > ((Linha)b).comprimento)return true;

elsereturn false;

}

@Overridepublic boolean menorQue(Object b) {

if (this.comprimento < ((Linha)b).comprimento)return true;

elsereturn false;

}

public static void main(String[] args) {Linha a = new Linha(6);System.out.println(a.igualA(new Linha(6)));System.out.println(a.maiorQue(new Linha(4)));System.out.println(a.menorQue(new Linha(1)));

}}

Page 5: Lista II

public interface Relacao {

public boolean maiorQue(Object b);

public boolean menorQue(Object b);

public boolean igualA(Object b);}