Estou iniciando em java e gostaria de saber como faço para parte da frase “Noite Feliz” fique em maiuscula e parte em minuscula.
Ex: noite feLIZ (fique dessa forma)
System.out.println(stringParaMaiuscula("Noite Feliz", 8, 11));
/*
* @int inicio, De onde vai começar a ficar maiúsculo
* @int fim, Até onde vai ficar maiusculo
*/
public String stringParaMaiuscula(String string, int inicio, int fim)
{
String minuscula = string.toLowerCase();
String subString = minuscula.substring(inicio, fim);
return minuscula.replaceFirst(subString, subString.toUpperCase());
}
Amigo eu tentei mas não esta imprimindo da forma que gostaria. No trecho … ```
minuscula.substring(inicio, fim); o substring recebe dois parâmetros, e no seu codigo tem inicio e fim.
Como quer que funcione?
Parte da frase fique em minuscula e parte maiuscula… noite felIZ <— assim
É exatamente o que o código acima faz.
Se vc tentou mas não está funcionando, então coloque o seu código, senão não tem como saber o que está errado.
System.out.println(stringParaMaiuscula("Noite Feliz", 8, 11));
Exemplo, ele joga a frase toda pra caixa baixa
depois, começando do oitavo caracter, até o décimo primeiro ele joga para caixa alta.
se mudar os valores de inicio e fim, ele dá outros resultados.
System.out.println(stringParaMaiuscula("Noite Feliz", 3, 8));
imprime: noiTE FEliz
Acho que assim ficou melhor.
public String stringParaMaiuscula(String string, int inicio)
{
return stringTratada(string, string.substring(inicio));
}
public String stringParaMaiuscula(String string, int inicio, int fim)
{
return stringTratada(string, string.substring(inicio, fim));
}
private String stringTratada(String string, String subString)
{
return string.toLowerCase().replaceFirst(subString.toLowerCase(), subString.toUpperCase());
}
System.out.println(stringParaMaiuscula("Noite Feliz", 8, 11)); // noite feLIZ
System.out.println(stringParaMaiuscula("Noite Feliz", 3, 8)); // noiTE FEliz
System.out.println(stringParaMaiuscula("Noite Feliz", 6)); // noite FELIZ
ESSE É O MEU CODIGO
O QUE ESTOU FAZENDO DE ERRADO?
package exer01;
public class toUpperCase {
public static void main(String[] args) {
System.out.println("-----------------------------------------");
resultFrase("Noite Feliz");
System.out.println("------------------------------------------");
}
public static void resultFrase(String nome) {
System.out.println(nome.substring(0, 7).toLowerCase().replaceFirst(nome, nome.substring(7, 10)));
}
}
package exer01;
public class toUpperCase {
public static void main(String[] args) {
System.out.println(“-----------------------------------------”);
resultFrase("Noite feliz");
System.out.println(“------------------------------------------”);
}
public static void resultFrase(String nome) {
System.out.println(nome.substring(0, 7).toLowerCase().replaceFirst(nome, nome.substring(7, 10)));
}
}
Já foi postado a solução pra você, seu erro é que você não está fazendo igual lhe foi passado.