lista ii
TRANSCRIPT
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
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());
}}
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
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)));
}}
public interface Relacao {
public boolean maiorQue(Object b);
public boolean menorQue(Object b);
public boolean igualA(Object b);}