alguem conhece algum método bem simples para transformar a primeira letra de uma string em maiúsculas?
variavél
String s = "silva";
saida desejada
String saida = "Silva";
alguem conhece algum método bem simples para transformar a primeira letra de uma string em maiúsculas?
variavél
String s = "silva";
saida desejada
String saida = "Silva";
tem que pegar a primeira letra e usar o metodo, acho que é uppercase…
vou verificar, e ver se faço algum código.
[code]
public class Maiuscula {
public String silva=“silva”;
public String posicao="";
public Maiuscula() {
posicao= “”+silva.charAt(0);
String pos=posicao.toUpperCase();
System.out.println(“posicao”+posicao);
System.out.println(“posicao”+pos);
}
public static void main(String[]args) {
new Maiuscula();
}
}[/code]
Eu pensei que o java já tivesse algo pronto.
deve have algo com menos código.
hum, acho que não , hein?
mas não é tanto assim…
porque vc acha que tem coisa menor… ??? e para que?
É que tem classes prontas para trabalhar com String e isso é algo bem simples para se pensar pensei que já estivesse encapsulado em algum método.
Mas beleza.
Vlw pela força.
agora mais completo, aí com este estudo , da de fazer o metodo que recebe a string, entao para toda string, acontecerá isto…
[code]
public class Maiuscula {
public String silva=“silva”;
public String posicao="";
String mais="";
public Maiuscula() {
posicao= “”+silva.charAt(0);
String pos=posicao.toUpperCase();
String tudo=pos;
int tamanho=silva.length();
for(int i=1;i<silva.length();i++){
mais=mais+silva.charAt(i);
}
tudo=pos+mais;
System.out.println(“posicao:”+posicao);
System.out.println(“posicao:”+pos);
System.out.println(“tamanho:”+tamanho);
System.out.println(“tudo:”+tudo);
}
public static void main(String[]args) {
new Maiuscula();
}
}[/code]
aí criado o método, é só usar e será como se fosse bem pequeno, como vc falou…
ok? :roll:
uma com metodo:
[code]
public class Maiuscula {
public String silva=“silva”;
public String posicao="";
String mais="";
public Maiuscula() {
}
public Maiuscula(String silva) {
posicao= ""+silva.charAt(0);
String pos=posicao.toUpperCase();
String tudo=pos;
int tamanho=silva.length();
for(int i=1;i<silva.length();i++){
mais=mais+silva.charAt(i);
}
tudo=pos+mais;
System.out.println("tudo:"+tudo);
}
public static void main(String[]args) {
new Maiuscula("raghy");
new Maiuscula("alfredo");
}
}[/code]
aí talvez o ideal seja, separar por espaço, uma nova maiuscula. :shock: :roll:
agora fiz a obra-prima completa… o método funcionando perfeitamente, se não existia, agora existe… hihi 8)
[code]
public class Maiuscula {
String silva="";
String posicao="";
String mais="";
String tudo="";
String maiuscula2="";
public Maiuscula() {
}
public Maiuscula(String silva) {
posicao=""+silva.charAt(0);//pega a primeira letra que sera maiuscula
String pos=posicao.toUpperCase(); //transforma em maiuscula
int tamanho=silva.length();//ve o tamanho da frase
for(int i=1;i<silva.length();i++){ //coloca o for de acordo com o tamanho
mais=mais+silva.charAt(i); //acrescenta as letras
if( silva.charAt(i) == ' '){ //se houver um espaço a próxima vai ser transformada em maisucula.
String maiuscula=""+silva.charAt(i+1);//pega a próxima apos o espaço
maiuscula2=maiuscula.toUpperCase(); //transforma em maiuscula.
mais=mais+maiuscula2;//acrescenta a maiuscula a palavra completa, que se chama mais
i=i+1; //soma um, pois uma letra minuscula foi substituida e ja foi acrescentada
} } tudo=pos+mais;
System.out.println("tudo:"+tudo);
}
public static void main(String[]args) {
new Maiuscula("raghy");
new Maiuscula("alfredo");
new Maiuscula("raghy jose sobierajski rebelo");
new Maiuscula("Agora posso escrever frases enormes em minusculas que serao passadas a primeira letra para maisucula");
}
}[/code]
run-single:
tudo:Raghy
tudo:Alfredo
tudo:Raghy Jose Sobierajski Rebelo
tudo:Agora Posso Escrever Frases Enormes Em Minusculas Que Serao Passadas A Primeira Letra Para Maisucula
EXECUTADO COM SUCESSO (tempo total: 2 segundos)
:lol: :shock: :roll:
[quote=Algebra]alguem conhece algum método bem simples para transformar a primeira letra de uma string em maiúsculas?
variavél
String s = "silva";
saida desejada
String saida = "Silva";
[/quote]
saida = s.substring(0,1).toUpperCase() + s.substring(1);
Uma opção é utilizar o apache commons language.
http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/WordUtils.html
WordUtils.capitalize(“joão de souza”) = “João De Souza”
Abraço
[quote=Algebra]alguem conhece algum método bem simples para transformar a primeira letra de uma string em maiúsculas?
variavél
String s = "silva";
saida desejada
String saida = "Silva";
[/quote]
E ai Algebra blz… faça algo como:
//a String de Entrada
String teste = “silva” ;
//pega a posição da primeira letra da String
String saida1 = teste.substring(0, 1).toUpperCase();
//pega a posição das outras letras após a primeira
String saida2 = teste.substring(1);
// concatena tudo isso e mostra a saida
System.out.println("#################################" + saida1.concat(saida2));
Implementei esta. Testa aí…
public class Maiuscula {
public static void main(String[] args) {
String nome = "Agora posso escrever frases enormes em minusculas que serao passadas a primeira letra para maiuscula";
System.out.println(iniMaiuscula(nome));
}
public static String iniMaiuscula(String value) {
String result = "";
String[] nomes = value.split(" ");
for(String palavra : nomes){
result = result + " " + palavra.replaceFirst(palavra.substring(0, 1), palavra.substring(0, 1).toUpperCase());
}
return result.trim();
}
}
[quote=Flavio Almeida]Uma opção é utilizar o apache commons language.
http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/WordUtils.html
WordUtils.capitalize(“joão de souza”) = “João De Souza”
Abraço
[/quote]
Era isso que eu estava me referindo, o algoritmo é facil pensar, eu gostaria de saber se existia alguma classe que faz isso que o Flavio citou acima.
Obrigado pessoal.
interessante este método, do flavio,
mas aqui nao funcionou…
C:\Documents and Settings\raghyjose\Testes2\src\testes2\Maiuscula.java:53: cannot find symbol
symbol : variable WordUtils
location: class testes2.Maiuscula
WordUtils.capitalize("joão de souza") = "João De Souza";
1 error
FALHA NA EXECUÇÃO (tempo total: 2 segundos)
o que falta?
[quote=raghy]interessante este método, do flavio,
mas aqui nao funcionou…
C:\Documents and Settings\raghyjose\Testes2\src\testes2\Maiuscula.java:53: cannot find symbol
symbol : variable WordUtils
location: class testes2.Maiuscula
WordUtils.capitalize("joão de souza") = "João De Souza";
1 error
FALHA NA EXECUÇÃO (tempo total: 2 segundos)
o que falta?
[/quote]
[quote=novato25]Implementei esta. Testa aí…
[code]
public class Maiuscula {
public static void main(String[] args) {
String nome = "Agora posso escrever frases enormes em minusculas que serao passadas a primeira letra para maiuscula";
System.out.println(iniMaiuscula(nome));
}
public static String iniMaiuscula(String value) {
String result = "";
String[] nomes = value.split(" ");
for(String palavra : nomes){
result = result + " " + palavra.replaceFirst(palavra.substring(0, 1), palavra.substring(0, 1).toUpperCase());
}
return result.trim();
}
}
[/code][/quote]
novato25, seu método pode ser substituído pelo WordUtils.capitalize do commons language do Apache. A idéia é fazer com que ele possa excluir as preposições.
System.out.println(StringUtils.capitalize(“palavra”));
Result: Palavra