Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Exercicio 13 capitulo java.lang Curso Java e Suas Bibliotecas

Pessoal, como posso fazer para na minha classe de teste poder chamar a classe com o metodo de invertePalavrasDaFrase? Na minha classe de testes é acusado o seguinte erro:

The method invertePalavrasDaFrase is undefined for the type String.

Segue as classes abaixo:

Classe de teste:

public class TestaCharAt { public static void main(String[] args){ String nome = "anotaram a data da maratona";

nome.invertePalavrasDaFrase(nome);

for (int i = nome.length()-1; i >= 0 ; i--){ System.out.println(nome.charAt(i));

} }

}


Classe com o metodo:

package br.com.empresa.banco;

public class TestaPalavras {

public void invertePalavrasDaFrase(String nome) { String[] palavras = nome.split(" "); for (int i = palavras.length - 1; i >= 0; i--) { System.out.print(palavras[i] + " "); } System.out.println(""); } }

5 respostas

Olá Rafael, quando for postar código põe entre 3 sinais de crase(`) no inicio e no fim do código que ele fica formatado e mas fácil de visualizar. Pra você chamar um método de uma outra classe é preciso ter uma referência da mesma. ou seja na tua classe de teste TestaCharAt dentro do método main mesmo, você instancia um objeto da classe TestaPalavras : TestaPalavras testaPalavras = new TestaPalavras(); daí é só chamar o método passando a sua String. testaPalavras.invertePalavrasDaFrase(nome);

solução!

Rafael,

Da forma como você colocou o código, você está tentando dizer ao compilador que invertePalavrasDaFrase é um método da classe String, pois você está fazendo:

nome.invertePalavrasDaFrase(nome);

Na verdade você deveria fazer:

TestaPalavras tp = new TestaPalavras; nome = tp.invertePalavrasDaFrase(nome);

Isso deve resolver.

Abraço, Sandro

É exatamente o que o Sandro falou.

Obrigado pessoal, era isso mesmo.

Ei, veja qual resposta mais te ajudou, e marque como solução, assim da uma forcinha pro cara =).