olá galera estou começando no basico do basico de java e preciso fazer um exercico onde, eu receba as “letras” e coloque cada uma delas em um vetor de char, pois não posso dentro da classe usar String, estou tendo altos problemas em criar um construtor onde receba + de uma letra sem que isso seja declarado como string, alguem pode me ajudar? olhem o que eu tinha em mente mais ou menos:
Duvida de interface
8 Respostas
Cara, não entendi direito… o problema quer que você receba um vetor de char como parâmetro e copie pra outro, é isso?
seguinte o objetivo do exercico é criar uma classe basica que faça mais ou menos o que uma classe String faz sacou? eu tenho que receber letras(tanto faze se for 1 por 1 + eu acho que o professor quis dizer receber uma palavra) porem nao posso declarar essa palavra que vai ser recebida como String, então eu pensei em vetor de char[] ou não sei se seria o caso do parametro do construtor receber um “CharSequence”, se eu usasse o vetor de char, no construtor eu precisaria de um laço for? para colocar cada letra em 1 posicao? ou mais ou menos daquele jeito já funcionaria?
resolvendo o meu construtor eu acho que consigo arrumar a logica do ultimo metodo para fazer com que ele me retorne um pedaço da “palavra” que seria o meu vetor no caso
Olá meu amigo, DayWalk3r!
Antes de mais nada, seja bem-vindo ao GUJ!
Com a finalidade de facilitar a leitura do seu código e consequentemente facilitar a vida de quem vem te ajudar, faça uma edição na sua postagem inicial e coloque seu código entre as tags [code] [/code ].
Para isso basta você ir na sua postagem e clicar em EDITAR e na janela selecione o código e clique no botão "Code" que fica logo acima da área da edição da mensagem.
De uma lida nas regras do forum e divirta-se.
Abraço e até mais!
Então, na verdade, não se instancia uma interface; esse pedaço de código aqui
public CharSequence subSequence(int inicio, int fim){
AulaInterface sequencia = new AulaInterface(palavra);
AulaInterface pedaco = new AulaInterface(palavra);
int i;
int cont;
cont = 0;
for(i = inicio; i <= fim; i++){
pedaco.palavra[cont] = sequencia.palavra[i];
cont++;
}
return pedaco;
}
Não vai funcionar, porque a interface não se instancia, você simplesmente usa o implements pra que você implemente na sua classe os métodos que foram somente declarados na interface CharSequence nesse caso.
desculpe o nome da minha classe é meio idiota e pode ter causado confusão + eu não estou instanciando uma interface eu estou instanciando a minha classe que se caham AULAINTERFACE, que nada mais deveria ser do que um vetor de char[], bem eu agradeço a sua resposta mesmo assim acho que vou esperar pela correção mesmo, obrigado pelo seu tempo amigo
esqueçe amigo eu resolvi o problema é que eu estou aprendendo com aquela porcaria de bluej e ainda não sei nem as sintaxes corretas, eu agora passei direitinho o vetor de char para a classe q funciona perfeitamente, muito obrigado a todos, pela atençao
Coloque a solução aqui amigão… Assim sua dúvida pode sanar a de outros…
public class AulaInterface implements CharSequence{
private char[] palavra;
private CharSequence sequencia;
public AulaInterface(CharSequence sequencia){
this.sequencia = sequencia;
}
public AulaInterface(char[] palavra){
this.palavra = palavra;
}
public void setPalavra(char[] palavra){
this.palavra = palavra;
}
public char[] getPalavra() {
return palavra;
}
public int length(){
return palavra.length;
}
public char charAt(int indice){
return palavra[indice];
}
public CharSequence subSequence(int inicial, int fim){
return sequencia.subSequence(inicial, fim);
}
}
isso faz praticamente o que eu precisava ^^