Dúvida com replace

Ae pessoal tenho o seguinte código:

[code]public class Replace {
public static void main(String[] args) {
String []ignoradas = {“a”,“e”,“o”};
String titulo = “Java e o Java”;
String [] tit_separado = titulo.split(" ");

    for(int i = 0; i < tit_separado.length;i++){
        System.out.println(tit_separado[i] + " "+ titulo.replace(tit_separado[i], tit_separado[i].toUpperCase()));    
    }
    
 }  
}[/code]

Que produz a seguinte saída:
Java JAVA e o JAVA
e Java E o Java
o Java e O Java
Java JAVA e o JAVA

De certo modo está correto, mas eu necessitava de um outro tipo de implementação, a minha sáida deveria gerar uma sáida assim:
Java JAVA e o java
e Java E o Java
o Java e O Java
Java Java e o JAVA

Tenho a palavra que foi desmembrada do título, e tenho que fazer com que a palavra correspondente a ela do título apareça em maiúscula, não todas as que são iguais, a primeira palavra que aparece é “Java”, então o primeiro “Java” deve aparecer maiúsculo mas o segundo não. E quando for a vez do segundo “Java”, o primeiro aparece normal e o segundo aparece maiúsculo.

Tenho pensado nisso há algum tempo, e não obtive muito sucesso.
Espero a ajuda de todos, e desde já agradeço.
Abraços.

Bom, creio que você deseja uma solução genérica, e não apenas para este problema em específico.
Se for o caso, você poderia utilizar uma variável auxiliar:


String[] var_aux = titulo.split(" ");

E na iteração fazer algo como:

var_aux[i] = tit_separado[i].toUpperCase();

E depois concatenar toda a var_aux novamente:

for (int i = 0; i < var_aux.length; i++) {
    var_aux = var_aux.concat(var_aux[i]);
}

Não é muito eficiente, mas creio que resolve.

[]s