Pessoal tenhu que fazer um programa que recebe uma frase e depois mais duas string uma que tem na frase e outra para colocar no lugar da primeira, ou seja:
Ex: Estou na minha casa
palavra: casa
palavra_ser_trocada: escola
Imprimir: Estou na minha escola
import javax.swing.*;
public class TrocaString{
public static void main (String args[]){
String frase;
String palavra_retirar_frase;//uma palavra que contenha na frase
String palavra_coloca_frase; //uma palavra qualquer
frase=JOptionPane.showInputDialog("Entre com uma frase"); //Ex: Estou na minha casa
palavra_retirar_frase=
JOptionPane.showInputDialog("Entre com uma Palavra que contenha na frase");//Ex: casa
palavra_coloca_frase=
JOptionPane.showInputDialog("Entre com a palavra pra trocar com a Palavra Retirada");//Ex: escola
}
Você não pode usar replace (que aliás não faz o que você quer - replace serve apenas para trocar um caracter por outro, o que normalmente é inútil), mas pode usar replaceAll?
Isso é coisa de escola.
De qualquer maneira, é só chato. Procure saber como é que funcionam os métodos indexOf e substring. Lembre-se que indexOf retorna -1 se não achar, e a posição da palavra procurada, se achar (a posição começa por 0).
1 - com esse metodo vc vai ter onde a palavra começa;
2 - entao vai ter que saber o tamanho da palavra;
3 - pra poder tirar, usando por examplo o replace, passando a palavra nova;
4 - ou vc pode dar uma lida como usar o regex da API.
Hum, eu ia tomar pau na certificação. De fato, há um método replace (CharSequence, CharSequence) que troca uma seqüência fixa por outra seqüência fixa - ela apareceu no Java 5.0.
Obrigado pela ajuda de todos vcs… Mas a segunda do pedrosa foi a que mais me ajudou…Devo uma original pra ele…rs… Pedrosa vc pode me explicar o que faz esses comandos ?
[quote=dnsmaster]Obrigado pela ajuda de todos vcs… Mas a segunda do pedrosa foi a que mais me ajudou…Devo uma original pra ele…rs… Pedrosa vc pode me explicar o que faz esses comandos ?
1 Primeiramente o if do contains verifica se a ocorrencia a ser trocada existe na sua frase.
2 Faço um um substring de 0 ate posição da String a ser retirada e concateno a nova String
3 Monto o resto da frase com outro substring a partir da posição da String a ser retirada que caso foi substituida + tamanho desse String até o fim note que nesse substring nao coloco a posição final pois não preciso por que vai ate fim.
Estude a classe String e Expressão Regular que em muitos casos pode salvar sua pele!
Para ficar bem mais simples esse problema, seria usar o StringBuiler(or Buffer).
Usuaria os metodos delete e insert (apos achar a subString), na hora de modificar a frase.
8)
To iniciando java agora, mas a resposta do ddmizu, é muito de boa.
Pedi pra digitar uma frase com o nome do usuario e troquei o nome do cara por outra coisa. (Pra teste)
Tranquilo demais o frase.replace!
Dá pra ficar mais simples que isso? haha
[quote=renanpontez]To iniciando java agora, mas a resposta do ddmizu, é muito de boa.
Pedi pra digitar uma frase com o nome do usuario e troquei o nome do cara por outra coisa. (Pra teste)
Tranquilo demais o frase.replace!
Dá pra ficar mais simples que isso? haha
Vlw :)[/quote]
Mais simples que isso impossível. Mas pessoal, mas tomem cuidado. Para trabalhos de faculdade é bem possível que o seu professor esteja interessado que você desenvolva o algoritmo para fazer a substituição. Usar API pronta nestes casos é pedir pra tomar bomba.